About generative procedures for AI agents

<body>
<p id="docs-hc-snippet" style="display: none;">Generative proceduresare what shape the responses of an AI agent withagentic AI. An alternative to scripteddialogues, procedures allow you to create flexible conversation flows that adapt to a customer’s responses during a conversation with an AI agent, while still aligning with your business policies.</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_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, 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">

<div class="note attention" id="adv_procedures_understanding__note_e4y_nnr_2jc">
<span class="attentiontitle"></span> <span class="ph">The functionality described in this article is being rolled
out to all Suite and Support plans from May 11 through June 12, 2026. You may not
see this functionality in your account yet. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10487730059034" target="_blank">this announcement</a> for details.</span>
</div>
<p class="p"><em class="ph i">Generative procedures</em> are what shape the responses of an AI agent with <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8966284087066" target="_blank">agentic AI</a>. An alternative to scripted <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8357749494810" target="_blank">dialogues</a>, procedures allow you to create flexible
conversation flows that adapt to a customer’s responses during a conversation with an AI
agent, while still aligning with your business policies. </p>
<p class="p">This article contains the following topics: </p>
<ul class="ul" id="adv_procedures_understanding__ul_slk_rhs_t3c">
<li class="li"><a class="xref" href="#topic_v1n_t1s_t3c">About generative procedures for AI agents</a></li>
<li class="li"><a class="xref" href="#topic_zsm_51s_t3c">About the block types in generative procedures</a></li>
</ul>
<p class="p">Related articles: </p>
<ul class="ul" id="adv_procedures_understanding__ul_nfq_rhs_t3c">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8979864563610" target="_blank">Creating generative procedures to shape flexible
conversation flows for AI agents</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10040865503898" target="_blank">Managing generative procedures for AI
agents</a></li>
</ul>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_v1n_t1s_t3c">
<h2 class="title topictitle2" id="ariaid-title2">About generative procedures for AI agents</h2>
<div class="body">
<p class="p">A generative procedure determines the general flow that an AI agent follows during a
conversation with a customer. You create a procedure by describing your business
policies—or however you want the AI agent to handle a given support topic—and the
system automatically generates a procedure map, showing you the logic the AI agent
will follow during the conversation.</p>
<p class="p"><img class="image" id="topic_v1n_t1s_t3c__image_n2n_gjs_t3c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/aiaa_procedure_builder_example.png" width="600"></p>
<p class="p">Each generative procedure is tied to a specific <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9041901679130" target="_blank">use case</a>. When that use case is triggered during a
conversation with a user, the AI agent follows the associated procedure to resolve
the issue. </p>
<p class="p">Generative procedures also allow for multilingual AI agents. You can write a
procedure once, in a single language, and it can serve all the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8357749663130" target="_blank">languages your AI agent supports</a>. </p>
<p class="p">The topics below cover more details about how generative procedures work:</p>
<ul class="ul" id="topic_v1n_t1s_t3c__ul_w1x_r3s_t3c">
<li class="li"><a class="xref" href="#topic_npf_v1s_t3c">What happens if the customer diverges from the expected path</a></li>
<li class="li"><a class="xref" href="#topic_iv5_v1s_t3c">How questions and saved parameters work</a></li>
</ul>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested2" id="topic_npf_v1s_t3c">
<h3 class="title topictitle3" id="ariaid-title3">What happens if the customer diverges from the expected path</h3>
<div class="body">
<p class="p">Procedures are designed to be flexible. Even though a procedure has a logical
flow to it, an AI agent still has the flexibility to determine the best way to
resolve a customer’s issue in line with your business policies. The AI agent can
use reasoning to jump to the parts of the procedure that make the most sense
based on what the customer says. </p>
<p class="p">If the customer diverges from the expected path, the AI agent can adapt while
still trying to complete the procedure. Common examples of when this happens
include: </p>
<ul class="ul" id="topic_npf_v1s_t3c__ul_cfn_53s_t3c">
<li class="li">
<strong class="ph b">A customer can’t answer a question yet.</strong> For example, the AI agent
asks for a tracking number and the customer replies: “Where do I find that?”
In cases like these, the AI agent may provide guidance or look up relevant
help content before returning to the procedure. </li>
<li class="li">
<strong class="ph b">A customer asks an unexpected, but related, question mid-procedure.</strong>
The AI agent may pause the current step to address the question (often by
searching for supporting information), then continue with the next step. </li>
<li class="li">
<strong class="ph b">The issue can’t be resolved with the available steps.</strong> If all
reasonable options are exhausted, the procedure may end early. When this
happens, the AI agent clearly indicates that the procedure has ended so the
customer isn’t left waiting.</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_iv5_v1s_t3c">
<h3 class="title topictitle3" id="ariaid-title4">How questions and saved parameters work</h3>
<div class="body">
<p class="p">Procedures rely on saved details, known as parameters, to avoid unnecessary
back-and-forth and to support integrations. Here are the conversational
behaviors you can expect from an AI agent in situations where parameters are
involved: </p>
<ul class="ul" id="topic_iv5_v1s_t3c__ul_xqp_w3s_t3c">
<li class="li">
<strong class="ph b">The AI agent may skip asking for information that’s already known.</strong> If
a required detail is already available in the conversation, the AI agent may
continue without asking again. For example, if the information was already
provided by the customer or returned by an integration, the AI agent uses
that information instead of requesting it again.</li>
<li class="li">
<strong class="ph b">The AI agent may ask again if it still needs a usable value.</strong> If a
customer’s response is missing, unclear, or invalid for the current step,
the AI agent may repeat the question or ask a clarifying follow-up question. </li>
<li class="li">
<strong class="ph b">Some procedures intentionally collect the same detail more than once.</strong>
If a procedure is designed to confirm or re-collect a value later, the AI
agent follows that structure even if the parameter already exists.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_zsm_51s_t3c">
<h2 class="title topictitle2" id="ariaid-title5">About the block types in generative procedures</h2>
<div class="body">
<p class="p">When you <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8979864563610" target="_blank">create a generative procedure</a>, the system
generates a procedure map to visualize the steps the AI agent will take during a
conversation with a customer. That procedure map is made up of blocks. Each block
represents a different kind of step, such as messaging the customer, collecting
details, making a decision, connecting to your systems, or handing off to another
flow. </p>
<p class="p">The image below shows an example of a procedure map and the blocks it contains:</p>
<p class="p"><img class="image" id="topic_zsm_51s_t3c__image_dk3_hjs_t3c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/aiaa_procedure_map_example.png" width="600"></p>
<p class="p">The table below describes the available procedure block types.</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_zsm_51s_t3c__table_nkb_whs_t3c" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<tbody class="tbody">
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;"><strong class="ph b">Block type</strong></td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;"><strong class="ph b">Description</strong></td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Generate answer</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent sends information to the customer,
such as a confirmation, status update, or explanation. After
sending the message, it automatically continues to the next step
in the procedure.</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Ask question</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent asks the customer a question to
collect required information, such as an order number or email
address. After asking, the procedure waits for the customer’s
reply before continuing. If the reply is unclear or incomplete,
the AI agent may ask again or ask a clarifying question.</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Collect parameter</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent saves a piece of information, called a
parameter, into the conversation so it can be reused later in
the procedure. This parameter is often based on a customer’s
answer or a detail mentioned earlier in the conversation. This
helps the AI agent remember important details and use them in
later steps (for example, when running an integration).</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Check condition</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent checks a condition and then continues
down the matching path. This is how procedures handle branching
logic, like sending customers down different steps depending on
their selection or situation.</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" style="vertical-align:top;">
<p class="p">Run integration </p>
<p class="p"><em class="ph i">(API integration)</em></p>
</td>
<td class="entry cell-norowborder" style="vertical-align:top;">
<p class="p" dir="ltr">The AI agent performs an action in a connected
external system (for example, looking up an order, checking
shipping status, or updating an address), then continues
after the result of the action is returned. Before running
the action, the AI agent checks whether any parameters are
required, such as an order number or email address:</p>
<ul class="ul" id="topic_zsm_51s_t3c__ul_okb_whs_t3c">
<li class="li" dir="ltr">
<p class="p" dir="ltr">If the required details are already
available, the AI agent doesn’t ask again and
proceeds with the action.</p>
</li>
<li class="li" dir="ltr">
<p class="p" dir="ltr">If any required details are missing, the AI
agent asks the customer for the details and saves
them before running the action.</p>
</li>
</ul>
<p class="p" dir="ltr">If an API integration can’t be completed, the AI
agent follows the procedure’s defined fallback behavior when
available. Otherwise, it continues with a next-best step
(for example, asking a follow-up question or escalating),
depending on how your experience is set up.</p>
</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" style="vertical-align:top;">
<p class="p">Perform action </p>
<p class="p"><em class="ph i">(CRM action)</em></p>
</td>
<td class="entry cell-norowborder" style="vertical-align:top;">
<p class="p" dir="ltr">The AI agent performs an action in your CRM system
(for example, creating a ticket or updating a customer
record), then continues after the result of the action is
returned.</p>
<p class="p" dir="ltr">Before running the action, the AI agent checks
whether any parameters are required, such as an order number
or email address:</p>
<ul class="ul" id="topic_zsm_51s_t3c__ul_pkb_whs_t3c">
<li class="li" dir="ltr">
<p class="p" dir="ltr">If the required details are already
available, the AI agent doesn’t ask again and
proceeds with the action.</p>
</li>
<li class="li" dir="ltr">
<p class="p" dir="ltr">If any required details are missing, the AI
agent asks the customer for the details and saves
them before running the action.</p>
</li>
</ul>
</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Search for knowledge</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent searches your connected knowledge
sources and responds based on what it finds. The procedure then
continues. If the search result is unclear or missing
information, the AI agent may ask a follow-up question or
proceed with a fallback path, depending on how the procedure is
set up.</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Answer with knowledge</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The AI agent generates an answer to the customer’s
question using the knowledge it found while executing the Search
for knowledge block.</td>
</tr>
<tr class="row">
<td class="entry nocellnorowborder" dir="ltr" style="vertical-align:top;">Link to</td>
<td class="entry cell-norowborder" dir="ltr" style="vertical-align:top;">The procedure hands off to another flow, such as a
shared identity verification step, an escalation flow, or
another use case. Once a Link to step runs, the current
procedure ends and the linked flow takes over.</td>
</tr>
<tr class="row">
<td class="entry row-nocellborder" dir="ltr" style="vertical-align:top;">Escalate to</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">The conversation is handed off to a human agent or
team. After escalation, the AI agent stops and the procedure
ends.</td>
</tr>
</tbody>
</table>
</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/10473649691418",
"url": "https://support.zendesk.com/hc/en-us/articles/10473649691418",
"headline": "About generative procedures for AI agents",
"description": "You can create generative procedures to define flexible conversation flows for AI agents that adapt to customer responses while following your business policies during support interactions.",
"articleSection": "Using generative replies with advanced AI agents",
"datePublished": "2026-03-26T15:33:10+00:00",
"dateModified": "2026-05-12T13:15:10.024148+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/10473649691418"
},
"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"
}
}</script>
</body>