Skip to main content

Run an autolaunched Flow from a Payload

Run an active autolaunched Flow inside an Action sequence and publish supported outputs.

Run an autolaunched Flow from a Payload

Add a Flow Action when part of the integration should use an active autolaunched Salesforce Flow. Payloads maps values into the Flow, runs it at that point in the sequence and exposes the outputs you select to later Actions.

This is the reverse of starting a Payload from Flow: here, the Payload calls the Flow.

Prepare the Flow

Create and activate an autolaunched Flow. Mark the variables that Payloads should supply as available for input, and mark the results it should receive as available for output.

Use supported primitive variables, such as Text, Boolean, Number, Currency, Date or Date/Time, including supported primitive collections. Record and Apex-defined variable contracts are not supported by this Action editor. Pass record identifiers or individual values when those fit the Flow's task.

Review the Flow's DML and callouts before placing it in a sequence. A Flow that writes records can affect whether a later callout is possible.

Add and configure the Action

  1. Select a plus button at the required position and choose Flow.

  2. Select the active autolaunched Flow.

  3. Enter a descriptive Action Name. The input mapping controls remain disabled until a name is entered.

  4. For each input, select Value Source and map the value. Use Payload Data for an earlier Action's output, or another supported source shown in the editor.

  5. Under Outputs, select Publish for each result later Actions need.

  6. Give each published result a clear Output Name and select Save.

The editor identifies unsupported variables. Do not assume that every variable in the Flow can be mapped or published.

For a static collection, use the Static Collection (JSON) field with a JSON array of values of the expected type. For example, a Text collection can use ["Standard", "Priority"]. A scalar input needs one value, not an array.

A Flow Action mapping an HTTP Request message into the Flow and publishing its result.

The saved Flow Action lists its input mapping and the output available to later Actions.

Consume the result

Add or open a later Action. Set its mapping to Payload Data, select the Flow Action and choose the published output.

For example, an inbound sequence can read HTTP Request data, query an Account, call a Flow to calculate a response value, then map that published value into HTTP Response. Keep the response after the Flow for synchronous processing.

The selected Action's detail view shows its Flow, input mappings and published outputs. Use its Edit control to revise mappings. If a later Action depends on an output, update that dependency before removing the output.

Test the actual sequence

Test with the same entry point and user context that will run the integration. Open the Job and inspect the Flow Action's recorded inputs, outputs and error, if any.

A completed Job showing the Flow input and published output.

Select the Flow Action on the Job to compare the values supplied and returned.

Check empty values, type conversions and collections as well as the normal case. Confirm any Salesforce record changes separately. Payload rollback does not undo side effects already made in an external system.

Actions containing Flows have entry-point-specific execution restrictions. In particular, the general Flow invocable runner rejects Batchable execution for Actions Payloads containing a Flow or Target. See Understand Action order and execution limits.

Did this answer your question?