Creating custom action flow triggers

<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.</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 class="body">

<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. </p>
<p class="p">Admins can use <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266#topic_zg5_sx3_t2c" target="_blank">pre-defined action flow triggers</a> or
define custom action flow triggers. This article describes how to create a custom
action flow trigger to listen for an HTTP request from a specific external system.</p>
<div class="p">After creating an action flow trigger, you can use it in any action flow. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">Creating action flows</a>.<div class="note note">
<span class="notetitle">Note:</span> Custom action flow triggers
support up to 2,000 incoming API requests per minute.</div>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_sjn_gwb_sgc">
<h2 class="title topictitle2" id="ariaid-title2">Creating a custom action flow trigger</h2>
<div class="body">
<p class="p">Action flow triggers are created and managed within the action builder.</p>
<div class="p">
<strong class="ph b">Creating a custom action flow trigger</strong><ol class="ol" id="topic_sjn_gwb_sgc__ol_o5h_czj_qgc">
<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">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">Create</a> or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570" target="_blank">edit</a> an action flow.</li>
<li class="li">Click <strong class="ph b">+ Add trigger</strong>.</li>
<li class="li">In the step sidebar, under <strong class="ph b">Custom triggers</strong>, click <strong class="ph b">Create
trigger</strong>.</li>
<li class="li">Enter a unique and identifiable <strong class="ph b">Name</strong> for the action flow trigger.
<p class="p">Maximum length is 255 characters.</p>
</li>
<li class="li">(Optional) Enter a <strong class="ph b">Sample payload</strong> of the HTTP request you expect the
trigger to receive.<p class="p">This should be a POST request with a valid JSON body.
The payload can't exceed 200KB.</p>
<p class="p">The sample payload must include
all of the properties, with the appropriate data type, you want to use
later in an action flow that begins with this trigger. </p>
</li>
<li class="li">Click <strong class="ph b">Next</strong>.</li>
<li class="li">If you provide a sample payload, map the data by clicking <strong class="ph b">Add</strong> next
each key-value pair you intend to capture as outputs in your action flow,
and then clicking <strong class="ph b">Next</strong>.<p class="p">If necessary, you can use the options menu
to edit the name and type of a key-value pair or remove it from the
trigger. The output names must be unique within the trigger and can't
exceed 255 characters.</p>
<div class="p">The following data types are supported as
outputs from custom triggers:<ul class="ul" id="topic_sjn_gwb_sgc__ul_ryx_jck_qgc">
<li class="li">Text</li>
<li class="li">Number</li>
<li class="li">Decimal</li>
<li class="li">True/false</li>
<li class="li">Date (<code class="ph codeph">YYYY-MM-DD</code>)</li>
<li class="li">Date and time (<code class="ph codeph">YYYY-MM-DDTHH:MM:SS[.sss]Z</code> or
<code class="ph codeph">YYYY-MM-DDTHH:MM:SS[.sss]+/-hh:mm</code>)</li>
<li class="li">Arrays and objects are converted to strings.</li>
</ul>
</div>
</li>
<li class="li">Use the custom <strong class="ph b">Webhook URL</strong> that is generated for the trigger to
configure a webhook in an external system that will send requests to the
custom trigger to initiate an action flow.<p class="p">Additionally, if you have the
option, configure the external system's retry strategy to use
exponential backoff with jitter for three retries at 20 seconds, 120
seconds, and 300 seconds after a rate-limited request.</p>
<div class="note note">
<span class="notetitle">Note:</span>
<ul class="ul" id="topic_sjn_gwb_sgc__ul_hjf_1wb_sgc">
<li class="li">Treat the custom action flow trigger's webhook URL as a secret
and do not share it.</li>
<li class="li">Your account's <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408894156186" target="_blank">IP restrictions</a> are
enforced for the webhook URL. </li>
</ul>
</div>
</li>
<li class="li">Add the custom action flow trigger to an action flow. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">Creating action flows</a>.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_wdz_hwb_sgc">
<h2 class="title topictitle2" id="ariaid-title3">Using outputs from custom action flow triggers</h2>
<div class="body">
<div class="p">All data you want to output from the action flow trigger must be assigned the proper
data type. This is set automatically based on your sample payload, but you can
modify it as needed. If the data received differs from the expected payload, the
action flow attempts to convert the data using the following rules:<ul class="ul" id="topic_wdz_hwb_sgc__ul_mrd_nxb_sgc">
<li class="li">
<strong class="ph b">Text outputs</strong>:<ul class="ul" id="topic_wdz_hwb_sgc__ul_jmt_4xb_sgc">
<li class="li">Any number, decimal, true/false, date, or datetime value is
converted to text.</li>
<li class="li">If the key is missing from the request body, it is represented as
null.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">Number outputs</strong>:<ul class="ul" id="topic_wdz_hwb_sgc__ul_dlk_dyb_sgc">
<li class="li">Decimal values are rounded to the nearest whole number, with .5
values rounding up.</li>
<li class="li">For true/false values, true is converted to <em class="ph i">1</em> and false to
<em class="ph i">0</em>.</li>
<li class="li">A string representing a number is converted to a number.</li>
<li class="li">A string representing a decimal is rounded to the nearest whole
number, with .5 values rounding up.</li>
<li class="li">All other strings are converted to nil.</li>
<li class="li">If the key is missing from the request body, it is represented as
nil.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">Decimal outputs</strong>:<ul class="ul" id="topic_wdz_hwb_sgc__ul_grb_nyb_sgc">
<li class="li">Number values are passed through without modification.</li>
<li class="li">For true/false values, true is converted to <em class="ph i">1</em> and false to
<em class="ph i">0</em>.</li>
<li class="li">A string representing a number is converted to a decimal.</li>
<li class="li">A string representing a decimal is converted to a decimal.</li>
<li class="li">All other strings are converted to nil.</li>
<li class="li">If the key is missing from the request body, it is represented as
nil.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">True/false outputs</strong>:<ul class="ul" id="topic_wdz_hwb_sgc__ul_okj_syb_sgc">
<li class="li">Null values are converted to <em class="ph i">false</em>.</li>
<li class="li">Number and decimal values of zero (0, -0, 0.0, -0.0) are converted
to <em class="ph i">false</em>.</li>
<li class="li">Empty strings ("", "''", and "``") are converted to
<em class="ph i">false</em>.</li>
<li class="li">All other number, decimal, string, date, and datetime values are
converted to <em class="ph i">true</em>.</li>
<li class="li">If the key is missing from the request body, it is represented as
nil.</li>
</ul>
</li>
</ul>
</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/9712284817818-Creating-custom-action-flow-triggers",
"url": "https://support.zendesk.com/hc/en-us/articles/9712284817818-Creating-custom-action-flow-triggers",
"headline": "Creating custom action flow triggers",
"description": "You can create custom action flow triggers to initiate automated workflows by listening for HTTP requests from external systems and mapping the data for use in action flows.",
"articleSection": "Extending Zendesk",
"datePublished": "2025-09-13T21:44:49+00:00",
"dateModified": "2026-05-12T02:03:17.083082+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/9712284817818-Creating-custom-action-flow-triggers"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"url": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"url": "https://support.zendesk.com/hc/en-us"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk"
}
}</script>
</body>