An action flow is a user-defined automated workflow. Each action flow consists of an action flow trigger, which initiates the flow, and one or more steps. Action flows can run in response to their configured trigger or be initiated by agents using agent copilot auto assist.
For example, you might define an action flow that is triggered when a ticket's form changes from the standard Support form to the custom Incident ticket form. When this happens, the action flow changes the ticket's priority to urgent, creates a Jira issue, adds a link to the Jira issue to the ticket, and sends the relevant team a Slack message notifying them of the urgent Jira issue.
This article describes how to create an action flow.
Anatomy of an action flow
-
Action flow trigger: The condition under which the action flow is initiated. This can be a Zendesk event or an agent using agent copilot auto assist. Admins can apply conditions to the ticket and user event triggers to further constrain when they fire.
The following types of action flow triggers are available for the EAP:
- Ticket events
- User events
- Slack events
- Action flow suggested by auto assist approved by agent
-
Zendesk steps: Actions related to Zendesk objects.
During the EAP, the following steps are available:
- Create ticket
- Look up ticket
- Update ticket
- Add tags to ticket
- Remove tags from ticket
- Look up user
- Look up organization
- External steps: Actions related to external systems you've connected to. The steps available vary by system. See Understanding external steps for action flows.
-
Flow control steps: Steps related to the structure of your action flow. The following flow control steps are available:
- Branch: Splits your action flow into two paths based on a user-defined condition.
-
Send outputs to copilot: For action flows initiated by the Action flow suggested by auto assist approved by agent trigger, you can use this step to send outputs from the action flow back to agent copilot for use in procedures. If used in a branched action flow, the outputs sent to copilot reflect that branch only.
Note: No other steps can follow a Send outputs to copilot step within a branch of an action flow.
- Actions: User-defined automated tasks that update or query data using any API. Actions are used by agent copilot auto assist and action flows.
With the exception of some action flow triggers, steps always require a data input. Commonly, the input of one step is the data returned from a previous step, known as that step's output. However, in some cases, you can specify static inputs. Additionally, not all steps provide an output. For more information, see Providing inputs for steps.
Creating an action flow
Admins can create up to 10 action flows. Each flow can consist of one action flow trigger and up to 50 steps.
- In Admin Center, click
Apps and integrations in the sidebar, then select Actions > Action flows.
- Click Create flow.
- Enter a unique Name and a Description to help other admins understand the action flow.
Note: Agent copilot auto assist uses the action flow's name and description to determine when an action flow should be suggested to an agent. For help writing good names and descriptions, see the best practices.
- Click Next.
- Click + Add trigger, and then use the step sidebar to configure the condition under which the action flow is initiated and any required inputs.
- Below the trigger event step, click the Add step icon (
). Then use the step sidebar to configure it.
- Repeat step 6 beneath other steps as needed to complete your action flow.
- Click Save.
New action flows are inactive by default. Before an action flow can be used, you must activate the flow.
- (Optional) Test the action flow.
- When you're ready to use the action flow, click Activate.
Adding an action flow trigger
Every action flow begins with a trigger event. This is what initiates the flow. The following types of events are available as action flow triggers:
-
Ticket events: Including ticket lifecycle, such as creation, and ticket updates to: ticket properties, routing, comments, SLAs, schedules, and CSAT
Note: Action flows initiated by ticket updates often run when a ticket is created, too, because ticket values are perceived as changing from null or empty to an actual value.
-
User events: Including user creation; updates to a user's name, role, organization, group, brand, and so on; adding or changing a profile picture; changes to a user's identity; and changes to a user's status, such as suspended or deleted
Note:
- The User last login changed action flow trigger only fires if the previous login occurred more than 20 minutes ago.
- The User commenting permission changed action flow trigger only fires if the user's profile is updated to change their Comment permissions. This doesn't apply to the custom role permissions on Enterprise plans and above.
-
Slack events: Including new message posted in channel, new direct message sent to a user, and new reaction added to message
Note: There isn't a built-in way to link a Slack message to a Zendesk ticket after the ticket is created, for ongoing conversational support. If you use a Slack event as an action flow trigger that then creates a Zendesk ticket, only the contents of the message that initiated the action flow as it existed at that moment in time, is available for inclusion in the ticket.
- Action flow suggested by auto assist approved by agent
- Open an action flow.
- In the visual workflow builder, click + Add trigger.
- In the step sidebar, select whether you want the action flow to be initiated by a Ticket event , User event, Slack event, or when a Suggested action flow is approved by agent.
- Click through the available options and select a single action flow trigger.
- For Agent copilot > Action flow > Suggested action flow approved by agent, you can configure an input to be provided by auto assist:
- In the step sidebar, click + Add input.
- Enter a Name and Description.
Providing clear and detailed names and descriptions for inputs helps auto assist determine the correct information to provide when the action flow runs.
It is possible to have auto assist provide a ticket ID as input for this action flow trigger. To do so, you must name the input zendesk_ticket_id and set the type to number. If the input name and type aren't exact matches to this, auto assist won't be able to add the ticket ID.
- For Type, select one of the following options: True/False (Boolean), Text, Number (Integer), or Decimal.
- Click Save.
- (Optional) For ticket event and user event triggers, you can configure conditions that must be met for the action flow trigger to fire:
- Select the Variable. This is data output from the action flow trigger.
- Select the Operator that describes the relationship between the condition's variable and value. The available operators change based on the variable selected.
- Enter the Value used when evaluating the condition.
Note:
- These values are case-sensitive. It's important to note that Zendesk tickets use lower-case for the type, status, and priority fields. For example, when referring to a ticket's type, entering a value of Incident would fail to match because it's expecting incident.
- The value field isn't required when using the Is present or Is not present operators.
Adding steps to action flows
Adding Zendesk or external steps
Zendesk steps perform Zendesk-specific actions, such as modifying a ticket's priority. External steps perform actions specific to the connected system, such as sending a Slack message or creating a Jira issue. Action flows can consist of Zendesk steps and external steps for multiple connected systems.
- Zendesk steps that are performed by the flow are attributed to the system user.
- Regardless of how an action flow is triggered, external steps are attributed to the admin who connected the external system.
- Open an action flow.
- In the action builder, beneath an existing step, click the Add step icon (
).
- In the step sidebar, under Zendesk steps or External steps click through the menu options to select the step.
- In the step sidebar, enter the required inputs for the selected step. See Providing inputs for steps.
Adding branch steps
Although some action flows progress linearly, it's common for them to include one or more branches. When you add a branch, you must define a single condition for the If condition is met branch. The Else branch encompasses everything that doesn't meet the If condition, so no configuration is required for the second branch.
- Open an action flow.
- In the visual workflow builder, beneath an existing step, click the Add step icon (
).
- In the step sidebar, under Flow control, select Branch.
- Configure the If condition is met branch's condition:
- Select the Variable. This is data output from a previous step in the action flow.
- Select the Operator that describes the relationship between the condition's variable and value. The available operators change based on the variable selected.
- Enter the Value used when evaluating the condition.
Note:
- These values are case-sensitive. It's important to note that Zendesk tickets use lower-case for the type, status, and priority fields. For example, when referring to a ticket's type, entering a value of Incident would fail to match because it's expecting incident.
- Dates have additional configuration options, which enable more complex time-related conditions, such as a date value plus or minus a certain number of days. See Using date and date time values in steps.
- The value field isn't required when using the Is present or Is not present operators.
Adding Send outputs to copilot steps
When an action flow is initiated by the Action flow suggested by auto assist approved by agent trigger, the Send outputs to copilot step becomes available. As the name suggests, the step sends outputs from the action flow back to copilot so auto assist can make suggestions based on that information. This step must be the last step of an action flow. If your action flow contains branches, this step can be used as the last step for some or all of the branches; in this scenario, only the outputs from the specific branch of the action flow are sent to copilot.
- Open an action flow.
- In the visual workflow builder, beneath the last step in your action flow (or branch of an action flow), click the Add step icon (
).
- In the step sidebar, under Flow control, select Send outputs to copilot and place it where you want it in the flow.
- In the step sidebar, click Add output to add at least one output:
- Select the Variable. This is data output from a previous step in the action flow.
- Enter a unique Name that describes the output.
Adding action steps
Actions are user-defined tasks that update data using any API the user specified. The actions defined for auto assist are also available as steps for action flows. For more information, see Creating and managing actions.
Additionally, it's important to understand that the action step reflects the action as it was defined at the moment it was added to the action flow. If an action is updated after it was added to an action flow, you must delete the action step in the flow and re-add it to see the changes.
- Open an action flow.
- In the visual workflow builder, beneath an existing step, click the Add step icon (
).
- In the step sidebar, under Actions, select one of the actions you've created.
- Provide static values or variables as inputs into the input fields required by the action.
For more information, see Providing inputs for steps.
Providing inputs for steps
When specifying inputs for steps, you must provide values that correspond to the input's data type, such as text, number, decimal, list, or true/false.
For most inputs, you can provide static values, which can be entered or fetched from Zendesk or a connected external system when configuring the step, or variables, which are data output from a previous step in the action flow. Certain inputs require you to select a predefined value from a list, such as a ticket status or priority or data from a connected external system, such as a Slack channel name or Jira project ID. For inputs that allow you to enter values rather than selecting from a predefined list, it's possible to combine static and variable values.
When using ticket tags in action flows, you can provide static values or simple text, list, decimal, or true/false variables. However, list and JSON object variables aren't supported as tags. Additionally, you can't combine static and variable values as a ticket tag input.
Using date and date time values in steps
Some actions and processes you need to use action flows for are time sensitive. In this case, you can leverage dates and date time values. In action steps and branch steps, you can use a date or date time variable from a previous step or the step's run time. The step run date and step run date and time values are calculated the instant the step in the action flow runs and reflect the account's timezone.
These values can be further configured to reflect a time offset of plus or minus a user-specified number of days from the date. For example, you might create an action flow that sets a Salesforce opportunity close date equal to the Zendesk ticket's Close date custom field value plus seven days.
When using dates as a text variable, you must use the format YYYY-MM-DD. Date times must use the format YYYY-MM-DDTHH:MM:SS[.SSS]Z+hh:mm, where the Z+hh:mm value represents the UTC offset. The UTC offset can be Z alone to indicate no offset, +hh:mm to indicate an offset of added hours and minutes, or -hh:mm to indicate an offset of subtracted hours and minutes.