Config Guardian
Dated copies of your Zendesk Support configuration, the difference between any two of them or against the live account, and a restore that simulates first, copies before writing and can be undone. Everything runs in your browser with your own admin session; nothing leaves your account.
Snapshots
Open the app from the left navigation bar of Support and click Take a snapshot on the Dashboard or on the Snapshots screen. The app reads, in this order, groups, ticket fields, user and organization fields, ticket forms, custom statuses, dynamic content with every variant, schedules with holidays, SLA policies, trigger categories, macros, views, automations and triggers, plus brands, webhooks, targets and support addresses to resolve references. A thousand triggers and two thousand macros take about a hundred requests and a minute or two; keep the tab open.
Every snapshot carries the date, who took it, an optional note, the counts per type, and a SHA-256 hash of its content. It is kept in your browser; on Pro and Business you can also save it inside your Zendesk (see Storage), and on any plan you can download it as JSON. Pro and Business also download a ZIP with snapshot.json, a MANIFEST.json listing the hash of every file, and a README.
Zendesk plans that do not include SLA policies or schedules answer "forbidden" for those types; the snapshot records that fact and everything else works. Usage counts of triggers, automations and macros (last 30 days) are included when your Zendesk plan exposes them (Support Professional, Suite Growth and above).
Compare
Pick side A and side B: a snapshot each, or the live account on one side (the app takes a fresh copy in memory without saving it). The result is grouped by type with four counts: created, deleted, changed and reordered. Open a changed object to see every changed value before and after, with the path in the words Zendesk uses ("Conditions (all) › 2 › value", "Actions › 1 › value", "Options › Beta › name"). A deleted object and a created one with the same title are shown as a pair, because that is usually a rule someone recreated.
Tick the objects you want to bring back and click Restore the selection, or restore a whole type or the whole snapshot from the Restore screen.
Restore
A restore always happens in three steps.
- Simulation. The app lists every operation it would send, in the order it would send them (groups first, then fields, forms, statuses, dynamic content, schedules, SLA policies, categories, macros, views, automations, triggers, then positions), with a warning where something needs your attention: a rule that references a group or a field that no longer exists, a system field of which only some attributes can change, a macro with attachments that cannot be restored, a trigger that will be written inactive. Nothing is sent during the simulation.
- Automatic copy. Right before the first write, the app takes a snapshot of the live account tagged "pre-restore" and saves it. If that copy cannot be taken, the restore does not start.
- Run. Operations go out one by one through Zendesk's API, with progress and a cancel button. Each result is listed: done, skipped with the reason, or failed with the message Zendesk returned. Objects that no longer existed are created again and get a new id; rules restored later that referenced the old id are rewired to the new one.
Safe mode (on by default) writes triggers and automations inactive whatever their state in the snapshot, and lists them afterwards so you can activate them one by one in Admin Center or in the app. Switch it off only when you know what you are restoring.
Extras. An object that exists in the account but not in the snapshot is left alone unless you tick "delete objects missing from the snapshot" for that type. Ticket, user and organization fields and custom statuses are never deleted by the app: deleting a field destroys the data it held in every ticket, so the app only deactivates them.
Undo. Every run shows the pre-restore copy it took; restoring that copy undoes the run. Runs with more than ten operations or with any deletion ask you to type RESTORE before starting.
From another account (Business). Upload a snapshot taken on your sandbox or on another account. Objects are matched by title (fields also by tag, groups by name, brands by subdomain); the simulation lists what could not be matched so you can create it first.
Health and dependencies
The Health screen reads the latest snapshot and lists: references to deleted or inactive fields, groups, users, forms, statuses, schedules, webhooks, targets and dynamic content (critical); rules and macros unused in the last 30 days (warning, only when usage is available); rules inactive for more than 90 days; two rules with the same conditions; macros with identical actions; triggers without actions; views and forms that show inactive fields; custom fields in no form; dynamic content with outdated variants; empty trigger categories; schedules without intervals. Each finding names the objects involved and links to Admin Center. Export the list as CSV.
The Dependencies screen (Pro and Business) answers two questions for any object: what does it reference, and what references it. Look there before you deactivate a group or a field.
Storage
Copies live in three places. Your browser keeps them per Zendesk account (two on Free, thirty on Pro, unlimited on Business). Files are yours to keep anywhere. On Pro and Business, Settings › Storage › Enable account storage creates a custom object named "Config Guardian snapshot" in your Zendesk and saves each copy as a few compressed records of at most 32 KB each (Zendesk's limit per record), so any admin of the account can restore from them even from another computer. Pro keeps the last thirty copies in the account; Business keeps all of them. Suite Team accounts have three custom objects: if all three are in use the app tells you and keeps working with the browser and files.
Uninstalling the app does not delete the custom object or its records; delete them from Settings before uninstalling, or later from Admin Center › Objects and rules › Custom objects.
Plans and Zendesk plan differences
| Free | Pro · $69 | Business · $149 | |
|---|---|---|---|
| Snapshots, JSON download, compare with the live account, structural health | ✓ | ✓ | ✓ |
| Compare any two snapshots | — | ✓ | ✓ |
| Restore with simulation, pre-restore copy and undo | — | ✓ | ✓ |
| Usage-based health, dependency map, ZIP with hashes | — | ✓ | ✓ |
| Copies stored in your account | — | Last 30 | Unlimited |
| Restore from another account, evidence records, printable change report, priority support | — | — | ✓ |
Prices are per Zendesk account per month, with a 14-day free trial on paid plans. Zendesk's own plan changes what the app can read: SLA policies and schedules exist on Support Professional and Suite Growth and above; usage counts on the same plans; custom objects on Suite Team (3), Growth (5), Professional (30) and Enterprise (50).
Questions
Does a restore fire the triggers it touches? Updating or creating a trigger does not run it on existing tickets; triggers act on future ticket events. With safe mode on they are written inactive anyway.
Why was an operation skipped? The most common reason is a reference to an object that exists neither in the account nor in the same restore: a group deleted last month, a field somebody removed. Create it, or include it in the restore, and run the simulation again.
Can I restore only the positions? Yes: select the type and tick only "restore order" in the options; the simulation shows a single reorder operation.
Where are dynamic content changes? Zendesk lets an item change only its name; its variants are separate operations (created, updated or deleted per language) and the simulation shows them under the item.
Can agents use it? No. The app is for administrators; an agent sees an explanation screen. Restrict the app to the admin role on the installation screen.
How do I verify a downloaded ZIP? MANIFEST.json lists the SHA-256 of every file; on Windows certutil -hashfile snapshot.json SHA256, on macOS or Linux sha256sum snapshot.json must match. The snapshot's own hash is shown in the app and printed in the README.
Support: support@helpcenterdoctor.app, answered within one business day.