---
schema_version: "1"
id: ed5fb76f634728517d8e3dbe3b9b8c9a77ef56f1b877143c95ccb542314bd6ac
title: Automate Data Delivery with Activation-Triggered Flows
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/automate_flow_build_create_activation_triggered_flow.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_create_activation_triggered_flow.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 67909a8889c842c7dcba0a5a87295032ff2202324896e2d877af08269790ae11
description: Connect Data 360 activations to external systems automatically using MuleSoft for Flow Integration connectors or an HTTP callout action.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# 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

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=platform.flow_ref_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the editions and user interfaces that support Flow Builder. Some Flow Builder features integrate with other Salesforce products that require additional licenses.">View supported editions.</a></td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
          <colgroup>
            <col style="width:50%">
            <col style="width:50%">
          </colgroup>
          <thead class="slds-text-title_caps ">
            <tr class="">
              <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="vertical-align:top;" id="d208985e66">User Permissions Needed</th>
            </tr>
          </thead>
          <tbody>
            <tr class="">
              <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d208985e66 ">To create, edit, save, delete, and activate an activation-triggered flow</td>

              <td class="slds-cell-wrap" style="vertical-align:top;" headers="d208985e66 ">
                <p> Legacy Data Cloud Marketing Admin </p>
                <p>OR</p>
                <p>Data Cloud Activation
                  Manager</p>
                <p>OR</p>
                <p>Data Cloud Architect</p>
                <p>OR</p>
                <p>Data Cloud Activation
                  Specialist</p>
                <p>OR</p>
                <p>Manage Flow</p>
                <p>OR</p>
                <p>All of these
                  permissions:</p>
                <ul>
                  <li>Activate or Deactivate Flows</li>

                  <li>Create or Edit Flows</li>

                  <li>Create or Modify Activation-Triggered Flows</li>

                  <li>View Flows</li>

                  <li>Read on Activation Definition, Activation Target, Activation Target Platform
                    Definition, Data Model Field, Data Space, and Data Space Definition</li>

                  <li>Read and View All Records on Data Model Object, Data Model Taxonomy, Data
                    Object Category, Market Segment Definition </li>

                </ul>
              </td>

            </tr>
          </tbody>
        </table>

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](https://help.salesforce.com/s/articleView?id=platform.automate_flow_ref_third_party_connectors.htm&type=5&language=en_US).
- 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](https://help.salesforce.com/s/articleView?id=platform.external_services_schema.htm&type=5&language=en_US).

To create an activation-triggered flow, you are required to [create an activation for a segment](https://help.salesforce.com/s/articleView?id=data.c360_a_create_data_cloud_activation.htm&language=en_US&type=5) or [create an activation for batch DMO](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_dmo_activation.htm&type=5&language=en_US) 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 are required to 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](https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_create_activation_triggered_flow.htm&release=264.0.0&type=5)**  
    Create an activation-triggered flow.
- **[Troubleshoot and View Flow Metrics and Reports](https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_create_activation_triggered_flow.htm&release=264.0.0&type=5)**  
    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](https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_create_activation_triggered_flow.htm&release=264.0.0&type=5)**  
    View more considerations for activation-triggered flows.

#### See Also

- [Create a Data 360 Activation for a Segment](https://help.salesforce.com/s/articleView?id=data.c360_a_create_data_cloud_activation.htm&type=5&language=en_US)
- [Create a Batch DMO Activation in Data 360](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_dmo_activation.htm&language=en_US)
- [Connecting to an API Without a Connector Using HTTP Callout](https://help.salesforce.com/s/articleView?id=platform.flow_http_callout.htm&release=264.0.0&type=5 "Use HTTP Callout to connect flows to external APIs without coding, eliminating the need for developers or middleware tools. Flow Builder automatically generates external service registrations and Apex classes when you configure the action. Use the API response data as input in Salesforce.")

## Create the Flow

Create an activation-triggered flow.

1. Go to the Flows tab from the Automation app, and click **New**.
2. Search for and select **Activation-Triggered Flow**.
3. 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, 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.
4. 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.
5. Click ![Plus icon used to add an element or action.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/platform_automation/images/flow/automate_flow_build_example_update_records_send_reminders/automate_flow_build_example_update_records_send_reminders_plus.png), and select **Action** or select another element.
    - To use a MuleSoft connector, select **Action**, and in the Actions panel, select the **Connector** action group. Select a connector, and then configure the connection details or select an existing connection. For External Services,
    - To use an external service, select **Action**, and in the Actions panel, click **Create HTTP Callout**. See [Configure an HTTP Callout Action](https://help.salesforce.com/s/articleView?id=platform.flow_http_callout_configure.htm&release=264.0.0&type=5 "HTTP Callout guides you through entering the details about the HTTP web-based service or REST API endpoint that you're connecting to. After you complete the configuration, you invoke the action in a flow. HTTP Callout assumes that you're familiar with the API that you want to call.").
    - 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.
    - To use Marketing Cloud features, you can use elements like Send to Journey, Send SMS, or Send Email Message. See [Flow Builder Elements for Marketing Flows](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_mktg.htm&release=264.0.0&type=5 "A Flow Builder element represents an action that a flow can run. Examples include decisions based on criteria and creating and deleting Salesforce data. Some Flow Builder elements are available only in Marketing or Data 360, such as Send Email Message and Send SMS Message.").
    - To get, create, update, or delete a Salesforce record, you can use the standard Get, Create, Update, or Delete Records elements.
6. Specify an action, and map the fields required by the external system to the data available from the triggering activation data. To get data from a related object, use collection filter criteria. For activations, you can retrieve related attributes up to 5 levels deep.
    
    1. In the Toolbox, click **New Resource** and then select **Collection Filter Criteria** as the resource type.
    2. Enter an API name for the collection filter criteria resource and then select the related object as its data source.
    3. For sort conditions, select the related attribute field that you want to use. Verify that the field you selected is a field of the related object that you selected as the data source.
    4. Optionally, add filter conditions. You can add filters for any fields that share the same path as the specified related object, including fields from parent and child objects.
    
    The specified sort and filter options retrieve only the first record from your activation. After setting up the collection filter criteria, you can select it as a resource in an action.
7. Configure the rest of the flow.
8. Activate the flow.

#### See Also

- [Transform Data in a Flow](https://help.salesforce.com/s/articleView?id=platform.flow_build_logic_transform.htm&release=264.0.0&type=5 "Automate how you transform data between Salesforce and an external system using the Transform element. You can create mappings between the source and target data, or set fixed values for the target data.")
- [Create a Data 360 Activation for a Segment](https://help.salesforce.com/s/articleView?id=data.c360_a_create_data_cloud_activation.htm&type=5&language=en_US)

## 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 running, we create a [flow version occurrence record](https://help.salesforce.com/s/articleView?id=mktg.mktg_campaigns_monitoring_your_flow_status.htm&type=5&language=en_US). 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.

1. Install the [Salesforce Data Cloud - Flow Integration](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tEE0000004nmv&isdtp=p1) package for all users.
2. In the Data 360 app, select the Data Streams tab and click **New**.
3. In the New Data Stream window, select **Installed Data Kits & Packages** and click **Next**.
4. Select **Data Cloud Flow** from the Data Kits list
5. Select the checkbox next to Flow\_Ingestion to select all data streams, and then click **Next**.
6. For the Connector Name, select **New Connector**.
7. Enter Flow Run Ingestion as the connector name and click **Save**.
8. Click **Next** to advance through the steps until you're able to deploy the data stream, and then click **Deploy**.
9. Next, deploy the Flow Record streams. From Setup, in the Quick Find box, enter Permission Sets and then select it.
10. Click the **Data Cloud Salesforce Connector** permission set.
11. In the Apps section, click **App Permissions**.
12. In the Flow and Flow Orchestration section, select **View Flows** and then click **Save** and confirm.
13. In the Data 360 app, select the Data Streams tab and click **New**.
14. In the New Data Stream window, select **Salesforce CRM** and then click **Next**.
15. In the Custom Bundles section, select **Flows**, and then click **Next**.
16. Click **Next** to advance through the steps until you're able to deploy the data stream, and then click **Deploy**.
17. To create a report, in the Data 360 app, navigate to the **Reports** tab and click **New Report**.
18. In the Data Cloud category, select **Flow Element with Flow Element Run** and then click **Start Report**.
19. In the Outline tab, add these columns:
    1. Flow Element: Info - Name
    2. Flow Element: Info - Flow Version
    3. Flow Element: Info - Error Reason
    4. Flow Element: Info - Error Description
    5. Flow Element Run: Info - Scheduled DateTime
    6. Flow Element Run: Info - Completed DateTime
20. In the Filters tab, add a blank filter with the equals operator for Flow Version.
21. Click **Save**.
22. To get the flow version ID that's required for the report filter, in the Automation Lightning app, select the activation-triggered flow.
23. In the Related tab, select the relevant flow version.
24. In the address bar of your browser, copy the flow version ID. The ID begins with `10v`.
25. In the report you created earlier, paste the flow version ID into the filter, and click **Apply**.

#### See Also

- [Publish History of Your Activation](https://help.salesforce.com/s/articleView?id=data.c360_a_activations_publish_history.htm&type=5&language=en_US)
- [Monitoring a Flow's Status](https://help.salesforce.com/s/articleView?id=mktg.mktg_campaigns_monitoring_your_flow_status.htm&type=5&language=en_US)
- [View Embedded Element Analytics and Detailed Insights](https://help.salesforce.com/s/articleView?id=platform.flow_monitor_on_canvas_insights.htm&release=264.0.0&type=5 "For active and previously run automation event-triggered, activation-triggered, and segment flows, element run data appears on the flow canvas. Access more detailed performance metrics on the element's Analytics tab, including engagement metrics for messaging flow elements across Email, SMS, WhatsApp, and RCS.")
- [Data 360 Reports and Dashboards](https://help.salesforce.com/s/articleView?id=data.datacloud_reports_dashboards_overview.htm&type=5&language=en_US)
- [Data Streams in Data 360](https://help.salesforce.com/s/articleView?id=data.c360_a_data_streams.htm&type=5&language=en_US)

## 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 run 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 runs in one action. A flow with a wait element runs 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 per hour. In general, the total concurrency limit is split evenly between any running flows.

 
| RUN 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 run 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 run. `(15,000,000 * 0.04) / 3600 = 167`. Since 167 is below the concurrency limit of 210, then the flow can run 15,000,000 actions per hour.

If another flow has a single action but takes an average of 150 milliseconds to run 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 run 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 run 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:**
        - [OAuth 2.0 Authorization Code Flow Specification](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1)
        - [Named Credential Example: OAuth 2.0 Browser Flow with a Named Principal](https://help.salesforce.com/s/articleView?id=xcloud.nc_example_oauth_github.htm&type=5&language=en_US)
        - [Named Credential Example: OAuth 2.0 Browser Flow with a Per User Principal](https://help.salesforce.com/s/articleView?id=xcloud.nc_example_oauth_github_per_user.htm&type=5&language=en_US)
        - [Create or Edit an OAuth External Credential with the Browser Flow](https://help.salesforce.com/s/articleView?id=xcloud.nc_create_edit_oath_browser_ext_cred.htm&type=5&language=en_US)
- 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:**
        - [OAuth 2.0 Client Credentials Flow Specification](https://datatracker.ietf.org/doc/html/rfc6749#section-4.4)
        - [Create or Edit an OAuth External Credential with the Client Credentials with Client Secret Flow](https://help.salesforce.com/s/articleView?id=xcloud.nc_create_edit_oath_client_secret_ext_cred.htm&type=5&language=en_US)
    - **Considerations:** Handshakes between Salesforce and the target external system for obtaining and refreshing tokens is required 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:**
        - [Basic Authentication Specification](https://datatracker.ietf.org/doc/html/rfc7617)
        - [Create or Edit a Basic Authentication External Credential](https://help.salesforce.com/s/articleView?id=xcloud.nc_create_edit_basic_auth_ext_cred.htm&type=5&language=en_US)
- 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](https://help.salesforce.com/s/articleView?id=xcloud.nc_custom_headers_and_api_keys.htm&type=5&language=en_US)

### 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.