Creating deletion schedules for custom object records

Verified AI summary ◀▼
Create deletion schedules for custom object records to manage data retention and comply with regulations. You can set up to 10 schedules per object, using conditions like last updated or custom fields to determine when records are deleted. Preview records before activating schedules to ensure accuracy. This feature helps maintain data privacy and organization by automatically removing outdated or unnecessary records.




Data retention policies are critical when managing data storage in your account and complying with
industry regulations about the retention of certain data types. Custom object record deletion schedules allow admins and
agents in custom roles with permission to
create data retention policies for custom data in your Zendesk account.
For example, you can create custom object record deletion schedules such as the
following:
Delete temporary order records 30 days after a ticket associated with the order
is solved.
Delete product registration records or service orders older than 3 years.
Delete denied loan applications after 180 days.


This article contains the following topics:
Creating a deletion schedule for a custom object's records
Building condition statements for custom object record deletion schedules


Related articles:
Managing deletion schedules




Creating a deletion schedule for a custom object's records

Admins and agents in custom roles 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 Advanced Data Privacy and Protection add-on, you can
activate up to 10 custom object deletion schedules per object.
To create a custom object record deletion schedule

In Admin Center, click
Account in the sidebar, then select Security > Deletion schedules.
Click Create deletion schedule and then select the name of your custom
object that you want to create a deletion schedule for. 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.

Enter the Schedule name. Use a consistent naming convention to help you
recognize similar types of deletion schedules.

(Optional) Enter a Description for your deletion schedule.
For Category, indicate when to delete records based on when the record
was Last updated. This field is required.

Click Add condition to add an additional All condition for
deleting the records, based on other properties of the record. See Building condition statements for custom object record deletion schedules.
If you have the Advanced Data Privacy and Protection
add-on, you can add deletion criteria that meet All or
Any conditions. There is no limit to the number of conditions you
can add.

Select a Category, Operator, and Value for each
condition. The operator determines the relationship between the category
and the value. For example, if you select the operator Is, your
category must equal the value.


(Optional) After conditions are added, click Preview to preview an
approximate number of records that match and will be deleted when the schedule
is active.
Note: Admins see a complete list of records that match and will be
deleted. However, because of custom object permissions, the
number of records to be deleted that is displayed to agents reflects only
the records they have access to.

Click Create. Your new deletion schedule is added to the end of the
list as an inactive schedule.


Activate the deletion schedule.




Building condition statements for custom object record deletion schedules

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.
The table below lists the categories available for building condition statements for
custom object record deletion schedules.



Table 1. Custom object record deletion schedule categories






Category
Description




Last updated
Deletes records based on when they were last updated. At
least one Last updated condition is required.


Created at
Deletes records based on when they were created.


Custom fields
Deletes records based on custom field values.








//
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);
//