Flow actions
Continuous Control ships twelve invocable actions for Flow Builder, each under the Continuous Control category with its own icon. They cover everything the sync cards do, plus any call you build yourself.
How the actions behave
Every action fires and tracks. It validates its input, starts a sync run, and returns right away with the run id and a status of Queued. If the run can't start, for example a booking with no contract, it returns Error with a message instead.
The sync itself finishes asynchronously. The run record carries the outcome, and a failure raises the standard notifications.
Actions are safe to call from record-triggered flows. They query and enqueue work without touching the record that triggered them.
When a flow sends many records at once
A record-triggered flow can fire for hundreds of records in one save, for example a data load or a billing batch posting invoices. The actions handle that without slowing or failing the save.
- One record starts right away, as described above. You get the run id, or
Errorwith the reason. - Several records start in the background, one after another. Each gets
Queuedwith no run id yet, and its run appears on the Sync Runs tab within moments. - A record that's already syncing, or listed twice, comes back as
Errorstraight away. - A record that can't start in the background, such as an order with no contract, gets a Failed run that explains why. Check the Sync Runs tab for those.
- If your flow fires because Continuous Control updated a record's sync status, the action returns
Errorwith "Skipped: this change came from a Continuous Control writeback". That stops a sync from triggering itself. - Until the prebuilt calls are deployed in step 6 of the Connection wizard, every action returns
Errorsaying which call isn't set up yet. In the background, that record gets a Failed run with the same message.
Action reference
| Action label | Input | Starts |
|---|---|---|
| Book Order to NetSuite | Order Id (required) | An Order Booking run for the full order graph, amendments included |
| Sync Order Lines to NetSuite | Order Product Id (required) | An Order Line Sync. It sends the line's Delivered, Fulfilled, their dates and % Complete, then updates the contract's obligations. Lines of one order share one run. See below |
| Sync Invoice to NetSuite | Invoice Id (required) | A single-invoice sync. You can re-sync an invoice that already synced |
| Sync Invoice Batch Run to NetSuite | Invoice Batch Run Id (required) | A chunked sync of the batch run's posted invoices and credit memos |
| Sync Credit Memo to NetSuite | Credit Memo Id (required) | A single credit-memo sync with its applications |
| Sync Payment to NetSuite | Payment Id (required) | A payment sync with application mirroring |
| Sync Payment Batch Run to NetSuite | Payment Batch Run Id (required) | All processed payments since the batch run started |
| Sync Refund to NetSuite | Refund Id (required) | A customer-refund sync against open credits |
| Sync Product to NetSuite | Product Id (required) | A standalone product or item sync |
| Sync Account to NetSuite | Account Id (required) | A standalone customer sync: the account, its contacts, and addresses from the address nodes |
| Refresh POBs from NetSuite | Contract Id (required) | A mirror-only POB refresh. NetSuite isn't touched |
| Run NetSuite Call | Call Key, required · Record Id, required | A run of a call you've built yourself. Find the call key in the mapping editor's toolbar once you select the call. Pointing this action at one of the nine built-in calls returns an error naming the dedicated action to use instead |
Sync Order Lines to NetSuite
Use this action to send delivery, fulfillment and progress from a booked order without booking it again. It takes one Order Product per request. The lines of one order go in one run, so a flow that saves 200 lines of an order starts one sync.
Each result carries the Order Product Id, the Order Id, the Sync Run Id, a Status of Queued or Error, and a Message. Every line of one order gets that order's result. When one order is sent, it starts right away and returns its run id. When several orders are sent, they start in the background and the run id is empty.
It returns Error when the order isn't booked yet, or while a booking of that order is running. A flow recipe is in Placing the components.
Wiring a record-triggered flow
Here's the canonical example: a hands-free invoice sync on posting.
- Record-triggered flow on Invoice, after save, when
StatusbecomesPosted. - Add action → category Continuous Control → Sync Invoice to NetSuite, passing
{!$Record.Id}. - Optionally store the returned run id on the record or post it to Chatter for traceability. The id is empty when many invoices post in the same save; their runs are on the Sync Runs tab.
The same pattern fits order activation with Book Order, delivery updates with Sync Order Lines, and scheduled POB refreshes per contract.