Creating deletion schedules for custom object records

<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 style="margin-left: 0px; margin-right: auto;">
<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 style="margin-left: 0px; margin-right: auto;">
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Enterprise</td>
</tr>
</tbody>
</table>
</div>
</div>
<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">
Create deletion schedules for custom object records to manage data retention
and comply with regulations. You can set up to 10 schedules per object,
with one active at a time, or more with an add-on. Use condition statements
to specify criteria like "Last updated" or custom fields for record deletion.
This helps automate data management and ensures compliance with retention
policies.
</p>
</div>
<div class="body">
<p class="p">
Data retention policies are critical when
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408835043994" target="_blank">managing data storage</a>
in your account and complying with
industry regulations about the retention of certain data types. Custom
object record
deletion schedules allow admins and
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408882153882" target="_blank">agents in custom roles</a>
with permission to create data
retention policies for custom data in your Zendesk account.
</p>
<div class="p">
For example, you can create custom object record deletion schedules such
as the
following:
<ul class="ul" id="topic_ihr_23w_ghc__ul_i1k_2kn_3hc">
<li class="li">
Delete temporary order records 30 days after a ticket associated
with the order
is solved.
</li>
<li class="li">
Delete product registration records or service orders older than
3 years.
</li>
<li class="li">
Delete denied loan applications after 180 days to comply with
data retention
policies.
</li>
</ul>
</div>
<div class="p">
This article contains the following topics:
<ul class="ul" id="topic_ihr_23w_ghc__ul_xgk_p3w_ghc">
<li class="li">
<a class="xref" href="#topic_rpj_2jw_ghc">Creating a deletion schedule for a custom object's records</a>
</li>
<li class="li">
<a class="xref" href="#topic_sxn_sfy_m1c">Building condition statements for custom object record deletion schedules</a>
</li>
</ul>
</div>
<div class="p">
Related articles:
<ul class="ul" id="topic_ihr_23w_ghc__ul_fyn_1kw_ghc">
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8301879320474" target="_blank">Managing deletion schedules</a>
</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_rpj_2jw_ghc">
<h2 class="title topictitle2" id="ariaid-title2">Creating a deletion schedule for a custom object's records</h2>
<div class="body">
<p class="p">
Admins and
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408882153882" target="_blank">agents in custom roles</a>
with permission can
create up to 10 deletion schedules per custom object, but only one
of the deletion
schedules can be active at a time. If you have the
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6561144266906" target="_blank">Advanced Data Privacy and Protection add-on</a>,
you can
activate up to 10 custom object deletion schedules per object.
</p>
<p class="p">
<strong class="ph b">To create a custom object record deletion schedule</strong>
</p>
<ol class="ol" id="topic_rpj_2jw_ghc__ol_mb5_q1v_qzb">
<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_account_icon.png">
<strong class="ph b">Account</strong> in the sidebar, then select <strong class="ph b">Security &gt; Deletion schedules</strong>.</span>
</li>
<li class="li">
Click <strong class="ph b">Create deletion schedule</strong>
and then select the name of your custom
object that you want to create a deletion schedule for.
<p class="p">
If you already have 10
deletion schedules created for that object, a message appears
notifying you
that you’ve reached your limit. You must delete a schedule
before you can
create a new one.
</p>
</li>
<li class="li">
Enter the <strong class="ph b">Schedule name</strong>.
<p class="p">
Use a consistent naming convention to help you
recognize similar types of deletion schedules.
</p>
</li>
<li class="li">
(Optional) Enter a <strong class="ph b">Description</strong>
for your deletion schedule.
</li>
<li class="li">
For <strong class="ph b">Category</strong>, indicate when to
delete records based on when the record
was <strong class="ph b">Last updated</strong>. This field is
required.
</li>
<li class="li">
Click <strong class="ph b">Add condition</strong> to add an additional
<em class="ph i">All</em> condition for
deleting the records, based on other properties of the record.
<p class="p">
If you have the
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6561144266906" target="_blank">Advanced Data Privacy and Protection
add-on</a>,
you can add deletion criteria that meet <em class="ph i">All</em>
or
<em class="ph i">Any</em> conditions. There is no limit to
the number of conditions you
can add.
</p>
</li>
<li class="li">
Select a <strong class="ph b">Category</strong>,
<strong class="ph b">Operator</strong>, and
<strong class="ph b">Value</strong> for each
condition.
<p class="p">
The operator determines the relationship between the category
and the value. For example, if you select the operator
<em class="ph i">Is</em>, your
category must equal the value.
</p>
<p class="p">
<img class="image img-screenshot" id="topic_rpj_2jw_ghc__image_unc_hs2_rzb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/deletion_schedule_conditions.png" width="750">
</p>
</li>
<li class="li">
(Optional) After conditions are added, click
<strong class="ph b">Preview</strong> to preview an
approximate number of records that match and will be deleted
when the schedule
is active.
<div class="note" id="topic_rpj_2jw_ghc__note_bxj_qyc_rzb">
<span class="notetitle">Note:</span> Admins will see all a complete list of records that match and will be deleted. However, because of <a href="https://support.zendesk.com/hc/en-us/articles/6034260247066">custom object permissions</a>, agents in custom roles to see the number of that object's records they have access to that will be deleted, which might differ from the admin's preview.
</div>
</li>
<li class="li">
Click <strong class="ph b">Create</strong>.
<p class="p">
Your new deletion schedule is added to the end of the
list as an inactive schedule.
</p>
</li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8301879320474#topic_nlj_q4y_fdc" target="_blank">Activate</a>
the deletion schedule.
</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_sxn_sfy_m1c">
<h2 class="title topictitle2" id="ariaid-title3">
Building condition statements for custom object record deletion schedules
</h2>
<div class="body">
<p class="p">
Condition statements consist of categories, field operators, and
condition values,
which vary depending on the category selected. Condition statements
are essentially
"if" statements that delete custom object records meeting the specified
criteria.
</p>
<p class="p">
The table below lists the categories available for building condition
statements for
custom object record deletion schedules.
</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_sxn_sfy_m1c__table_hvf_2gy_m1c" rules="all" style="margin-left: 0px; margin-right: auto;" summary="">
<caption>
<span class="tablecap"><span class="table--title-label">Table 1. </span>Custom object record deletion schedule categories</span>
</caption>
<colgroup>
<col style="width: 30.03003003003003%;">
<col style="width: 69.96996996996997%;">
</colgroup>
<thead class="thead" style="text-align: left;">
<tr class="row">
<th class="entry cellrowborder" id="d52e258" style="vertical-align: top;">Category</th>
<th class="entry cellrowborder" id="d52e261" style="vertical-align: top;">Description</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d52e258" style="vertical-align: top;">Last updated</td>
<td class="entry cellrowborder" headers="d52e261" style="vertical-align: top;">
Deletes records based on when they were last
updated. At
least one Last updated condition is required.
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e258" style="vertical-align: top;">Created at</td>
<td class="entry cellrowborder" headers="d52e261" style="vertical-align: top;">Deletes records based on when they were created.</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e258" style="vertical-align: top;">Custom fields</td>
<td class="entry cellrowborder" headers="d52e261" style="vertical-align: top;">Deletes records based on custom field values.</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/9958151802522",
"url": "https://support.zendesk.com/hc/en-us/articles/9958151802522-Creating-deletion-schedules-for-custom-object-records",
"headline": "Creating deletion schedules for custom object records",
"description": "You can create and activate deletion schedules with condition statements to manage the retention and automated deletion of custom object records based on criteria like last updated or custom fields.",
"articleSection": "Protecting your customer's data",
"datePublished": "2025-11-17T18:51:01+00:00",
"dateModified": "2025-11-17T18:59:39+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/9958151802522"
},
"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": "Security",
"@id": "https://support.zendesk.com/hc/en-us/sections/9641715451034"
}
}
}</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>