You are here:
Automate Data Delivery with Activation-Triggered Flows
Connect Data 360 activations to external systems automatically using MuleSoft for Flow Integration connectors or an HTTP callout action.
Required Editions
| View supported editions. |
| User Permissions Needed | |
|---|---|
| To create, edit, save, delete, and activate an activation-triggered flow | Legacy Data Cloud Marketing Admin OR Data Cloud Activation Manager OR Data Cloud Architect OR Data Cloud Activation Specialist OR Manage Flow OR All of these permissions:
|
You can connect to an external destination system using activation triggered flows in two ways:
- MuleSoft Connectors: MuleSoft connectors are available within Flow Builder. When configuring an action in your flow, you can select from these connectors. To view the supported actions, see Third-Party Connectors.
- External Services (HTTP Callout): You can connect via an HTTP callout, which uses existing Salesforce platform capabilities such as External Services and Named Credentials. Before creating the flow, set up a Named Credential using the platform's capability to configure the API endpoints and authentication details for the external system. When adding an action in your flow, select the Create HTTP call out option and then select the Named Credential you previously set up. To learn more about creating and managing external services, see Register an External Service.
To create an activation-triggered flow, you must create an activation for a segment or create an activation for batch DMO in Data 360. Activation-triggered flows support only the Data 360 activation target type.
Activation-triggered flows support the following authentication methods when connecting with other API-based destinations:
- OAuth 2.0
- Authorization Code Flow—recommended for apps where the user interaction is through a web browser.
- Client Credentials Flow—recommended for server-to-server interactions without user involvement. Handshakes between Salesforce and the target external system for obtaining and refreshing tokens must be standards-compliant to use Client Credentials.
- Basic Authentication—user provides a user name and password.
- API Keys—API access by providing a unique key in the HTTP request.
See Considerations for Activation-Triggered Flows for more information about authentication.
- Create the Flow
Create an activation-triggered flow. - Troubleshoot and View Flow Metrics and Reports
Set up your org to view metrics and reports for activation-triggered flows so that you can monitor and troubleshoot flow runs. - Considerations for Activation-Triggered Flows
View more considerations for activation-triggered flows.
See Also
Create the Flow
Create an activation-triggered flow.
- Go to the Flows tab from the Automation app, and click New.
- Search for and select Activation-Triggered Flow.
-
From the Activation Library, select the Data 360 activation that
triggers the flow.
Activation-triggered flows support only activations created with Data 360 as the activation target type. Although the list of available activations in Flow Builder may show activations with other target types like Marketing Cloud, selecting one that isn't of the Data 360 target type causes an error when you try to save the flow. You must know in advance that the activation you select has the Data 360 target type.
- In the Start element, optionally configure exit rules and reentry conditions. Exit rules end a flow if it meets certain conditions. Exit rules are useful for situations where a user's circumstances change over time. Reentry conditions determine if a user is eligible to reenter the same flow.
-
Click
, and select Action.
-
In the search panel, select an Action Group. Select either a
Connector or select Other to create an HTTP
Callout (external service).
- To use a MuleSoft Connector, select a connector and configure the connection details or select an existing connection.
- To use an External Service, select an existing External service or Create HTTP Callout by selecting the pre-configured Named Credential and using PUSH / PUT method along with the API endpoint URL and the sample JSON request.
- To use an API activation, add a Send to Data 360 Activation element. You can add multiple Send to Data 360 Activation elements to a flow.
-
Specify an action and map the fields required by the external system to the data
available from the triggering activation data.
You can map activation data up to 5 levels deep for related attributes.
- To use activation data related attributes, you must first transform the related attributes into a supported type, like an Apex class or object. For example, if your external service requires an Apex class, use a transform or assignment element to create an Apex mapping.
- To identify the Apex type required for the action, create a resource. In the New Resource window, copy the existing value in the Apex Class field. After copying the value, cancel or close the window.
- Add a transform element before the action element.
- In the transform element, select $ActivationData as the data source and select Apex-Defined for the target data's data type. Paste the Apex Class value into the Apex Class field. Click Create.
- Configure the rest of the flow.
- Activate the flow.
Troubleshoot and View Flow Metrics and Reports
Set up your org to view metrics and reports for activation-triggered flows so that you can monitor and troubleshoot flow runs.
If you encounter unexpected behavior:
- Check the publish status of the segment that was used to create the Data 360 activation.
- If the segment publish status is Success, verify the Segment count and the corresponding Activation count in the “Publish History” table of Segment UI in Data 360 or the “Activation History” table in Activation UI of Data 360.
- If the publish status for the segment and activation count is Success, then the corresponding activation should trigger the activation-triggered flow.
- After an activation triggers an activation-triggered flow, but before the flow itself finishes executing, we create a flow version occurrence record. As the flow runs, the flow version occurrence record tracks entries, exits, and errors for a specific flow version.
- When viewing an activation-triggered flow in Flow Builder, you can select individual elements on the canvas and see metrics for that element.
To view the details of your flow runs, you can also create a Flow Element Run report. Activation-triggered flows require you to deploy data streams for the FlowRun and FlowElementRun DMO. These data streams enable flow run history logging. Flow run history is queryable and can help you understand the details of your flow runs, and help troubleshoot any issues.
- Install the Salesforce Data Cloud - Flow Integration package for all users.
- In the Data 360 app, select the Data Streams tab and click New.
- In the New Data Stream window, select Installed Data Kits & Packages and click Next.
- Select Data Cloud Flow from the Data Kits list
- Select the checkbox next to Flow_Ingestion to select all data streams, and then click Next.
- For the Connector Name, select New Connector.
- Enter Flow Run Ingestion as the connector name and click Save.
- Click Next to advance through the steps until you're able to deploy the data stream, and then click Deploy.
- Next, deploy the Flow Record streams. From Setup, in the Quick Find box, enter Permission Sets and then select it.
- Click the Data Cloud Salesforce Connector permission set.
- In the Apps section, click App Permissions.
- In the Flow and Flow Orchestration section, select View Flows and then click Save and confirm.
- In the Data 360 app, select the Data Streams tab and click New.
- In the New Data Stream window, select Salesforce CRM and then click Next.
- In the Custom Bundles section, select Flows, and then click Next.
- Click Next to advance through the steps until you're able to deploy the data stream, and then click Deploy.
- To create a report, in the Data 360 app, navigate to the Reports tab and click New Report.
- In the Data Cloud category, select Flow Element with Flow Element Run and then click Start Report.
-
In the Outline tab, add these columns:
- Flow Element: Info - Name
- Flow Element: Info - Flow Version
- Flow Element: Info - Error Reason
- Flow Element: Info - Error Description
- Flow Element Run: Info - Scheduled DateTime
- Flow Element Run: Info - Completed DateTime
- In the Filters tab, add a blank filter with the equals operator for Flow Version.
- Click Save.
- To get the flow version ID that's required for the report filter, in the Automation Lightning app, select the activation-triggered flow.
- In the Related tab, select the relevant flow version.
-
In the address bar of your browser, copy the flow version ID. The ID begins with
10v. - In the report you created earlier, paste the flow version ID into the filter, and click Apply.
Considerations for Activation-Triggered Flows
View more considerations for activation-triggered flows.
Rate Limit Considerations
The rate limit for activation-triggered flows depends on your license. Rate limits are measured in actions per hour. Actions are defined by the execution of a single path of a flow, including when the flow starts, and when the flow resumes. Flows resume after waiting for something to occur, such as a wait element duration expiring or receiving an engagement event.
For example, a flow with no wait elements executes in one action. A flow with a wait element executes in two actions, with the first action including everything up to the wait element, and the second action including everything after the flow resumes.
In addition to the action-per-hour limit, there’s a concurrency limit that determines the number of flow runs executed per hour. In general, the total concurrency limit is split evenly between any running flows.
| Execution Limit | Concurrent Threads |
|---|---|
| 150,000 actions per hour | 2 |
| Starter: 1,000,000 actions per hour | 14 |
| Marketing Cloud, Data 360: 15,000,000 actions per hour | 210 |
Use the formula (actions per hour * time to execute in seconds) / 3600 = required
concurrency per hour to determine if your flow exceeds the concurrency limit
required to maximize its actions per hour.
For example, an org provisioned with 15 million actions per hour has a flow with a single
action that takes an average of 40 milliseconds to execute. (15,000,000 * 0.04) /
3600 = 167. Since 167 is below the concurrency limit of 210, then the flow can
execute 15,000,000 actions per hour.
If another flow has a single action but takes an average of 150 milliseconds to execute due
to an external service action, then use the formula (15,000,000 * 0.15) / 3600 =
625. Since 625 is greater than the concurrency limit of 210, the flow can execute
approximately 5,000,000 actions per hour if it uses all 210 threads.
The last limiting factor is the flow’s error rate. Error rates count only retryable errors. Flow elements that fail more than 2.5% of the time trigger additional rate limiting. The concurrency limit is adjusted until error rates consistently remain below 2.5%. These adjustments help protect downstream services, like external services. Error rates are likely the most common limiting factor that affects a flow’s ability to execute its maximum actions per hour.
Flows that require real-time responses, such as form submissions, SMS sign-ups, 2-way SMS messages, and high priority transaction emails, have a 50% additional allowance to the concurrency limit. For example, if you have a concurrency limit of 210, then flows that require real-time responses can access an additional 105 concurrent requests (210 * 1.5 = 315).
Authentication Considerations
Activation-triggered flows support two OAuth 2.0 authentication flows.
- Authorization Code Flow
- Purpose: Primarily used for applications where user interaction through a web browser is expected or required.
- Process:
- The user is redirected to the external app’s authorization server to authenticate and authorize the application.
- Upon successful authorization, an authorization code is returned to Salesforce via a redirect URI.
- The application exchanges this authorization code for an access token, which Salesforce refreshes when needed.
- Use Case: Best suited for web applications and applications needing high security, especially in cases that require Per User access.
- References:
- Client Credentials Flow
- Purpose: Suitable for server-to-server interactions where no user is involved.
- Process:
- The client application sends a request directly to the external app’s token endpoint, including its client ID and client secret.
- The external app returns an access token that can be used to authenticate API requests.
- Use Case: Ideal for backend services or applications accessing resources on behalf of themselves rather than a user.
- References:
- Considerations: Handshakes between Salesforce and the target external system for obtaining and refreshing tokens must be standards-compliant to use Client Credentials. Certain providers that don’t exhibit standards-compliant behaviors aren't supported.
Activation-triggered flows support additional forms of authentication:
- Basic Authentication
- Purpose: A straightforward method for client-server communication.
- Process:
- The client sends HTTP requests with the username and password encoded in base64 within the request header.
- The server decodes and verifies the credentials before granting access.
- Security Considerations: Basic auth should be used with caution and always over HTTPS to encrypt the credentials and ensure that they are not exposed during transmission.
- References:
- API Keys
- Purpose: Enables simple API access by embedding a unique key in the HTTP request.
- Process:
- Salesforce includes the API key as part of the HTTP requests—typically in a header—to authenticate with the service.
- The server validates the API key before processing the request.
- Use Case: Convenient for integrating systems where ease of use is a priority over complex security requirements.
- References:
- There’s no industry standard or spec for API keys. Examine the external app’s documentation closely to determine the level of fit with what Salesforce supports.
- Use API Keys in Custom Headers with Named Credentials
Other Considerations
You can’t package Data 360 metadata, such as activations, in the same package as non-Data 360 metadata. To package a Data 360 activation with a flow, use 2 packages.

