Understanding how creating, deactivating, or deleting ticket fields impacts tickets

<body>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Verified AI summary <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">Learn how creating, deactivating, or deleting custom ticket fields impacts your tickets and the API. Creating fields adds new data options, while deactivating retains data for future use. Altering drop-down options affects tags and reporting. Deleting fields permanently removes them from the interface, but data remains in the ticket audits endpoint. Manage fields carefully to maintain data integrity and reporting accuracy.</p>
</div>

<div class="body">
<p class="p">When using custom ticket fields, there are different actions available. Each of these
actions affect tickets and the API differently.</p>
<div class="p">This article includes the following topics:<ul class="ul" id="topic_eqn_ks4_htb__ul_d3h_ss4_htb">
<li class="li"><a class="xref" href="#topic_hks_zt4_htb">Creating new custom ticket fields</a></li>
<li class="li"><a class="xref" href="#topic_cc1_5pp_htb">Altering drop-down field options</a></li>
<li class="li"><a class="xref" href="#topic_clx_ss4_htb">Deactivating custom ticket fields</a></li>
<li class="li"><a class="xref" href="#topic_d1j_mt4_htb">Deleting custom ticket fields</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_hks_zt4_htb">
<h2 class="title topictitle2" id="ariaid-title2">Creating new custom ticket fields</h2>
<div class="body">
<p class="p">When you <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408883152794" target="_blank">create custom ticket fields</a>, you are
adding the option to capture additional information in each ticket.</p>
<div class="p">
<div class="note note">
<span class="notetitle">Note:</span> You can't alter a field type after the custom ticket field is created. You
will need to create a new custom field and remove the original from your ticket
form.</div>
</div>
<p class="p"><strong class="ph b">Agent interface</strong></p>
<p class="p">For all tickets, regardless of status, the new ticket field appears on the ticket
form in the agent interface. It displays a null '-' or empty value depending on the
type of custom field.</p>
<p class="p"><strong class="ph b">API</strong></p>
<p class="p">The newly created ticket field alters all tickets with a status less than closed when
a value is added to the field. If the new field is added to a ticket form, but data
is never added to the field, it won't appear in the ticket audit endpoint. This is
true for all tickets with custom fields but no data added, regardless of when the
fields are created.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_cc1_5pp_htb">
<h2 class="title topictitle2" id="ariaid-title3">Altering drop-down field options</h2>
<div class="body">
<p class="p">Drop-down fields display the same behavior as other custom ticket fields in tickets,
reporting, and the API. However, drop-down field options can be changed and deleted.
It is important to note drop-down field options are directly connected to their
assigned tag. For example, in the image below, the drop-down field value <em class="ph i">red</em>
has the tag <em class="ph i">color_red</em>.</p>
<p class="p"><img class="image img-screenshot" id="topic_cc1_5pp_htb__image_o1v_nrp_htb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ticket_field_dropdown_value_tag.png" width="400"></p>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_kty_prp_htb">
<h3 class="title topictitle3" id="ariaid-title4">Changing drop-down field options and tags</h3>
<div class="body">
<p class="p">Changing the field value but not its tag effectively replaces the old field
option. Reusing tags for new fields isn't recommended because it replaces the
existing value on all tickets, including closed and archived tickets, and can
skew reporting. If you want to edit an existing drop-down field value, you can
ensure the value is replaced in all instances by keeping the same tag. This is
useful for reporting if you only want to report on a new value, not a new
tag.</p>
<p class="p">Deleting a field option will change the ticket field to a null value in all
tickets with the field option. If you re-add the option, along with the same
associated tag, then the ticket field will be selected again automatically. </p>
<div class="p">If you edit a drop-down field by changing its tags, the following occurs:<ul class="ul" id="topic_kty_prp_htb__ul_drq_h5z_q3c">
<li class="li">Existing tickets, including closed and archived tickets, aren't updated
and retain the original tag.</li>
<li class="li">The option associated with the tag is deselected from all tickets where
it is selected, which effectively removes historic field values from
tickets and can skew reporting.</li>
<li class="li">If the field option tag <em class="ph i">does not</em> exist on a ticket, the field
reverts to a 'null' value. </li>
<li class="li">If the field option tag <em class="ph i">does</em> exist on a ticket, the field reverts
to a 'null' value until an update occurs. After an update, Zendesk
re-reads the tags and selects the correct field option. </li>
</ul>
</div>
<p class="p">If you have any macros, views, triggers, or automations that use the custom field
that you're editing, the tag must remain the same for the business rule to continue
functioning. If the tag no longer exists for a given field value, the business
rule will return an error.</p>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_ez2_srp_htb">
<h3 class="title topictitle3" id="ariaid-title5">Deleting drop-down field options</h3>
<div class="body">
<div class="p">When you delete a drop-down field option, your tickets are affected in the
following ways:<ul class="ul" id="topic_ez2_srp_htb__ul_y4t_5rp_htb">
<li class="li">
<strong class="ph b">Closed and archived tickets</strong> display a yellow caution icon with a
<em class="ph i">Missing field value</em> warning next to a deleted value selected
in a drop-down field.<p class="p"><img class="image img-screenshot" id="topic_ez2_srp_htb__image_spb_lsp_htb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ticket_field_deleted_dropdown_value.png" width="300"></p>
</li>
<li class="li">
<strong class="ph b">Unclosed tickets (including solved)</strong> replace the deleted value
with a null '-' value. No error is displayed in the ticket.</li>
</ul>
</div>
<p class="p">The tag from the drop-down field isn't deleted from the ticket tag field, so you
can still use the tag in your reports. This also means that if you create a new
drop-down field option with an identical tag, the ticket field will change back
to the selected value. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408824384538" target="_blank">Reporting with custom fields</a>.</p>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested1" id="topic_clx_ss4_htb">
<h2 class="title topictitle2" id="ariaid-title6">Deactivating custom ticket fields</h2>
<div class="body">
<p class="p">Any data lost from a deactivated field can be recovered again by reactivating the
field. After reactivation, the field is available in the ticket view of the agent
interface again.</p>
<p class="p"><strong class="ph b">Agent interface</strong></p>
<p class="p">For all tickets, regardless of status, deactivating a ticket field removes it from
the agent interface.</p>
<p class="p"><strong class="ph b">API</strong></p>
<p class="p">The data in a deactivated ticket field remains stored in the <a class="xref" href="https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/?_ga=2.56954026.1002092961.1650288474-999012820.1649788949#show-audit" target="_blank">ticket audits endpoint</a>.</p>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested1" id="topic_d1j_mt4_htb">
<h2 class="title topictitle2" id="ariaid-title7">Deleting custom ticket fields</h2>
<div class="body">
<p class="p">If you delete a custom ticket field, you won't be able to recreate or recover the
field or its data. If you'd like to preserve the field data, deactivate the field
instead.</p>
<p class="p"><strong class="ph b">Agent interface</strong></p>
<p class="p">For all tickets, regardless of status, deleting a ticket field removes it from the
agent interface permanently.</p>
<p class="p"><strong class="ph b">API</strong></p>
<p class="p">When a custom field is deleted, its data (including the field ID), is saved in the
API. The <a class="xref" href="https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/?_ga=2.56954026.1002092961.1650288474-999012820.1649788949#show-audit" target="_blank">ticket audits endpoint</a> tracks and stores
every change to a ticket, including custom ticket field data after the field itself
is deleted. This is the only location deleted custom ticket field data is
stored.</p>
</div>
</div>
<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>