Streamline's Automated Workflow Triggers enable you to automatically launch Streamline workflows from within Salesforce using Flows. This eliminates the need for manual button clicks, allowing you to create seamless, cross-platform automation between Salesforce and Streamline.
Common use cases include:
- Automatically generating and routing contracts for e-signature when a sales opportunity closes
- Triggering onboarding workflows when a new employee contract is signed
- Launching intake forms and documentation when a patient referral status is updated
Key Concepts
-
Resume URL: The Resume URL (also called session URL) is a unique web link generated by Streamline when a workflow is initiated. This URL allows users to access and complete their workflow tasks. For example, when a contract generation workflow is triggered, the Resume URL might look like: https://us.streamline.intellistack.app/sessions/abc123xyz. This URL can be:
- Stored in a Salesforce field for easy access
- Sent via email to stakeholders
- Internal ID (format: INT-1762900715455-2eccc1f0-XXXXXXXX): This is the identifier you'll use in all Flow and Apex automation. This is the only ID needed for the setup described in this article.
- Project ID: References the Streamline project containing your workflow. Not used in Flow or Apex automation.
- Webhook ID: Identifier for the Streamline incoming webhook step. Not needed for standard Flow or Apex automation.
Prerequisites
Before you can use automated workflow triggers, ensure you have:
- Streamline for the Salesforce Managed Package installed in your Salesforce org
- Streamline Admin permission set assigned to your user account (required to create workflow triggers)
- Basic understanding of Salesforce Flows
Part 1: Setting Up a Workflow Trigger
Before you can automate workflows from Salesforce, you must first create a workflow trigger in the Streamline managed package interface.
Step 1: Navigate to Workflow Triggers
- In Salesforce, click the App Launcher (waffle icon)
- Search for and select Streamline
- Navigate to the Workflow triggers page
- Click + New workflow trigger
Step 2: Configure the Workflow Trigger
Follow the instructions in the How to Add a Streamline Workflow Button and Track CLM Status in Salesforce article to setup the workflow trigger.
Note: When configuring your workflow trigger, pay close attention to the Salesforce object you select. This object must match the object you'll be triggering from in your Flow or Apex code. For instance, if you plan to trigger workflows from Opportunity records, ensure your workflow trigger is configured for the Opportunity object.
Step 3: Retrieve the Internal ID
Once created, you'll need the Internal ID to use this trigger in your automation:
- From the Workflow triggers list, click on the trigger's Label (hyperlink)
- This opens the Salesforce record for the workflow trigger
- Copy the Internal ID value (format: INT-{numbers}-{alphanumeric})
- You'll use this Internal ID in your Flow or Apex code
Part 2: Building Flow
Salesforce Flow provides a no-code way to trigger Streamline workflows. Streamline offers two Invocable Actions that you can add as steps in your flows.
Synchronous vs. Asynchronous Execution
Synchronous (Sync)
- The Flow waits for Streamline to respond before continuing
- Returns the resume URL immediately for use in subsequent Flow steps
- Best for: flows that need the resume URL right away
- Limitation: Cannot be used in record-triggered flows that don't allow callouts
Asynchronous (Async)
- The action must be in the async path, and Flow continues immediately without waiting for Streamline
- Action runs in a separate transaction (allows use in triggers)
- Resume URL is saved to a specified field on the triggering record
- Best for: Record-triggered flows, trigger-based automation
Flow Setup for Synchronous Action
Note:
- Synchronous Action does not work with record-triggered flows due to Salesforce limitations. For record-trigger flow, use an asynchronous action.
- Verify that your workflow trigger in Streamline is configured for the same object that will trigger your Flow. If your Flow is triggered by Account record changes, your workflow trigger must be set up for the Account object
- Create or edit a Flow in Salesforce Flow Builder (Autolaunched Automations, Scheduled Automations)
- Add an Action element
- Search for "Send Record to Streamline Synchronously" in the action search
-
Configure the inputs:
- Salesforce Record ID to Send: ID of the Salesforce record to send to Streamline and trigger a session (typically from the triggering record or a prior step)
-
Workflow trigger Internal ID: Internal ID from your webhook trigger record. You can find this ID within the Streamline App. (See Part 1, Step 3)
-
Store the output (optional): The action returns a resumeURL (the unique link to access the Streamline workflow session) that you can store in a variable and use later in the Flow. E.g. https://us.streamline.intellistack.app/sessions/xxxxxxxxxx
- Save and activate your Flow
⚠️ Important: Make sure you address all the errors in the Flow Builder Error console to be able to save the Flow
Flow Setup for Asynchronous Action
Note: Verify that your workflow trigger in the Streamline for Salesforce app is configured for the same object that will trigger your Flow. If your Flow is triggered by Account record changes, your workflow trigger must be set up for the Account object
-
Create or edit a Flow
- On the start step, please enable “Add Asynchronous Path”
- When you add an Asynchronous Path, Salesforce automatically creates a Synchronous branch alongside it. If you leave the Synchronous branch empty (with no actions), Salesforce will display an error when running a debug test. However, this error will not prevent you from saving the Flow or running it in production. The empty Synchronous branch is acceptable and the Flow will execute normally.
- Add an Action element
-
Search for "Streamline" and select the “Send Record to Streamline Asynchronously” action
-
Configure the inputs:
- Field Name for Resume URL: API name of the field where the Resume URL (the unique link to access the Streamline workflow session) will be saved (e.g., Website, Custom_Field__c). This must be typed in as a text string, not selected from the resource list.
- Triggering recordId: The ID of the Salesforce record
- Workflow trigger Internal ID: The Internal ID from your workflow trigger. (See Part 1, Step 3)
- Save and activate your Flow
Important:
- For async triggers, make sure the field you specify for fieldNameForResumeURL exists on the object and is writable (typically a Text or URL field).
- Make sure you address all the errors in the Flow Builder Error console to be able to save the Flow
Troubleshooting Common Issues and Solutions
| Issues | Solutions |
| "Workflow trigger not found" error | Verify the Internal ID is correct, and the workflow trigger exists in Streamline |
| "Field does not exist" error in async triggers | Ensure the fieldNameForResult field exists on the object and is spelled correctly (use API name) |
| Flow fails with callout error | Use the async version of the Invocable Action in record-triggered flows |
| Resume URL not saved to record | Verify the field is writable and the user has edit permission on that field |
| Workflow executes but fails or returns unexpected results | Check that your workflow trigger in Streamline for Salesforce is configured for the same Salesforce object as your Flow or Apex code. Go to the workflow trigger record in Salesforce and verify the object selection matches your automation code. |
Comments
0 comments
Article is closed for comments.