Integrate External Actions
Note: External Actions in Tableau rely on functionality provided by Salesforce Flow. The feature sends your selected data to Salesforce Flow, which runs on separate Salesforce infrastructure. Use of Salesforce Flow and other Salesforce products and services is subject to your agreement with Salesforce.
After seeing and understanding your data in Tableau, what’s next? Typically, taking action from data insights involves pivoting from one application to another, often copying and pasting data and losing context along the way. With the Tableau External Actions feature, you can create and interact with data-driven workflows directly from Tableau dashboards and automate your next steps using Salesforce Flow.
About Salesforce Flow
If you’re not familiar with Salesforce Flow(Link opens in a new window), it’s a no-code tool that provides time-saving process automations. A flow is a component of Salesforce Flow that collects data and performs actions in your Salesforce org. There are several flow types available in Salesforce Flow(Link opens in a new window), but External Actions workflows in Tableau are only compatible with autolaunched flows.
Note: To learn more about flows, check out Build Flows with Flow Builder on Trailhead.
How External Actions work
When an External Actions workflow is configured for a viz on a Tableau dashboard, a customized button appears on the corresponding viz in an unavailable (grayed out) state. When you select a relevant mark on the viz (1), the button becomes available. Then, when you click the button (2), data from the selected mark is sent directly to a flow that was built and configured in Salesforce Flow(Link opens in a new window) (3).
As the author of an External Actions workflow, you determine:
- Which flow the data is sent to
- Which dashboard the data comes from
- The text and appearance of the dashboard button that triggers the workflow
Note: You can add multiple External Actions workflows to a dashboard, but each of the corresponding flows must be deployed in the same Salesforce org.
Ways to use External Actions workflows
There are endless ways to use External Actions workflows to automate existing processes in your organization. For example, think of the effort saved by a workflow that lets accounting team members send customer invoices directly from the same dashboard they use to track unpaid orders. Or maybe you’re looking for ways to streamline your support team’s case management. A workflow that lets support team members escalate cases directly from the dashboard they use to track cases could be a significant time-saver. External Actions workflows help keep users in the flow of work, and enables your organization to benefit from increased efficiencies.
When you create an External Actions workflow, you’re essentially building a bridge that connects any type of data source in Tableau with a flow at Salesforce. Your data source doesn’t need to be connected to a Salesforce database because the workflow itself creates that connection. This is particularly useful when there are multiple groups using separate data sources to complete different steps of the same process.
For example, think about the different teams and tools involved when a customer places an order at an ecommerce site. Ecommerce sales reps might use Salesforce to track the sale while supply chain managers use a supply chain management tool to deduct the purchased item from overall product inventory. Support teams that help the customer troubleshoot any issues that arise when they receive their product might be logged in Salesforce or analyzed in a Tableau dashboard. With an External Actions workflow, you can connect all of this data from each of these teams to streamline processes and even automate some of the existing steps.
Best practices for External Actions workflow authors
Important: Dashboard authors using the External Actions feature to connect dashboard data with flows built in Salesforce Flow should closely collaborate with the Salesforce admins and architects who created the flows.
Flows built in Salesforce Flow are sophisticated business automation programs. Although your organization can greatly benefit from these automations, it’s important to understand how flows work before deploying External Actions workflows that use them. Be sure to complete the Salesforce Flow training on Trailhead(Link opens in a new window) and review the Flows documentation(Link opens in a new window). Consider Flow Best Practices(Link opens in a new window) in your design, and keep Flow Limits and Considerations(Link opens in a new window) in mind.
Note: There are several flow types(Link opens in a new window) available in Salesforce Flow, but External Actions workflows are only compatible with autolaunched flows.
External Actions workflows must be carefully implemented to align with the architectural constraints of flows built in Salesforce Flow. Flows are powerful, but they can also be resource-intensive and complex. There are potential licensing, execution throttling, and concurrency issues to consider, and database read/write limits that must be evaluated and tested.
There are also important security considerations related to flows. Users with the Manage Flows permission can view and change all data and resources in the corresponding Salesforce org. Users with the Run Flows permission can run nearly any active flow in the Salesforce org. To restrict access to only those users who require it (such as dashboard authors and workflow users), your Salesforce admin can enable the override default behavior setting for a flow. For more information, see How Does Flow Security Work?(Link opens in a new window)
Dashboard authors who are creating External Actions workflows should communicate with their Salesforce admins before implementing workflows to prevent undesired results.
Create a workflow
Before creating an External Actions workflow, dashboard authors should collaborate with their Salesforce admins to find or create a flow that meets their needs. For example, perhaps your goal is to help your accounting team send invoices directly from an unpaid orders dashboard. To accomplish this goal, you need a flow that can retrieve the customer contact information and order details from the dashboard and populate the invoices.
After you decide which flow to use, the next step is identifying a dashboard to connect it to. It’s likely that your users are already interacting with an existing dashboard that would work well. However, if necessary, you can create a new dashboard(Link opens in a new window).
With the right flow and the right dashboard in mind, it’s time to think about the compatibility of the data types in the dashboard with the flow’s required input fields (known as variables). For example, your unpaid orders dashboard must contain a viz with all of the relevant order details needed to send customer invoices. These details might include information such as order date, customer name and contact information, item descriptions and amounts, and payment amount due.
When your dashboard contains all of the required components, add the Workflow object:
- In a Tableau workbook, open an existing dashboard or create a new one(Link opens in a new window).
- From the Objects section of the Dashboard pane, drag Workflow to a viz in the dashboard.
- When prompted, enter your log-in credentials for the Salesforce org associated with your flow.
Note: When users access the dashboard where you set up your workflow, they must enter their Salesforce credentials. If their Salesforce credentials expire while viewing the dashboard, they're prompted to reauthenticate.
- Click Configure Workflow.
- In the Add Workflow dialog, search for a flow by flow name or flow author.
- Select a flow to view its details, including the required inputs (Salesforce variables) it needs from the viz. Click Back to select a different flow, or click Next to continue.
- From the Select Sheet drop-down, select a sheet (worksheet, dashboard, or story) that contains the marks your users will select and send to the flow.
Note: Be sure to select a sheet that has marks with the encoded fields you want to map to the flow’s required inputs. For example, if you want to map the
forecast_revenue
variable in the flow to theSUM(Sales)
field in Tableau, you must select a sheet with marks that are encoded with theSum(Sales)
field. - Click Next.
- For each of the flow's required inputs (Salesforce variables), select an appropriate field from the Tableau sheet you chose in the Select Sheet step.
Note: For each input, the data type of the Salesforce variable and Tableau field must match.
- Click Next.
- Configure the appearance of the button that users click to trigger the External Actions workflow. Specify a button title, background color, and border color. Check the preview to confirm the button's appearance.
- Click Done to create the workflow and add the corresponding button to the viz in the dashboard.
Note: Remember that users must select a mark from the viz that you chose in the Select Sheet step. Until a mark is selected, the button isn't available. Consider adding guiding text to the dashboard so users know exactly what viz to interact with and what will happen when they click the button.
Use a workflow
To get started as a workflow user, open the dashboard where your dashboard author has added a workflow. You can confirm that a workflow is available if a workflow button displays. The dashboard author customizes the name and format of the button, and it should clearly indicate the action triggered when you click it (such as "Send Data" or "Update Record"). Select a relevant mark from a viz in the dashboard, and then click the button to start the workflow.
Clicking the workflow button triggers the transmission of data, and the mark you select determines what data is sent. For that reason, the button is unavailable (grayed out) until you select a mark. If you’ve selected a mark but the button is still unavailable, verify that you’ve selected a mark on a valid viz for the workflow. If you aren’t sure which vizzes are valid, check with the dashboard author.
Depending on their configuration, some workflows might be long-running operations that don't complete immediately. If you’re unable to determine whether the workflow you selected is working as expected, check with the dashboard author or your Salesforce admin.
Troubleshoot a workflow
For help resolving issues with an External Actions workflow, see the following troubleshooting guidance.
Access issues
- For dashboard authors using Tableau Desktop: If the Workflow object doesn’t appear in the Objects section of the Dashboard pane, confirm that you’re signed in to a Tableau Server or Tableau Cloud site. If you aren’t signed in, you won’t be able to access the Workflow extension.
- For dashboard authors: If the Workflow object doesn’t appear in the Objects section of the Dashboard pane, check with your Tableau admin to ensure that the extension is turned on.
- For all users:
- If your Salesforce admin hasn’t created a connected app, the External Actions feature won’t work. Ask your Salesforce admin to create a connected app(Link opens in a new window) in Salesforce for Tableau Server.
- If you’re unable to click a workflow button that displays on a dashboard, confirm that you’ve selected a mark on a valid viz for the workflow. If you aren’t sure which vizzes are valid, check with the dashboard author.
Authentication issues
- For Tableau Cloud or Tableau Server users: Refresh the dashboard in your browser.
- For all users: Confirm that you’ve signed in to the Salesforce org where the External Actions workflow was added. If necessary, check with your dashboard author to confirm the correct Salesforce org.
Error messages
Error Message | Explanation and Resolution |
---|---|
Workflow is turned off on this site. For more information, contact your Tableau administrator. | Your Tableau admin has turned off the Workflow dashboard extension for your site, so it isn't available for your use. Contact your Tableau admin to discuss turning on access to the extension. |
Workflow isn’t supported by Tableau Reader | The Workflow dashboard extension and External Actions feature can only be used to send data to a flow using Tableau Cloud(Link opens in a new window), Tableau Desktop(Link opens in a new window), or Tableau Server(Link opens in a new window) versions 2022.3 and later. |
Flow contains one or more unsupported data types. Go back to select a different flow, or contact your Salesforce Flow administrator to remove unsupported data types from this flow. | The selected flow requires a data type input that isn't available in Tableau dashboards, or is otherwise incompatible with External Actions workflows. Select a different flow if a suitable alternative exists, or check with your Salesforce admin for next steps. |
One or more data type mismatches exist in the mapping of input fields. | The data type for one or more of the dashboard values mapped to the input variable fields aren’t identical. For example, the flow might require a numeric variable for Revenue, but the mapped value from the dashboard was a text string. Depending on your scenario, you have two options to fix this. You can change the data type(Link opens in a new window) of the Revenue field in Tableau from a text string to a numerical value. Or, you edit the workflow configuration to map a different field from the dashboard that has a numerical data type. |
Unable to submit data to Salesforce Flow. | An unknown error occurred while the External Actions workflow attempted to send data from the dashboard to the flow. Contact your dashboard author to troubleshoot. |
Error occurred: <exception code>. Contact your Salesforce Flow administrator. | The flow interview(Link opens in a new window) (running instance of the flow) failed. Share the exception code with your Salesforce admin so they can find the corresponding error email(Link opens in a new window) and troubleshoot accordingly. |
Workflow failed. Contact your Salesforce Flow administrator. | The data from the selected mark in the dashboard was sent to the flow, but there was an issue in translating that data to the flow. Contact your Salesforce admin to troubleshoot. |
Unable to submit data to flow. Contact your workflow author. | The data from the selected mark in the dashboard wasn't sent to the flow. Contact your dashboard author to troubleshoot. |
Flow issues
- Some flows run asynchronously, so you may not immediately know whether a flow that’s part of an External Actions workflow ran successfully. At times, a flow might fail and rollback changes without immediately providing detailed feedback. However, when a flow fails, a detailed error email is sent to the workflow user, dashboard author, and Salesforce admin. Workflow users should contact their dashboard authors when they receive a flow error email(Link opens in a new window). Dashboard authors and Salesforce admins can then work together to troubleshoot and resolve the error. For more information on troubleshooting flow issues, see Troubleshoot Flows(Link opens in a new window).
Licensing issues
- For dashboard authors: On the Tableau side, no special permissions are required to add a workflow to a dashboard (as long as External Actions are enabled for the site). On the Salesforce side, you’ll need the Manage Flows permission(Link opens in a new window) added to your Salesforce profile.
- For workflow users: On the Tableau side, any user who can access a dashboard with a workflow can run it. From the Salesforce side, you’ll need the Run Flows permission(Link opens in a new window) added to your Salesforce profile.
Turn External Actions On or Off
In Tableau 2022.3 and later, the External Actions feature is turned on by default. For more information on how Tableau admins can configure org-wide access to Tableau External Actions, see Configure External Actions Workflow Integration(Link opens in a new window).