Page tree
Skip to end of metadata
Go to start of metadata

Kayako Fusion and Case operates an internal cron system which performs tasks such as POP3/IMAP mail fetching, system cleanups, follow-up ticket actions etc.

How the scheduled task system works

Your Kayako helpdesk needs to perform a variety of tasks at certain intervals, such as fetching email, cleaning up the database and checking for overdue tickets. To make sure these tasks run on time, there is a Scheduled Tasks system.

A more technical explanation

The scheduled tasks system can also be described as a 'psuedo cron' system. Instead of a server's clock driving the cron, the passive actions of people using the helpdesk (logging in, clicking on things) triggers the scheduled tasks system to see if any tasks need running.

This may present a problem for a helpdesk which isn't very busy. If no one is using the helpdesk, there won't be anything to trigger the scheduled tasks system. This can be solved by driving the scheduled tasks system in your helpdesk using your web server's cron system (Task Scheduler in Windows or crontab in Unix). 

See Setting up a server cron or scheduled task for more information.

NOTE: The above is only applicable for Kayako Download users. If you are on OnDemand and need to set up a server cron, please contact support.

View and managing scheduled tasks

To view and manage scheduled tasks, Click on Manage under the Scheduled Tasks menu in the Admin CP of the help desk. A list of all the installed scheduled tasks and their statuses will be displayed.

The various tasks are described as follows:

Daily system cleanup

This Cron clears the unverified users displayed in the Staff Control Panel under Users >> Manage Users. You can specify the time after which the unverified users should be cleared under, Admin Control Panel >> Settings >> Users and Organizations >> Auto Clear.

Hourly system cleanup

This Cron  removes the users idle sessions from the system. You can specify the time after which the idle user session should be cleared under, Admin Control Panel >> Settings >> Security >> Default Session Inactivity Expiration. 

Core daily sync


Core hourly sync


Core minute sync


Core monthly sync


Core weekly sync


Live chat Cleanup

This Cron will clear all the redundant/idle live chat connections. The live chat connections will be marked as idle after the time defined under Admin Control Panel >> Settings >> Security >> Session Inactivity Expiration For Site Visitors, and their sessions will be deleted after this much time.

Synchronize news RSS feeds

This Cron will synchronize news articles in help desk from any third party RSS feed source mentioned under Admin CP > Settings > News > RSS Syndication Settings.

Fetch emails (POP3/IMAP)

This Cron cycles through each e-mail queue that has been configured under Admin Control Panel >> Mail Parser, to poll a POP3 or IMAP e-mail box , so as to import the e-mails and parse them as tickets.

Email parser Cleanup

This Cron will clear the mail parser logs that are under Admin Control Panel >> Mail Parser >> Parser Log. You can specify the time after which the mail parser logs should be cleared under, Admin Control Panel >> Settings >> CPU Optimization & Server >> Log Clearing Time and Admin Control Panel >> Settings >> Mail Parser >> Parser Log Options.

Run scheduled reports

This Cron task will execute and send scheduled reports via email to the staff user who created it and to any third party user who is added under Staff CP > Reports > Manage Reports > click on required report > Schedule Report > Schedule Settings.

Auto close tickets

This Cron processes auto close actions on tickets which meet the criteria defined under auto close rules.

Run ticket follow-up tasks

This Cron task processes all of the scheduled follow up actions that have been queued for tickets. The ticket Follow-Up can be configured in the Staff Control Panel during creating a new ticket or editing an existing ticket.

Ticket tasks (SLA escalations, cleanup, etc)

This Cron will execute any Escalation on tickets defined as per escalation rules created. Apart from this, it will create recurrence ticket(s) which are scheduled to be created from any "Recurrence" set on ticket from Staff CP > Tickets > New Ticket > select ticket type > 'Recurrence' tab.

All tasks are enabled by default, except for the POP3/IMAP Fetching task. For POP3/IMAP fetching task, clients are recommended to configure cron job/schedule task on their systems so that the mail parser script gets executed after certain interval of time (defined in crontab/schedule task configuration file) and fetch the emails in to the help desk. 

Executing a scheduled task manually

To forcefully run a scheduled task (regardless of the task's next run time), check the corresponding Title box and click Execute icon. Following is an example shown to forcefully run the cron for "Search Engine Re-Indexing."

A task's run time can not be changed from the admin control panel. A task runs at the time specified under the "Runs Every" column, if not executed manually.

The task will get executed and you will get a success message

You may also execute multiple crons in a single instance. For that you need to check the corresponding Check boxes and click Execute.

For example, you need to execute Daily System Cleanup, Hourly System Cleanup and Search Engine Re-Indexing, then you need to select the corresponding Title boxes and click Execute.

The tasks will get executed and you will get a success message.

  • No labels


  1. Can it be true that you can not change the "runs every" time. 10 min for the POP3 seems like a long time. especially when you get a lot emails, and you want the system to only fetch a limited number of mails per run.

    1. Unknown User (

      I agree, this is far too long. The time would need to be shortened to suit our needs.

  2. The reason behind giving a time interval of 10 minutes between each fetch is to make sure that all the emails are fetched properly into the helpdesk. For example, helpdesk is set to fetch 10 emails in one fetch cycle, 4 of them are large in size, so, if the fetch cycle time is not large enough, the script will terminate prematurely resulting in duplicate or corrupt emails.

    This is a generalized time interval. If you wish to decrease the fetch time, then you need to set up an external server cron as discussed here