Understanding object triggers

<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_e">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Enterprise</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="body">
<p class="p">In addition to using custom objects related to tickets in ticket triggers, you can also define triggers that run any time an object's record is created or updated. These are called <em class="ph i">object triggers</em>. For example, when an agent creates a new custom object record, the object triggers defined for that custom object fire and can update the record accordingly.</p>
<div class="p">This article contains the following topics:
<ul class="ul" id="topic_n5z_lpy_dzb__ul_mtw_mch_2zb">
<li class="li"><a class="xref" href="#topic_fw4_q1t_mbc">Requirements and limitations</a></li>
<li class="li"><a class="xref" href="#topic_rpy_4ch_2zb">Understanding object triggers for custom objects</a></li>
<li class="li"><a class="xref" href="#topic_b2z_2fh_2zb">Determining which type of trigger to use</a></li>
</ul>
</div>
<div class="p">Related articles:
<ul class="ul" id="topic_n5z_lpy_dzb__ul_a5y_f4k_mbc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7313293890970" rel="noopener" target="_blank">Creating object triggers</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7313293784218" rel="noopener" target="_blank">Object triggers conditions and actions reference</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7313294079130" rel="noopener" target="_blank">Managing object triggers</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_fw4_q1t_mbc">
<h2 class="title topictitle2" id="ariaid-title2">Requirements and limitations</h2>
<div class="body">
<div class="p">To create and use object triggers, the following must be true:
<ul class="ul" id="topic_fw4_q1t_mbc__ul_zmz_s1t_mbc">
<li class="li">You've <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6073693948058" rel="noopener" target="_blank">activated custom objects</a>.</li>
<li class="li">You've <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5392409465370" rel="noopener" target="_blank">created at least one custom object</a>.</li>
</ul>
</div>
<div class="p">Consider the following limitations when creating and using object triggers:
<ul class="ul" id="topic_fw4_q1t_mbc__ul_igj_1bt_mbc">
<li class="li">Object triggers only support custom objects.</li>
<li class="li">You can have a maximum of 100 active triggers per object.</li>
<li class="li">You can create a maximum of 500 triggers total, including active and inactive triggers, per object.</li>
<li class="li">An object trigger can contain a maximum of 50 total conditions. This includes both "all" and "any" conditions.</li>
<li class="li">Within an object trigger condition that supports multi-select, you can select a maximum of 50 values.</li>
<li class="li">An object trigger can contain a maximum of 25 actions.</li>
<li class="li">An object trigger can't exceed 64 KB in size.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_rpy_4ch_2zb">
<h2 class="title topictitle2" id="ariaid-title3">Understanding object triggers for custom objects</h2>
<div class="body">
<p class="p">Object triggers are created and managed on the Object tab of the Triggers page in Admin Center.</p>
<p class="p"><img class="image" id="topic_rpy_4ch_2zb__image_eww_nt4_jzb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/object_triggers_page.png" width="600"></p>
<p class="p">Object triggers can be created only for custom objects. Just as ticket triggers run when a ticket is created or updated, object triggers run when the specified custom object's records are created or updated. When a custom object record event occurs, any triggers that exist for that object are evaluated. After all of that object's triggers are evaluated, one update is made to the record with all applicable changes. If there are two applicable actions that set a value for the same field, the last write will be the one you see.</p>
<p class="p"><img class="image" id="topic_rpy_4ch_2zb__image_cl2_mgh_2zb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/object-trigger-cycle.png" width="500"></p>
<p class="p">For example, let's say you're an IT department using custom objects to manage assets, such as software licenses and laptop assignments. You have a custom object named <em class="ph i">Asset</em>, which has a custom drop-down field named <em class="ph i">Type</em>, a checkbox named <em class="ph i">Requires approval</em>, and a lookup relationship field pointing to users named <em class="ph i">Asset owner</em>. If you define an object trigger for the Asset object, any time an agent creates or updates an asset record, the trigger fires. You might create a trigger that automatically assigns a default user as the owner if <em class="ph i">Requires approval</em> is checked and no <em class="ph i">Asset owner</em> is specified in the record, or you might want to define a trigger that notifies the asset owner any time their asset's record is updated or a new asset is created and they're listed as the owner.</p>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="topic_b2z_2fh_2zb">
<h2 class="title topictitle2" id="ariaid-title4">Determining which type of trigger to use</h2>
<div class="body">
<p class="p">Determining which type of trigger to use is based largely on the type of event that results in the trigger running. If you want the trigger to run when a ticket is created or updated, use a ticket trigger. If you want the trigger to run when a custom object record is created or updated, use an object trigger. Both ticket triggers and object triggers can update fields on the object it's based on as well as fields related to the object. That means a ticket trigger can have conditions and actions based on a custom object as long as there is a ticket lookup relationship field pointing to that custom object. Likewise, an object trigger can have conditions and actions based on tickets if the custom object contains a lookup relationship field pointing to a ticket.</p>
<p class="p">Ticket triggers can update fields on the object it's based on (tickets) as well as some fields related to the object, such as requester (user) and organization. A ticket trigger can have conditions and actions based on a custom object as long as there is a ticket lookup relationship field pointing to the custom object.</p>
</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/6294230624410",
"url": "https://support.zendesk.com/hc/en-us/articles/6294230624410-Understanding-object-triggers",
"headline": "Understanding object triggers",
"description": "You can create and manage object triggers that run when custom object records are created or updated, allowing you to automate updates and actions based on specific conditions within those records.",
"articleSection": "Custom data",
"datePublished": "2023-10-23T17:38:41+00:00",
"dateModified": "2025-09-05T23:28:52+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/6294230624410"
},
"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>