Creating action flows to automate processes across Zendesk and external systems

<body>
<p id="docs-hc-snippet" style="display: none;">Anaction flowis a user-defined automated workflow. Each action flow consists of an action flow trigger, which initiates the flow, and one or more actions. Action flows can run in response to their configured trigger or be initiated by agents using agent copilot auto assist.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_gpee">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_all">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Team, Professional, or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Summary: <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">You can create action flows to automate ticket, user, asset, and external system tasks with triggers, branches, loops, custom code, and custom actions. Build them manually or with AI prompts, then test, handle errors, and activate them to sync data, send notifications, create records, and trigger follow-up work based on events or schedules.</p>
</div>

<div class="body">

<div class="note attention">
<span class="attentiontitle"></span> Usage of action flows is measured through <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10149993578522" target="_blank">action credits</a>. Each account includes an allowance of action
credits based on their plan. </div>
<p class="p">An <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855513857306" target="_blank">action flow</a> is a user-defined automated workflow. Each
action flow consists of an action flow trigger, which initiates the flow, and one or
more actions. Action flows can run in response to their configured trigger or be
initiated by agents using agent copilot auto assist. </p>
<p class="p">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 <em class="ph i">Incident</em> 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.</p>
<p class="p">This article describes how to create an action flow.</p>
<div class="p">This article contains the following topics:<ul class="ul" id="topic_ewp_lhg_t2c__ul_gbl_z3g_t2c">
<li class="li"><a class="xref" href="#topic_ybr_z3g_t2c">Anatomy of an action flow</a></li>
<li class="li"><a class="xref" href="#topic_mpd_dgz_vjc">Using AI to create action flows (EAP)</a></li>
<li class="li"><a class="xref" href="#topic_fpt_1jg_t2c">Manually creating an action flow</a></li>
<li class="li"><a class="xref" href="#topic_evq_mrw_bfc">Adding action flow triggers, actions, and steps</a></li>
<li class="li"><a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a></li>
</ul>
</div>
<div class="p">Related articles:<ul class="ul" id="topic_ewp_lhg_t2c__ul_p4x_bjg_t2c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052269929626" target="_blank">Understanding external actions for action
flows</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570" target="_blank">Editing and managing action flows</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_ybr_z3g_t2c">
<h2 class="title topictitle2" id="ariaid-title2">Anatomy of an action flow</h2>
<div class="body">
<p class="p">At its core, an action flow is a series of <em class="ph i">actions</em> that are initiated by an
action flow trigger. </p>
<div class="p">The following types of actions are available:<ul class="ul" id="topic_ybr_z3g_t2c__ul_sxs_v43_t2c">
<li class="li">
<strong class="ph b"><a class="xref" href="#topic_zg5_sx3_t2c">Action flow
trigger</a></strong>: The condition under which the action flow is
initiated. Admins can apply conditions to the ticket and user event triggers
to further constrain when they fire. </li>
<li class="li">
<strong class="ph b"><a class="xref" href="#topic_fpp_cnk_t2c">Zendesk actions</a></strong>:
Steps related to Zendesk objects, including tickets, users, organizations,
and assets.</li>
<li class="li">
<strong class="ph b"><a class="xref" href="#topic_zcj_z5r_1hc">External
actions</a></strong>: Steps related to external systems you've connected to.
The actions available vary by system.</li>
<li class="li">
<strong class="ph b">Flow control and utility steps</strong>: Steps structure of your action flow
and extend it with custom logic. The following flow control and utility
steps are available:<ul class="ul" id="topic_ybr_z3g_t2c__ul_gzt_3wr_tfc">
<li class="li">
<a class="xref" href="#topic_iyl_fnk_t2c">Branch</a>: Splits
your action flow into two or more paths based on a user-defined
condition. </li>
<li class="li">
<a class="xref" href="#topic_bbl_cmf_b3c">Repeat while
conditions are met</a>: A step that repeats actions within
the repeat block while specified conditions are met.</li>
<li class="li">
<a class="xref" href="#topic_e3h_2mf_b3c">Repeat for
each</a>: A looping step that repeats actions within the repeat
block for each item in a list.</li>
<li class="li">
<a class="xref" href="#topic_vnb_gt1_chc">Custom code</a>:
User-defined modern JavaScript code that can be incorporated into an
action flow to implement custom logic and data transformations. See
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9853782610970" target="_blank">Using custom code steps in action
flows</a>.</li>
<li class="li">
<a class="xref" href="#topic_nbv_tdg_djc">Update custom
variables</a>: Create and update values for custom variables,
such as pagination or incrementing counters within loops.</li>
<li class="li">
<a class="xref" href="#topic_kc3_jss_tfc">Send outputs to
copilot</a>: (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5524125586330" target="_blank">Copilot add-on</a> only) For
action flows initiated by the <em class="ph i">Run on demand</em> trigger, you can
use this step to send outputs from the action flow back in response.
If used in a branched action flow, the outputs sent reflect that
branch only.<p class="p">No other steps can follow a Send outputs to
copilot step within a branch of an action flow.</p>
</li>
</ul>
</li>
<li class="li">
<strong class="ph b"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8013439366810" target="_blank">Custom actions</a></strong>:
User-defined steps that update or query data using any API. Custom actions
are used by <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7051314237466" target="_blank">agent copilot auto assist</a>, AI
agents, and action flows.</li>
</ul>
</div>
<p class="p">With the exception of the custom code steps and some action flow triggers, steps
always require a data <em class="ph i">input</em>. Commonly, the input of one step is the data
returned from a previous action, known as that step's <em class="ph i">output</em>. However, in
some cases, you can specify static inputs. Additionally, not all steps provide an
output. For more information, see <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_mpd_dgz_vjc">
<h2 class="title topictitle2" id="ariaid-title3">Using AI to create action flows (EAP)</h2>
<div class="body">
<p class="p">Admin copilot helps admins build action flows by entering a natural-language prompt
instead of configuring every step manually. It lets you generate a draft workflow,
review the steps, make changes, and activate it when it's ready.</p>
<p class="p">If your flow includes a third-party system that is not yet connected, admin copilot
might prompt you to authenticate before continuing.</p>
<div class="p">
<strong class="ph b">To create an action flow</strong><ol class="ol" id="topic_mpd_dgz_vjc__ol_jpd_2tr_hkc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Actions &gt; Action
flows</strong>.</span></li>
<li class="li">Click <strong class="ph b">Create flow</strong>.</li>
<li class="li">Choose a starter prompt template or click <strong class="ph b">Type in your own
prompt</strong>.<div class="p">Starter prompt templates allow you to start with a common
workflow pattern and customize it. The following starter prompt
templates are available:<ul class="ul" id="topic_mpd_dgz_vjc__ul_hpd_2tr_hkc">
<li class="li">
<strong class="ph b">Auto-escalate urgent tickets</strong>: Detects urgency signals in
ticket content and notifies the on-call team in Slack. Use this
starter prompt to create a flow that checks ticket text for
urgent language, updates the ticket, and alerts a Slack channel
when immediate attention is needed.</li>
<li class="li">
<strong class="ph b">Log negative CSAT to a sheet and alert manager</strong>: Tracks
negative CSAT responses in Google Sheets and notifies the team
manager in Slack. Use this starter prompt to create a flow that
records poor survey results for follow-up and sends a
notification to the right team lead.</li>
<li class="li">
<strong class="ph b">Merge duplicate tickets by reference</strong>: Finds tickets with
the same reference value and merges duplicates into the most
recent matching ticket. Use this starter prompt to create a flow
that identifies duplicate tickets, consolidates the
conversation, and adds an internal note explaining the
merge.</li>
<li class="li">
<strong class="ph b">Detect ticket spikes and alert the team</strong>: Monitors for a
sudden increase in similar tickets, summarizes the issue, and
posts the result to Slack for faster incident response. Use this
starter prompt to create a flow that helps teams identify
emerging issues and share a summary quickly.</li>
<li class="li">
<strong class="ph b">Extract order details into ticket fields</strong>: Parses
unstructured ticket text and populates structured ticket fields
such as Order ID and Product SKU. Use this starter prompt to
create a flow that turns free-form order requests into
structured data that can be used in downstream automation.</li>
<li class="li">
<strong class="ph b">Provision hardware with manager approval</strong>: Routes an
employee hardware request for manager approval before
provisioning the asset. Use this starter prompt to create a flow
that adds an approval step before completing hardware
provisioning for an employee.</li>
</ul>
</div>
</li>
<li class="li">Enter your prompt or, if using a template, edit the prompt to reflect your
unique workflow requirements.<p class="p">For a list of best practices, see <a class="xref" href="#topic_kpd_2tr_hkc">Writing prompts for AI-generated action flows</a>.</p>
</li>
<li class="li">Click <strong class="ph b">Submit prompt</strong>.</li>
<li class="li">Review the action flow that generated by admin copilot.</li>
<li class="li">Click <strong class="ph b">Approve</strong>.</li>
<li class="li">After approving the generated action flow, click <strong class="ph b">View workflow</strong> and
then click <strong class="ph b">Test workflow</strong> to test the flow before activating it.</li>
<li class="li">If you need to edit the AI-generated action flow, use the icons in the admin
copilot panel to review conversation history and continue working from where
you left off.</li>
<li class="li">Click <strong class="ph b">Save</strong>.<p class="p">New action flows are inactive by default. Before an
action flow can be used, you must <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_kvg_lkv_bfc" target="_blank">activate the flow</a>.</p>
</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_kpd_2tr_hkc">
<h3 class="title topictitle3" id="ariaid-title4">Writing prompts for AI-generated action flows</h3>
<div class="body">
<p class="p">Use the following best practices for writing prompts when using AI to create
action flows:</p>
<ul class="ul" id="topic_kpd_2tr_hkc__ul_lpd_2tr_hkc">
<li class="li">
<strong class="ph b">Use clear, simple language.</strong> Keep sentences straightforward and easy
to follow, unavoid unexpected technical jargon, and be direct about what you
want the flow to do.</li>
<li class="li">
<strong class="ph b">Be specific about the workflow.</strong> State what event or conditions should
start the workflow, specify the criteria the workflow should check, describe
what actions should happen next, and mention any important outputs or
notifications that need to be part of the action flow.</li>
<li class="li">
<strong class="ph b">Include the business context.</strong> Explain the role and technical
capabilities that the workflow is for (such as admins or agents on the IT
team), describe the process the workflow supports, and mention any systems
or tools involved.</li>
<li class="li">
<strong class="ph b">Break complex requests into smaller parts.</strong> Start with the core logic
first. In later prompts, add in branches, approvals, and extra actions. When
refining the generated action flow, focus on one step at a time to reduce
errors and improve outcomes.</li>
<li class="li">
<strong class="ph b">Provide examples.</strong> It can be helpful to include simple example
conditions, outcomes, and decision points. Describe how the workflow should
behave in specific situations.</li>
<li class="li">
<strong class="ph b">Avoid ambiguity.</strong> Replace vague phrases such as "hande it
appropriately" with specific, clear instructions. Define what should happen
for each condition or branch, including exceptions and edge cases.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_fpt_1jg_t2c">
<h2 class="title topictitle2" id="ariaid-title5">Manually creating an action flow</h2>
<div class="body">
<p class="p">Admins can create up to 25 action flows. Each flow can consist of one action flow
trigger and up to 50 steps total.</p>
<p class="p">To create an action flow to sync IT asset
data, you must use the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10207262050330#topic_zw4_gkl_13c" target="_blank">Jamf Pro</a> or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10207241177882#topic_z5p_dzy_13c" target="_blank">Microsoft Intune</a> templates.</p>
<div class="p">
<strong class="ph b">To create an action flow</strong><ol class="ol" id="topic_fpt_1jg_t2c__ol_dnz_tx3_t2c">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Actions &gt; Action
flows</strong>.</span></li>
<li class="li">Click <strong class="ph b">Create flow</strong>.</li>
<li class="li">Click <strong class="ph b">Create manually instead</strong>.</li>
<li class="li">Enter a unique <strong class="ph b">Name</strong> and a <strong class="ph b">Description</strong> to help other admins
understand the action flow.<div class="note">
<span class="notetitle">Note:</span> 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8013439366810#topic_gyz_55n_xcc" target="_blank">best practices</a>.</div>
</li>
<li class="li">Click <strong class="ph b">Next</strong>.</li>
<li class="li">Click <strong class="ph b">+ Add trigger</strong>, and then use the step sidebar to configure the
condition under which the action flow is initiated and any required inputs.
To quickly find a trigger, click the search icon in the sidebar and enter
part of the trigger name.<p class="p">See <a class="xref" href="#topic_zg5_sx3_t2c">Adding an action flow trigger</a>.</p>
</li>
<li class="li" id="topic_fpt_1jg_t2c__add_step">Below the trigger event step, click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_fpt_1jg_t2c__image_v1j_2bg_w2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">). Then use the step sidebar to
configure it. To quickly find an action, click the search icon in the
sidebar and enter part of the action name.<ul class="ul" id="topic_fpt_1jg_t2c__ul_yzy_dtf_kjc">
<li class="li">Configure the step's <strong class="ph b">Inputs</strong>. See <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</li>
<li class="li">(Optional) Under <strong class="ph b">Error handling</strong>, select <strong class="ph b">Retry on error</strong>
if you want the step to retry.<p class="p">When selected and a non-destructive
error occurs, the action flow automatically retries the action
at intervals of 15 seconds, 3 minutes, 36 minutes, and 1 hour.
Currently, the supported error codes are 429 (rate limiting) and
503 (server unavailable). Other error codes aren't supported by
the retry functionality.</p>
</li>
<li class="li">Configure the <strong class="ph b">Error handling</strong> for the step:<ul class="ul" id="topic_fpt_1jg_t2c__ul_gzf_ntf_kjc">
<li class="li">To retry the step when an error occurs, click <strong class="ph b">Retry on
error</strong>.</li>
<li class="li">Select one of the following behaviors if retry fails:
<strong class="ph b">Stop flow</strong>, <strong class="ph b">Continue to next step</strong>,
<strong class="ph b">Follow error branch</strong>. See <a class="xref" href="#topic_tf2_5qf_kjc">Error handling for steps</a>.</li>
</ul>
</li>
</ul>
<p class="p">See <a class="xref" href="#topic_evq_mrw_bfc">Adding action flow triggers, actions, and steps</a>.</p>
</li>
<li class="li">Repeat step 6 - 7 beneath other steps as needed to complete your action
flow. </li>
<li class="li">(Optional) Rename the label for any steps in the action flow as needed for
clarity.</li>
<li class="li">Click <strong class="ph b">Save</strong>.<p class="p">New action flows are inactive by default. Before an
action flow can be used, you must activate the flow.</p>
</li>
<li class="li">(Optional) <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_uyj_qsw_3fc" target="_blank">Test the action flow</a>.</li>
<li class="li">When you're ready to use the action flow, click <strong class="ph b">Activate</strong>.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested1" id="topic_evq_mrw_bfc">
<h2 class="title topictitle2" id="ariaid-title6">Adding action flow triggers, actions, and steps</h2>
<div class="body">
<div class="p">In addition to the action flow trigger, you must add at least one step. There are six
types of steps you can add to an action flow:<ul class="ul" id="topic_evq_mrw_bfc__ul_emg_trw_bfc">
<li class="li"><a class="xref" href="#topic_zg5_sx3_t2c">Adding an action flow trigger</a></li>
<li class="li"><a class="xref" href="#topic_fpp_cnk_t2c">Zendesk actions</a></li>
<li class="li"><a class="xref" href="#topic_zcj_z5r_1hc">External actions</a></li>
<li class="li"><a class="xref" href="#topic_iyl_fnk_t2c">Branch steps</a></li>
<li class="li"><a class="xref" href="#topic_bbl_cmf_b3c">Repeat while condition is met
steps</a></li>
<li class="li"><a class="xref" href="#topic_e3h_2mf_b3c">Repeat for each
steps</a></li>
<li class="li"><a class="xref" href="#topic_nbv_tdg_djc">Update custom variables
steps</a></li>
<li class="li"><a class="xref" href="#topic_vnb_gt1_chc">Custom code steps</a></li>
<li class="li"><a class="xref" href="#topic_kc3_jss_tfc">Send outputs to copilot
steps</a></li>
<li class="li"><a class="xref" href="#topic_qyx_dnk_t2c">Custom action
steps</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_zg5_sx3_t2c">
<h3 class="title topictitle3" id="ariaid-title7">Adding an action flow trigger</h3>
<div class="body">
<p class="p">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:</p>
<div class="p">
<ul class="ul" id="topic_zg5_sx3_t2c__ul_kvf_g3r_hgc">
<li class="li">
<strong class="ph b">Ticket events</strong>: Including ticket lifecycle, such as creation, and
ticket updates to: ticket properties, standard or custom ticket fields,
routing, comments, SLAs, schedules, and CSAT<p class="p">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.</p>
</li>
<li class="li">
<strong class="ph b">User events</strong>: Including user creation; updates to a user's name,
role, organization, group, brand, and so on; updates to custom field
values on a user's profile; adding or changing a profile picture;
changes to a user's identity; and changes to a user's status, such as
suspended or deleted<div class="p">
<ul class="ul" id="topic_zg5_sx3_t2c__ul_lvf_g3r_hgc">
<li class="li">The <em class="ph i">User last login changed</em> action flow trigger only
fires if the previous login occurred more than 20 minutes
ago.</li>
<li class="li">The <em class="ph i">User commenting permission changed</em> 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.</li>
</ul>
</div>
</li>
<li class="li">
<strong class="ph b">Custom object events</strong>: Including custom object lifecycle, such as
custom object record created, updated, or deleted.</li>
<li class="li">
<strong class="ph b">IT asset events</strong>: Including asset creation, update, assignment,
unassignment, and deletion.</li>
<li class="li">
<strong class="ph b">Slack events</strong>: (EAP) Including new message posted in channel, new
direct message sent to a user, and new reaction added to message
<p class="p">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.</p>
</li>
<li class="li">
<strong class="ph b">Run on demand</strong><p class="p">The <em class="ph i">Run on demand</em> action flow trigger
functions only for AI agents and auto assist.</p>
</li>
<li class="li">
<strong class="ph b">Schedule</strong>: A time-based trigger allowing action flows to run at a
specific time, in the selected timezone, on a recurring basis. Schedules
can run daily or hourly. Additional options vary based on the frequency
selected.</li>
<li class="li">
<strong class="ph b">Custom action flow trigger</strong>: User-defined triggers designed to
listen for an HTTP request from a specific external system. Select an
existing custom trigger or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9712284817818" target="_blank">create a new custom
trigger</a>.</li>
</ul>
</div>
<div class="p">
<strong class="ph b">To add an action flow trigger to an action flow</strong><ol class="ol" id="topic_zg5_sx3_t2c__ol_l5z_5gk_t2c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, click <strong class="ph b">+ Add trigger</strong>.</li>
<li class="li">In the step sidebar, select whether you want the action flow to be
initiated by a <strong class="ph b">Ticket</strong> event, <strong class="ph b">User</strong> event, <strong class="ph b">Slack</strong>
event, when a <strong class="ph b">Suggested action flow is approved by agent</strong>, or by a
<strong class="ph b"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9712284817818" target="_blank">custom trigger</a></strong>.</li>
<li class="li">Click through the available options and select a single action flow
trigger.</li>
<li class="li">If you selected <strong class="ph b">Agent copilot &gt; Auto assist &gt; Suggested action
flow approved by agent</strong>, you can configure an input to be
provided by auto assist: <ol class="ol" id="topic_zg5_sx3_t2c__ol_elt_3dm_t2c" type="a">
<li class="li">In the step sidebar, click <strong class="ph b">+ Add input</strong>.</li>
<li class="li">Enter a <strong class="ph b">Name</strong> and <strong class="ph b">Description</strong>.<p class="p">Providing clear
and detailed names and descriptions for inputs helps auto
assist determine the correct information to provide when the
action flow runs.</p>
<p class="p">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 <strong class="ph b">zendesk_ticket_id</strong>
and set the type to <strong class="ph b">number</strong>. If the input name and
type aren't exact matches to this, auto assist won't be able
to add the ticket ID.</p>
</li>
<li class="li">For <strong class="ph b">Type</strong>, select one of the following options:
<strong class="ph b">True/False</strong> (Boolean), <strong class="ph b">Text</strong>, <strong class="ph b">Number</strong>
(Integer), <strong class="ph b">Decimal</strong>, <strong class="ph b">Date</strong>, <strong class="ph b">Date and time</strong>, or
an array of the supported types.</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
</ol>
</li>
<li class="li">(Optional) For ticket event, user event, and custom action flow
triggers, you can configure conditions that must be met for the action
flow trigger to fire:<ol class="ol" id="topic_zg5_sx3_t2c__ul_tdc_mbc_5fc" type="a">
<li class="li">Select the <strong class="ph b">Variable</strong>. This is data output from the action
flow trigger.</li>
<li class="li">Select the <strong class="ph b">Operator</strong> that describes the relationship
between the condition's variable and value. The available
operators change based on the variable selected.</li>
<li class="li">Enter the <strong class="ph b">Value</strong> used when evaluating the condition.<div class="note" id="topic_zg5_sx3_t2c__note_yw1_wsr_hkc">
<span class="notetitle">Note:</span>
<ul class="ul" id="topic_zg5_sx3_t2c__ul_udc_mbc_5fc">
<li class="li">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
<em class="ph i">Incident</em> would fail to match because it's
expecting <em class="ph i">incident</em>.</li>
<li class="li">The value field isn't required when using the <em class="ph i">Is
present</em> or <em class="ph i">Is not present</em> operators.
Use the <em class="ph i">is present</em> operator when a variable
is present only sometimes or is consistently
included but can have a null value. </li>
</ul>
</div>
</li>
</ol>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_fpp_cnk_t2c">
<h3 class="title topictitle3" id="ariaid-title8">Adding Zendesk actions</h3>
<div class="body">
<p class="p">Zendesk action steps perform Zendesk-specific tasks, such as modifying a ticket's
priority. Action flows can consist of Zendesk actions and external actions for
multiple connected systems.</p>
<div class="p">The available Zendesk actions depend on the features that are turned on in your
account, but include:<ul class="ul" id="topic_fpp_cnk_t2c__ul_stl_vwt_tjc">
<li class="li">Add internal note to ticket</li>
<li class="li">Add public reply to ticket</li>
<li class="li">Add tags to ticket</li>
<li class="li">Add task list</li>
<li class="li">Assign asset</li>
<li class="li">Batch import assets (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Create asset (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Create custom object record</li>
<li class="li">Create or update custom object record</li>
<li class="li">Create or update user</li>
<li class="li">Create ticket</li>
<li class="li">Create user</li>
<li class="li">Delete asset (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Delete custom object record</li>
<li class="li">Hand off to custom agent (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10724212443802" target="_blank">Custom Agents EAP</a> only)</li>
<li class="li">Import asset (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Look up custom object record</li>
<li class="li">Lookup organization</li>
<li class="li">Look up ticket</li>
<li class="li">Look up user</li>
<li class="li">Look up asset (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Remove tags from ticket</li>
<li class="li">Search assets (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11184084768666" target="_blank">Search custom object
records</a></li>
<li class="li">Send approval request</li>
<li class="li">Unassign asset (<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9817293579674" target="_blank">ITAM</a> only)</li>
<li class="li">Update custo object record</li>
<li class="li">Update ticket</li>
<li class="li">Update user</li>
</ul>
</div>
<p class="p">Zendesk actions that are performed by the flow are attributed to the system
user.</p>
<div class="p">
<strong class="ph b">To add Zendesk actions to an action flow</strong><ol class="ol" id="topic_fpp_cnk_t2c__ol_rgd_mqk_t2c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the action builder, beneath an existing step, click the <strong class="ph b">Add
step</strong> icon (<img class="image" id="topic_fpp_cnk_t2c__image_ggh_fbg_w2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk actions</strong>, click the menu
options to select the action.</li>
<li class="li">In the step sidebar, enter the required inputs for the selected action.
See <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_zcj_z5r_1hc">
<h3 class="title topictitle3" id="ariaid-title9">Adding external actions</h3>
<div class="body">
<p class="p">External action steps perform tasks specific to a connected system, such as
sending a Slack message or creating a Jira issue. An action flow can consist of
Zendesk actions and external actions for multiple connected systems.</p>
<p class="p">Regardless of how an action flow is triggered, external actions are attributed to
the admin who connected the external system.</p>
<div class="p">Action flows support connections to the following external systems. For more
information about specific actions and examples of how you might use them,
see:<ul class="ul" id="topic_zcj_z5r_1hc__ul_gfc_hbv_3fc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10850546840090" target="_blank">Using Airtable actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10623225702298" target="_blank">Using Asana actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10042011737370" target="_blank">Using BambooHR actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10912792161050" target="_blank">Using Calendly actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10916686675098" target="_blank">Using Chargebee actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10630133525018" target="_blank">Using Claude actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11128262529434" target="_blank">Using ClickUp actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9836432286490" target="_blank">Using Confluence actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10930759959194" target="_blank">Using GitHub actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10327942889242" target="_blank">Using Gmail actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10306407796122" target="_blank">Using Google Gemini
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10559257423770" target="_blank">Using Google Calendar
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10327936440218" target="_blank">Using Google Drive
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10558742987162" target="_blank">Using Google Forms
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9836727346970" target="_blank">Using Google Sheets
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11042625165722" target="_blank">Using HiBob actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10917655354138" target="_blank">Using HubSpot actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10631271148186" target="_blank">Using Incident.io actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11047737573402" target="_blank">Using Iterable actions in action
flows</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10207262050330" target="_blank">Using Jamf Pro actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9836794562842" target="_blank">Using Jira actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10850586700954" target="_blank">Using Klaviyo actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10630901754522" target="_blank">Using Linear actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11128378481690" target="_blank">Using Magento 2 actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10825389160090" target="_blank">Using Mailchimp actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10497779528730" target="_blank">Using MCP tools</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11046459250842" target="_blank">Using Microsoft Azure DevOps
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9849724302234" target="_blank">Using Microsoft Calendar
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11038188376602" target="_blank">Using Microsoft Dynamics 365 Business
Central actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10942722920986" target="_blank">Using Microsoft Dynamics 365 Sales
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10445230176154" target="_blank">Using Microsoft Entra ID
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9840801141274" target="_blank">Using Microsoft Excel
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10207241177882" target="_blank">Using Microsoft Intune
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10523031664410" target="_blank">Using Microsoft OneDrive
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9840940606106" target="_blank">Using Microsoft Outlook
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10942722107034" target="_blank">Using Microsoft Planner
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10629821476762" target="_blank">Using Microsoft SharePoint
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9841034139674" target="_blank">Using Microsoft Teams
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11038206925466" target="_blank">Using monday.com actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10943521537818" target="_blank">Using New Relic actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10831940580122" target="_blank">Using Notion actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10449211243546" target="_blank">Using Okta actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9841067063834" target="_blank">Using OpenAI actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10850616549786" target="_blank">Using PagerDuty actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10943967416218" target="_blank">Using Recurly actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9841156736282" target="_blank">Using Salesforce actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11051009341466" target="_blank">Using ServiceNow actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9849578907930" target="_blank">Using Shopify actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9849650344730" target="_blank">Using Slack actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11038192701850" target="_blank">Using Snowflake actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10931228886298" target="_blank">Using Stripe actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10534000898458" target="_blank">Using SurveyMonkey
actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/11208001685018" target="_blank">Using WooCommerce actions</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10050789681050" target="_blank">Using Workday actions</a></li>
</ul>
</div>
<p class="p">If you don't see an external system listed that you want to use, you can <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8013439366810" target="_blank">create custom actions</a> to define other
external system tasks you want to include in your action flows. These are
exposed in action builder as custom actions rather than external actions.</p>
<div class="p">
<strong class="ph b">To add external actions to an action flow</strong><ol class="ol" id="topic_zcj_z5r_1hc__ol_ks5_1xr_1hc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the action builder, beneath an existing step, click the <strong class="ph b">Add
step</strong> icon (<img class="image" id="topic_zcj_z5r_1hc__image_ls5_1xr_1hc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">External actions</strong>, click the menu
options to select the action.</li>
<li class="li">In the step sidebar, enter the required inputs for the selected action.
See <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_iyl_fnk_t2c">
<h3 class="title topictitle3" id="ariaid-title10">Adding branch steps</h3>
<div class="body">
<p class="p">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 <em class="ph i">If condition is met</em> branch. Optionally, you can add other conditional
branches. The <em class="ph i">Else</em> branch encompasses everything that doesn't meet an
<em class="ph i">If</em> condition, so no configuration is required for the <em class="ph i">Else</em>
branch.</p>
<div class="p">
<strong class="ph b">To add branch steps to an action flow</strong><ol class="ol" id="topic_iyl_fnk_t2c__ol_sjp_4fm_t2c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath an existing step, click the
<strong class="ph b">Add step</strong> icon (<img class="image" id="topic_iyl_fnk_t2c__image_dj2_gbg_w2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Flow control and utility</strong>, select
<strong class="ph b">Branch</strong>.</li>
<li class="li">Configure the <em class="ph i">If condition is met</em> branch condition:<ul class="ul" id="topic_iyl_fnk_t2c__ul_bgk_cgm_t2c">
<li class="li">Select the <strong class="ph b">Variable</strong>. This is data output from a previous
step in the action flow.</li>
<li class="li">Select the <strong class="ph b">Operator</strong> that describes the relationship
between the condition's variable and value. The available
operators change based on the variable selected.</li>
<li class="li">Enter the <strong class="ph b">Value</strong> used when evaluating the condition.<div class="note" id="topic_iyl_fnk_t2c__note_i5r_ftr_hkc">
<span class="notetitle">Note:</span>
<ul class="ul" id="topic_iyl_fnk_t2c__ul_atp_cpg_y2c">
<li class="li">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
<em class="ph i">Incident</em> would fail to match because it's
expecting <em class="ph i">incident</em>.</li>
<li class="li">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 <a class="xref" href="#topic_gwb_fxr_hgc">Using date and date time values in actions and steps</a>.</li>
<li class="li">The value field isn't required when using the <em class="ph i">Is
present</em> or <em class="ph i">Is not present</em>
operators.</li>
</ul>
</div>
</li>
</ul>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_tf2_5qf_kjc">
<h3 class="title topictitle3" id="ariaid-title11">Error handling for steps</h3>
<div class="body">
<p class="p">Rather than being a standalone step, error handling is configured for each step.
You can choose whether to retry the step if an error occurs, and if the step
still fails after retries, you can decide whether the action flow should stop,
continue, or follow the error branch based on the final outcome.</p>
<p class="p">For example, if an error occurs during a data sync action, you might want to
retry the step if the error is temporary. If the step still fails, you might add
a failed sync tag or another indication of the error on the record that failed
to sync, stop the flow, or follow the error branch for follow-up actions.</p>
<div class="p">
<strong class="ph b">To configure error handling for a step</strong><ol class="ol" id="topic_tf2_5qf_kjc__ol_hdh_frf_kjc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, either click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_tf2_5qf_kjc__image_jgg_hrf_kjc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">) or select an existing
step.</li>
<li class="li">In the step sidebar, under <strong class="ph b">Error handling</strong>, select <strong class="ph b">Retry on
error</strong> if you want the step to retry automatically if it
fails.</li>
<li class="li">If the step fails after retries, select what should happen next:<ul class="ul" id="topic_tf2_5qf_kjc__ul_dnj_wnk_vjc">
<li class="li">
<strong class="ph b">Stop flow</strong> to end the action flow.</li>
<li class="li">
<strong class="ph b">Continue flow</strong> to let the rest of the action flow
continue.</li>
<li class="li">
<strong class="ph b">Follow error branch</strong> to send the flow down the error
path.</li>
</ul>
</li>
<li class="li">Configure the option you selected.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested3" id="topic_it5_14k_vjc">
<h4 class="title topictitle4" id="ariaid-title12">Retry on error</h4>
<div class="body">
<p class="p">Use this option when a step fails because of a temporary issue, such as a
rate limit or service interruption. When retry is enabled, action builder
retries the step automatically instead of failing immediately. The action
flow retries at intervals of 15 seconds, 3 minutes, 36 minutes, and 1
hour.</p>
<p class="p">Currently, retry supports the following error codes:</p>
<ul class="ul" id="topic_it5_14k_vjc__ul_ixf_2x3_xjc">
<li class="li">429 (rate limiting)</li>
<li class="li">503 (server unavailable)</li>
</ul>
<p class="p">Other error codes aren't supported by the retry functionality.</p>
<p class="p">For example, if a step makes an API request and the service returns a
temporary error, action builder can try the request again after a short
delay.</p>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested3" id="topic_edd_34k_vjc">
<h4 class="title topictitle4" id="ariaid-title13">Stop flow</h4>
<div class="body">
<p class="p">Use this option when the step is required and the action flow should end if
the step still fails after retries. If the step cannot complete
successfully, the action flow stops immediately.</p>
<p class="p">For example, if a ticket must be created successfully before any follow-up
actions run, you might stop the flow if the create step continues to fail
after retry attempts.</p>
</div>
</div>
<div aria-labelledby="ariaid-title14" class="topic nested3" id="topic_dnn_f4k_vjc">
<h4 class="title topictitle4" id="ariaid-title14">Continue flow</h4>
<div class="body">
<p class="p">Use this option when a failed step should not prevent the rest of the action
flow from running after retry attempts are exhausted. The step is marked as
failed, but the flow continues to the next step.</p>
<p class="p">For example, if a notification step fails but the main workflow is still
complete without it, you can continue to the next step.</p>
</div>
</div>
<div aria-labelledby="ariaid-title15" class="topic nested3" id="topic_dgt_j4k_vjc">
<h4 class="title topictitle4" id="ariaid-title15">Follow error branch</h4>
<div class="body">
<p class="p">Use this option when you want to take different actions depending on whether
a step succeeds or fails after retries. This creates two branches beneath
the step: <strong class="ph b">Success</strong> and <strong class="ph b">Error</strong>. Configure each branch with the
actions you want to run.</p>
<p class="p">For example, if a data sync step fails after retry attempts, you might add a
"failed sync" tag, send a notification, or run a fallback action in the
error branch. If the step succeeds, you can continue the normal workflow in
the success branch.</p>
</div>
</div>
<div aria-labelledby="ariaid-title16" class="topic nested3" id="topic_gsl_qw3_xjc">
<h4 class="title topictitle4" id="ariaid-title16">Using error outputs in downstream steps</h4>
<div class="body">
<p class="p">When you choose <strong class="ph b">Continue flow</strong> or <strong class="ph b">Follow error branch</strong>, you can
use error outputs from the failed step (Error message, HTTP status code, and
Response body) in later steps or conditions. The variables available depend
on which option you chose:</p>
<ul class="ul" id="topic_gsl_qw3_xjc__ul_fzn_rw3_xjc">
<li class="li">
<strong class="ph b">Continue flow</strong>: Both the success outputs and the error outputs are
available. At runtime, only the outputs that match the actual outcome
are populated; the other set is null.</li>
<li class="li">
<strong class="ph b">Follow error branch</strong>: On the error path, only the error outputs
are available. On the success path, only the success outputs are
available.</li>
</ul>
<p class="p">You can use error outputs to send notifications with failure details or to
route the flow based on the type of failure. For example, you can add a
branch step after a failed action and create separate conditions for HTTP
status code = 400, 404, 429, or 500 to take different actions for each
case.</p>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title17" class="topic nested2" id="topic_bbl_cmf_b3c">
<h3 class="title topictitle3" id="ariaid-title17">Adding Repeat while conditions are met steps</h3>
<div class="body">
<p class="p">If you need to repeat an action under specific circumstances, you can use the
<em class="ph i">Repeat while conditions are met</em> step. This is ideal for fetching
data.</p>
<div class="p">
<strong class="ph b">To add Repeat while conditions are met steps to an action flow</strong><ol class="ol" id="topic_bbl_cmf_b3c__ol_fxw_4mf_b3c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath the last step in your action
flow (or branch of an action flow), click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_bbl_cmf_b3c__image_y3q_pmf_b3c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Flow control and utility</strong>, select
<strong class="ph b">Repeat while condition is met</strong> and place it where you want it
in the flow.</li>
<li class="li">Add at least one action to the repeat box in the action builder.<div class="note" id="topic_bbl_cmf_b3c__note_j5r_ftr_hkc">
<span class="notetitle">Note:</span> Repeat for each steps can be added within a
repeat while conditions are met step, but not vice
versa.</div>
</li>
<li class="li">Click the <strong class="ph b">Repeat while condition is met</strong> step to specify the
step's condition.<p class="p">Conditions are the qualifications needed for the
step to repeat. Only one condition can be defined for a repeat while
step.</p>
</li>
<li class="li">Select a <strong class="ph b">Variable</strong>, <strong class="ph b">Operator</strong>, and <strong class="ph b">Value</strong> for the
condition.<p class="p">The variable must be an output from an action in the
repeat box. The operator determines the relationship between the
variable and the value. The available operators vary based on the
selected variable's type.</p>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title18" class="topic nested2" id="topic_e3h_2mf_b3c">
<h3 class="title topictitle3" id="ariaid-title18">Adding Repeat for each steps</h3>
<div class="body">
<p class="p">If you need to repeat an action for a list of items, use the <em class="ph i">Repeat for
each</em> step. This is designed for bulk data operations.</p>
<div class="p">
<strong class="ph b">To add Repeat for each steps to an action flow</strong><ol class="ol" id="topic_e3h_2mf_b3c__ol_syk_psf_b3c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath the last step in your action
flow (or branch of an action flow), click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_e3h_2mf_b3c__image_tyk_psf_b3c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Flow control and utility</strong>, select
<strong class="ph b">Repeat for each</strong> and place it where you want it in the
flow.</li>
<li class="li">Under <strong class="ph b">List</strong>, select an output from a previous step in the action
flow that is an array.</li>
<li class="li">(Optional) If you need to check more than one list, click <strong class="ph b">Check for
more items</strong> in the repeat box in the action builder and select
another array.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title19" class="topic nested2" id="topic_nbv_tdg_djc">
<h3 class="title topictitle3" id="ariaid-title19">Adding Update custom variable steps</h3>
<div class="body">
<p class="p">The update custom variable step allows you create new variables you need for a
workflow and update a previously created or referenced variable with a new
value. This is particularly useful for iterating through paginated data and
incrementing counters.</p>
<div class="p">
<strong class="ph b">To add an Update custom variable step to an action flow</strong><ol class="ol" id="topic_nbv_tdg_djc__ol_qck_c2g_djc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath an existing step, click the
<strong class="ph b">Add step</strong> icon (<img class="image" id="topic_nbv_tdg_djc__image_rck_c2g_djc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Flow control and utility</strong>, select
<strong class="ph b">Update custom variable</strong>.</li>
<li class="li">Select one or more previously specified variables and enter a variable
as input for the step.<p class="p">For more information, see <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</p>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title20" class="topic nested2" id="topic_kc3_jss_tfc">
<h3 class="title topictitle3" id="ariaid-title20">Adding Send outputs to copilot steps</h3>
<div class="body">
<div class="p">
<div class="note attention" id="topic_kc3_jss_tfc__note_k5r_ftr_hkc">
<span class="attentiontitle"></span> This step is available for accounts
with the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5524125586330" target="_blank">Copilot add-on</a> only.</div>
When an
action flow is initiated by the <em class="ph i">Run on demand</em> 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.</div>
<div class="p">
<strong class="ph b">To add Send outputs to copilot step to an action flow</strong><ol class="ol" id="topic_kc3_jss_tfc__ol_lc3_jss_tfc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath the last step in your action
flow (or branch of an action flow), click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_kc3_jss_tfc__image_mc3_jss_tfc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Flow control and utility</strong>, select
<strong class="ph b">Send outputs to copilot</strong> and place it where you want it in the
flow.</li>
<li class="li">In the step sidebar, click <strong class="ph b">Add output</strong> to add at least one
output:<ul class="ul" id="topic_kc3_jss_tfc__ul_nc3_jss_tfc">
<li class="li">Select the <strong class="ph b">Variable</strong>. This is data output from a previous
step in the action flow.</li>
<li class="li">Enter a unique <strong class="ph b">Name</strong> that describes the output.</li>
</ul>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title21" class="topic nested2" id="topic_vnb_gt1_chc">
<h3 class="title topictitle3" id="ariaid-title21">Adding Custom code steps</h3>
<div class="body">
<p class="p">Custom code steps allow you to incorporate modern JavaScript code into your
action flows. The JavaScript must export a function that takes an <em class="ph i">inputs</em>
object and returns an <em class="ph i">outputs</em> object. Each time you add a custom code
step to an action flow, it is prepopulated with this framework, which you can
modify, expand upon, or delete and start fresh.</p>
<p class="p">Although the custom code step is designed to be as user-friendly as possible,
admins might still require engineering support when implementing these
steps.</p>
<p class="p">For more information, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9853782610970" target="_blank">Using custom code steps in action
flows</a>.</p>
</div>
</div>
<div aria-labelledby="ariaid-title22" class="topic nested2" id="topic_qyx_dnk_t2c">
<h3 class="title topictitle3" id="ariaid-title22">Adding Custom actions</h3>
<div class="body">
<p class="p">Custom actions are user-defined steps that update data using any API the user
specified. The custom actions defined for auto assist are also available for
action flows. </p>
<div class="p">In addition to making it possible to incorporate actions for external systems
that aren't predefined by Zendesk, custom actions in action flows can also make
data from these external systems available for use later in the action flow. The
following data types are supported as outputs from custom actions:<ul class="ul" id="topic_qyx_dnk_t2c__ul_yww_v5y_1hc">
<li class="li" dir="ltr">Text</li>
<li class="li" dir="ltr">Number</li>
<li class="li" dir="ltr">Decimal</li>
<li class="li" dir="ltr">True/false</li>
<li class="li" dir="ltr">Date</li>
<li class="li" dir="ltr">Date and time</li>
<li class="li" dir="ltr">Arrays (the above data types only; arrays of other data types
might work but aren't guaranteed)</li>
</ul>
</div>
<p class="p">For more information, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8013439366810" target="_blank">Creating and managing custom
actions</a>.</p>
<div class="p">
<strong class="ph b">To add custom actions to an action flow</strong><ol class="ol" id="topic_qyx_dnk_t2c__ol_cg3_m3m_t2c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_ant_ttk_t2c" target="_blank">Open an action flow.</a></li>
<li class="li">In the visual workflow builder, beneath an existing step, click the
<strong class="ph b">Add step</strong> icon (<img class="image" id="topic_qyx_dnk_t2c__image_bd3_dbg_w2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Custom actions</strong>, select one of the
actions you've <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8013439366810" target="_blank">created</a>.<p class="p">Keep in mind the
following:</p>
<div class="p">
<ul class="ul" id="topic_qyx_dnk_t2c__ul_l5r_ftr_hkc">
<li class="li">Custom actions created prior to March 13, 2025 must be
re-saved in order to be available as actions in action
flows.</li>
<li class="li">A custom action reflects the action as it was defined at the
moment it was added to the action flow. If a custom action
is updated after it was added to an action flow, you must
delete the custom action step in the flow and re-add it to
see the changes.</li>
</ul>
</div>
</li>
<li class="li">Provide static values or variables as inputs into the input fields
required by the custom action.<p class="p">For more information, see <a class="xref" href="#topic_cbc_q2g_y2c">Providing inputs for actions and steps</a>.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title23" class="topic nested1" id="topic_cbc_q2g_y2c">
<h2 class="title topictitle2" id="ariaid-title23">Providing inputs for actions and steps</h2>
<div class="body">
<p class="p">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. </p>
<p class="p">For most inputs, you can provide <em class="ph i">static values</em>, which can be entered or
fetched from Zendesk or a connected external system when configuring the step, or
<em class="ph i">variables</em>, which are data output from previous steps 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.</p>
<p class="p">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.</p>
<div class="p">
<div class="note">
<span class="notetitle">Note:</span> If a mismatch occurs between the type and the value, the action builder
automatically attempts to correct the mismatch, which could result in
incompatible values that cause the action flow to fail.</div>
</div>
</div>
<div aria-labelledby="ariaid-title24" class="topic nested2" id="topic_gwb_fxr_hgc">
<h3 class="title topictitle3" id="ariaid-title24">Using date and date time values in actions and steps</h3>
<div class="body">
<p class="p">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 custom actions and
branch steps, you can use a date or date time variable from a previous step or
the step's run time. The <em class="ph i">step run date</em> and <em class="ph i">step run date and time</em>
values are calculated the instant the step in the action flow runs and reflect
the account's timezone. </p>
<p class="p">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.</p>
<p class="p"><img class="image" id="topic_gwb_fxr_hgc__image_mvm_nhs_hgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/action_flows_date_values.png" width="300"></p>
<p class="p">When using dates as a variable, you must use the format
<code class="ph codeph">YYYY-MM-DD</code>. Date times must use the format
<code class="ph codeph">YYYY-MM-DDTHH:MM:SS[.SSS]Z+hh:mm</code>, where the <em class="ph i">Z+hh:mm</em>
value represents the UTC offset. The UTC offset can be <code class="ph codeph">Z</code> alone
to indicate no offset, <code class="ph codeph">+hh:mm</code> to indicate an offset of added
hours and minutes, or <code class="ph codeph">-hh:mm</code> to indicate an offset of
subtracted hours and minutes.</p>
<div class="p">The following are example datetimes:<ul class="ul" id="topic_gwb_fxr_hgc__ul_zq1_1r2_5gc">
<li class="li">The datetime for 5:11 pm on February 19, 2025 in UTC time is:
<code class="ph codeph">2025-02-19T17:11:00Z</code>
</li>
<li class="li">The datetime for 12:34 pm and 56 seconds on December 13, 2025 in
Australian Eastern Time is:
<code class="ph codeph">2025-12-13T12:34:56+10:00</code>
</li>
<li class="li">The datetime for 3:56 pm and 19.012 seconds on September 16, 2024 in US
Eastern time is: <code class="ph codeph">2024-09-16T03:56:19.012-05:00</code>
</li>
</ul>
</div>
<div class="p">When comparing two datetimes in a branch step, the timezones are taken into
consideration. For example:<ul class="ul" id="topic_gwb_fxr_hgc__ul_dmg_yr2_5gc">
<li class="li">The following conditional datetime comparison statement is <em class="ph i">true</em>:
<code class="ph codeph">2025-06-16T12:00:00Z</code> is equal to
<code class="ph codeph">2025-06-16T22:00+10:00</code>
</li>
<li class="li">The following conditional datetime comparison statement is <em class="ph i">false</em>:
<code class="ph codeph">2024-01-06T01:30:00Z</code> is after
<code class="ph codeph">2024-01-05T23:00:00-3:00</code>
</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title25" class="topic nested2" id="topic_gsd_llc_chc">
<h3 class="title topictitle3" id="ariaid-title25">Naming inputs and outputs for actions and steps</h3>
<div class="body">
<p class="p">All inputs and outputs of actions and steps must have unique names. In many
cases, these are automatically populated based on a selected value, but can be
modified as needed.</p>
<div class="p">The following must be true when naming inputs and outputs within a step:<ul class="ul" id="topic_gsd_llc_chc__ul_qkx_tkc_chc">
<li class="li">The name begins with a letter.</li>
<li class="li">The name is unique within the step.</li>
<li class="li">The name contains only letters (<code class="ph codeph">a-z</code>,
<code class="ph codeph">A-Z</code>), numbers (<code class="ph codeph">0-9</code>), and
underscore characters (<code class="ph codeph">_</code>).</li>
</ul>
</div>
</div>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/8855601898266",
"url": "https://support.zendesk.com/hc/en-us/articles/8855601898266",
"headline": "Creating action flows to automate processes across Zendesk and external systems",
"description": "You can create action flows to automate ticket, user, asset, and external-system tasks with triggers, steps, branches, and error handling.",
"articleSection": "Action builder and action flows",
"datePublished": "2025-02-07T19:39:04+00:00",
"dateModified": "2026-09-04T18:57:44.464206+00:00",
"inLanguage": "en",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/8855601898266"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"@id": "https://support.zendesk.com/hc/"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk",
"@id": "https://www.zendesk.com",
"softwareAddOn": {
"@type": "SoftwareApplication",
"name": "Apps and integrations",
"@id": "https://support.zendesk.com/hc/en-us/sections/5283127227418"
}
}
}</script><script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>