How to automatically close inactive support tickets in WordPress
WordPress does not include a support-ticket system or a universal inactivity rule. Use your helpdesk’s built-in automation where available; otherwise, you need a ticketing add-on or custom code that checks ticket status and last activity on a schedule. Warn customers first and exclude statuses that must stay open.
- 01Define when inactivity starts
- 02Check your helpdesk settings
- 03Configure the manual route
- 04Add warning emails
- 05Make the schedule reliable
- 06Test before enabling it
- 07Use a dedicated add-on
What you need
- A WordPress helpdesk or ticketing plugin
- Administrator access to WordPress
- A reliable email delivery method
- A backup or staging site for rule changes
Define when inactivity starts
Decide what counts as inactivity before changing any settings. In most support workflows, the clock should start after the latest customer or agent reply, not when the ticket was created.
Choose a sensible period, such as 7, 14, or 30 days, and identify statuses that are waiting for the customer. Do not include statuses such as Escalated, Waiting for vendor, or Under investigation unless your team has agreed that they may be closed automatically.
Check your helpdesk settings
Open your ticketing plugin’s settings and look for an option named something like automatic close, inactive tickets, ticket ageing, or workflow automation. WordPress core has no setting that can close arbitrary support tickets, so the option must come from the helpdesk system or custom development.
If your helpdesk already supports inactivity rules, use that native feature instead of adding a second automation. Multiple rules can close the same ticket or send duplicate messages.
Configure the manual route
Set the rule to check only the selected ticket statuses, use the last activity date, and change qualifying tickets to a dedicated closed status. Add a closing note or customer message explaining that the ticket was closed because no reply was received.
This route is fine when your helpdesk provides these controls. If it does not, there is no dependable WordPress-only switch to add them. You would need custom code that queries the helpdesk’s ticket data and runs on a scheduled task, and that code must use the helpdesk’s documented API or data model.
Add warning emails
Send at least one warning before closure, for example three days before the deadline. Tell the customer how long they have to reply and whether replying will reopen the ticket or require a new request.
Use the ticket system’s own notification templates so the message includes the correct ticket reference. Test delivery with a real customer account, because a saved template does not prove that mail is reaching inboxes.
Make the schedule reliable
Automatic closure normally depends on a scheduled task. WordPress Cron checks scheduled work during page loads, so a quiet site, blocked loopback request, or disabled Cron can delay closures. WordPress’s documentation notes that a task due at 2:00pm may not run until the next page load.
Check the scheduled-task log after saving the rule. On a low-traffic or business-critical site, ask your host to run a real server scheduler that triggers WordPress Cron. If custom code is used, schedule the event only once with wp_next_scheduled(); repeatedly scheduling it can create duplicate jobs.
Test before enabling it
Create test tickets with each relevant status and arrange for their last activity dates to pass the rule, or use the helpdesk’s test or manual-run facility. Confirm that an excluded status stays open, a warning is sent at the right time, and a customer reply prevents closure where that behaviour is supported.
Review the first batch of automatically closed tickets the next working day. The common Friday failure is a rule aimed at every open ticket, which closes cases waiting on your team rather than cases waiting on the customer.
Use a dedicated add-on
If your helpdesk lacks native inactivity automation, SupportCandy’s Automatic Close Tickets add-on is a direct way to add it. In SupportCandy, go to Support → Settings → Automatic Close Tickets, select the ticket statuses to check, set the inactive age in days, and choose the close status.
For advance warnings, go to Support → Email Notifications → Automatic Close Tickets and create templates for the chosen number of days before closing. A customer reply removes the ticket from automatic closing, according to the add-on documentation.
Let SupportCandy do it
Adds inactivity rules and warning emails to SupportCandy, ideal for keeping unresolved ticket queues clean automatically.
Sources
- developer.wordpress.org /plugins/cron/?utm_source=openai
- developer.wordpress.org /plugins/cron/scheduling-wp-cron-events/?utm_source=openai
- supportcandy.net /docs/act-general-settings/?utm_source=openai
- supportcandy.net /docs/act-email-notification-templates/?utm_source=openai
- supportcandy.net /docs/ticket-list-advance-settings/?utm_source=openai
Questions
- Can WordPress close support tickets without a plugin?
- No, WordPress core cannot close support tickets because it does not provide a ticketing system or a standard ticket-status database. You can build the feature with custom code, but that code must know how your helpdesk stores tickets, identifies last activity, changes status, sends email, and runs scheduled tasks. For most sites, a helpdesk feature or compatible add-on is safer.
- Should inactivity be measured from ticket creation or the last reply?
- Measure inactivity from the latest relevant reply or ticket activity, not from ticket creation. A ticket may remain open for weeks while agents investigate it, but it should not be closed merely because it is old. Restrict the rule to statuses where the customer is expected to respond, and exclude tickets waiting on your team, a supplier, or an internal escalation.
- Will a customer reply stop an automatic closure?
- It depends on the ticket system, so verify this before enabling the rule. A well-designed inactivity workflow checks the ticket again at closure time and removes it from the queue when a new reply arrives. Test both an email reply and a portal reply, because integrations can record those as different kinds of activity.
- Why are inactive tickets not closing on time?
- The scheduled task may not be running. WordPress Cron is triggered by page loads rather than running continuously, so low-traffic sites can process a rule late; loopback failures, blocked requests, or disabled Cron can also interfere. Check the helpdesk’s scheduled tasks, site health, and mail logs, then use a real server scheduler if timing matters.
- What status should automatically closed tickets use?
- Use a separate closed or closed-by-inactivity status if your helpdesk supports one. It keeps reporting clear and lets agents distinguish customer non-response from a case resolved by support. Include that status in the helpdesk’s closed-status group, but do not use a status that triggers reopening, escalation, or customer reminders unless those side effects are intentional.