Streamlining workflow with time-based events and automations Follow

team professional enterprise plans

Automations are similar to triggers because both define conditions and actions that modify ticket properties and optionally send email notifications to customers and the support staff. Where they differ is that automations execute when a time event occurs after a ticket property was set or updated, rather than immediately after a ticket is created or updated.

Administrators on Team, Professional, or Enterprise can create, edit, and manage default and custom automations. Administrators on Essential have one default automation, which they cannot modify, and they cannot create custom triggers.

Topics covered in this article:

For an overview of automations, see About automations and how they work. For a list of default automations, About Zendesk Support default automations.

Tip: Fine tuning: Learn how automations can help improve your agents' productivity in Sylviana Ho's Fine Tuning: Agent Productivity.

Creating automations

Administrators can create automations from scratch, as shown here, or create copies of existing automations and then modify and use them for some other purpose (see Editing and cloning automations).

Be sure to check out our community tips for automations.
Note: Tickets that are not closed but have had more than 100 events occur during the life of the ticket are excluded from the hourly automations run. To view events for a ticket, see Viewing a ticket's events and notifications.
To add an automation
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Select Add Automation.
  3. Enter a title for your automation.
  4. Add the conditions and actions for your automation.

    An automation is made up of three parts:

  5. Test your automation by previewing the tickets that match the conditions that you have specified by selecting Preview match for the conditions.

    Note: The automation will have no effect on any closed ticket listed in your preview.

  6. Save your new automation by clicking Add Automation.

You can also watch this short video to learn how to create automations.

Building an Automation (01:34)

Building automation condition statements

As with triggers, the condition statements you create for automations contain conditions, operators, and values. These include conditions you’d expect such as priority, status, assignee and so on. Because automations are based on the hours that have elapsed since a ticket update was made, Zendesk provides the following time-based conditions:

  • Hours since created

  • Hours since open

  • Hours since pending

  • Hours since on-hold

  • Hours since solved

  • Hours since closed

  • Hours since assigned

  • Hours since update

  • Hours since requester update

  • Hours since assignee update

  • Hours since due date (for tickets with the type set to Task)

  • Hours until due date (for tickets with the type set to Task)

  • Hours since last SLA breach

  • Hours until next SLA breach

Note: If you are on Enterprise and have multiple schedules, automations based on business hours will use your default schedule (that is, the first schedule in your schedules list). In a upcoming release, this will change so that automations will use the schedule that is applied to the ticket.

Only whole numbers can be used as the value for these conditions. For example, Hours since created = (calendar) is = 1, is valid. Decimals aren't supported. If you set the hours since variable to 1.5, it will be interpreted as 1, which means that it was rounded down to the whole number.

The other conditions you can use in your automations are described in the following table.
Table 1. Automation conditions
Condition Description
Ticket: Status

The ticket status values are:

New is the initial status of a newly created ticket (not assigned to an agent).

Open means that the ticket has been assigned to an agent. 

Pending is used to indicate that the requester has been asked for information and the ticket is therefore on hold until that information has been received.

On-hold means that the support request is awaiting a resolution from a third party—someone who is not a member of your support staff and does not have an agent account in your Zendesk. This status is optional and must be added to your Zendesk (see Adding on-hold ticket status to your Zendesk).

Solved indicates that the customer’s issue has been resolved. Tickets remain solved until they are closed.

Closed means that the ticket has been locked and cannot be reopened or updated.

When selecting a status, you can use the field operators to specify a range of tickets based on their status. For example, a condition statement that returns only New, Open, and Pending tickets looks like this:

Status is less than Solved
Ticket: Form Your ticket forms are available as conditions. Select a specific form.

See Creating ticket forms to support multiple request types (Enterprise)

Ticket: Type

The ticket type values are:

Question

Incident is used to indicate that there is more than one occurrence of the same problem. When this occurs, one ticket is set to Problem and the other tickets that are reporting the same problem are set to Incident and linked to the problem ticket.

Problem is a support issue that needs to be resolved.

Task is used by the support agents to track various tasks.
Ticket: Priority

There are four values for priority: Low, Normal, High, and Urgent.

As with status, you can use the field operators to select tickets that span different priority settings. For example, this statement returns all tickets that are not urgent:

Priority is less than Urgent
Ticket: Group

The group values are:

  • (—) indicates that no group is assigned to the ticket.
  • Group name is the actual name of the group that is assigned to the ticket.

Additional value for views:

  • (current user's group) is all the groups that the agent belongs to.
Ticket: Assignee

The assignee values are:

  •  (—) indicates that the ticket is unassigned.
  • (requester) is the ticket requester. You can select this option to return tickets that were opened by and then assigned to the same agent, for example.
  • (assignee) is the person who is assigned to the ticket.
  • Agent name is the actual name of the person assigned to the ticket.

Additional value for triggers and views:

  • (current user) is the last person to have updated the ticket, which is not necessarily the same person who is assigned to the ticket. The current user (whoever updated the ticket last) changes whenever the ticket is updated. And an update may have been made by the assignee, the requester, or someone who was CC'd on the ticket.
Ticket: Requester

The requester values are:

  • (assignee) is the person assigned to the ticket. The condition statement ‘Requester is Assignee’ is true if the requester is also the person assigned to the ticket.  This is possible if an agent created a ticket and was then assigned to it.
  • Agent name is the actual name of the agent.

Additional value for triggers and views:

  • (current user) is the last person who updated the ticket.
Ticket: Organization

The organization values are:

  • (—) is used to indicate that no organization has been added to the ticket.
  • Organization name is the name of an organization.
Ticket: Tags

You use this condition to determine if tickets contain a specific tag or tags. You can include or exclude tags in the condition statement by using the operators Contains at least one of the following or Contains none of the following. More than one tag can be entered. They must be separated with a space.

Ticket: Description The description is the first comment in the ticket.
Ticket: Channel

The ticket channel is where and how the ticket was created and can be any of the following:

  • Web form (including through Help Center or by agents in Zendesk Support)

  • Email

  • Chat

  • Twitter

  • Twitter DM (direct message)

  • Twitter Favorite

  • Voicemail

  • Phone call (incoming)

  • Phone call (outgoing)

  • CTI voicemail

  • CTI phonecall (incoming)

  • CTI phonecall (outgoing)

  • Get Satisfaction

  • Feedback Tab

  • Web service (API)

  • Mobile SDK

  • Help Center post

  • Trigger

  • Forum topic

  • Closed ticket (follow-up tickets)

  • Ticket sharing

  • Facebook post

  • Facebook private message

  • SMS

Ticket: Integration account This condition checks the integration account that the ticket came from, such as a specific Facebook page, Twitter handle, or other channel integration account, like GooglePlay. Select one of your configured integration accounts from the drop-down menu.
Ticket: Received at

This condition checks the email address from which the ticket was received. The ticket can be received from a Zendesk email domain such as sales@mondocam.zendesk.com, or from an external email domain such as support@acmejetengines.com. The external email domain must be set up as described in Using an external email domain or the condition won't work.

Ticket: Satisfaction Ticket satisfaction rating is available on Professional and Enterprise plans. This condition returns the following customer satisfaction rating values:
  • Unoffered means that the survey has not previously been sent
  • Offered means that the survey has already been sent
  • Bad means that the ticket has received a negative rating
  • Bad with comment means that the ticket has received a negative rating with a comment
  • Good means that the ticket has received a positive rating
  • Good with comment means that the ticket has received a positive rating with a comment
Ticket: Custom fields Custom ticket fields are available as conditions.
Requester: Language The language of the person who submitted the ticket.
Requester: Custom fields Custom user fields are available as conditions.
Requester: Role Adds a condition to your triggers to create a different workflow when the requester is an end-user versus an agent.
Organization; Custom fields Custom organization fields are available as conditions.
Ticket sharing: Sent to Checks whether a ticket was shared to another Zendesk via a specific ticket sharing agreement.
Ticket sharing: Received from Checks whether a ticket was shared from another Zendesk via a specific ticket sharing agreement.

Building automation action statements

Action statements define what occurs if all the condition statements are true and the trigger fires. You can think of action statements as ‘then’ statements – if all of your conditions are true then invoke these actions to update the ticket and optionally send notifications.

Table 2. Automation actions
Action Description
Ticket: Status

The ticket status can be set to the following:

New is the initial status of a newly created ticket (not assigned to an agent).

Open means that the ticket has been assigned to an agent. 

Pending is used to indicate that the requester has been asked for information and the ticket is therefore is on hold until that information has been received.

On-hold means that the support request is awaiting a resolution from a third party—someone who is not a member of your support staff and does not have an agent account in your Zendesk.

Solved indicates that the customer’s issue has been resolved. The ticket is solved even if required ticket fields are still blank. See Required fields and automations. Tickets remain solved until they are closed. When tickets are closed is based on business rules you define for this step in the workflow, using automations.

Closed means that the ticket has been locked and cannot be reopened or updated.
Ticket: Form Your ticket forms are available as actions. Select a specific form.

See Creating ticket forms to support multiple request types (Enterprise)

Ticket: Priority The priority can be set to Low, Normal, High or Urgent
Ticket: Type

The type can be set to the following:

Question

Incident indicates that there is more than one occurrence of the same problem. When this occurs, one ticket is set to Problem and the other tickets that are reporting the same problem are set to Incident and linked to the problem ticket.

Problem is a support issue that needs to be resolved.

Task is used by the support agents to track various tasks.
Ticket: Group

You can set groups to any of the following:

  • (—) is used to unassign a group (if one has already been assigned)
  • Group name is the actual name of the group that is assigned to the ticket.

Additional value for macros:

  • (current user’s groups) is all the groups to which the agent who is updating the ticket belongs.
Ticket: Assignee

You can set the assignee to any of the following:

  • (—) is used to set assignee to no one (unassigned)
  • (requester) is the ticket requester. You can select this option to return tickets that were opened by and then assigned to the same agent, for example.
  • Agent name is the agent to be assigned the ticket.

Additional value for triggers and macros:

  • (current user) is the last person to have updated the ticket, which is not necessarily the same person who is assigned to the ticket. The current user (whoever updated the ticket last) changes whenever the ticket is updated.
Ticket: Satisfaction You can set this action to: offered to requester. This indicates that the survey request has been sent to the ticket requester.
Ticket: Set tags The tags you want to insert into the ticket. The set tag action replaces the current tags. Tags must be separated with spaces.
Ticket: Add tags The tags you want to add to the existing list of tags (if any).  Tags must be separated with spaces.
Ticket: Remove tags The tags that you want removed from the existing list of tags contained in the ticket (if any).  Tags must be separated with spaces.
Ticket: Add cc Add an agent or end-user to copy on the ticket update. This action is available when you enable CCs on tickets..
Ticket: Custom fields Custom ticket fields are available as actions. You cannot use custom fields to nullify conditions.
Notifications: Email user

You can set the email user to any of the following:

  • (requester) is the ticket requester.
  • (assignee) is the agent assigned to the ticket.
  • Email user name is the actual registered name of the person who will receive the email.

Additional values for triggers:

  • (current user) is the last person who updated the ticket.
  • (all non-restricted agents) includes all agents that have unrestricted access to the ticket.

Adding the email user action allows you to enter the email subject and body text. Body text can be formatted using HTML.

Notifications: Email group

You can set email group to any of the following:

  • (assigned group) is a reference to the assign group.
  • Email group name is the actual name of a group.
Notifications: Notify target Set the external target to notify. For more information about using targets, see Notifying external targets.
Notifications: Tweet requester Setting this action allows you to respond to the twitter requester with a tweet.
Requester: Language Set the requester's language to one of your supported languages.
Requester: Custom fields Custom user fields are available as actions. You cannot use custom fields to nullify conditions.
Organization: Custom fields Custom organization fields are available as actions. You cannot use custom fields to nullify conditions.

Editing and cloning automations

You can edit and clone automations. Cloning an automation creates a copy that you can modify and use for some other purpose.

To edit an automation
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Locate the automation you want to edit and select Edit.
  3. Modify the title, conditions, and actions as needed.
  4. Click Update Automation.

To clone an automation

You can create a copy of an existing automation to use as the basis of a new automation.
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Locate the automation you want to clone and select Clone. This command appears when you move your mouse over the automation in the list of automation.
  3. Enter a new name for your automation and modify the conditions and actions as needed.
  4. Click Add Automation.

Reordering your automations

You can reorder your automations, but keep in mind that the order of your automations is important because all automations run (first to last) every hour. Actions in one automation may affect the actions in another.

To reorder the list of automations
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Click Reorder. You’ll find this at the end of the list of active automations.
  3. Click and drag automations to new locations as needed.
  4. Click Done.

Deleting and deactivating automations

If you decide that you no longer need an automation you can either delete it or deactivate it. Deleting it of course means that it’s gone and can’t be retrieved. You can instead deactivate automations. Deactivated automations are listed in a separate table on Manage > Automations and can be reactivated if needed.

To delete an automation
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Locate the automation you want to delete and select Edit.
  3. Click Delete.
To deactivate/activate an automation
  1. Click the Admin icon () in the sidebar, then select Automations.
  2. Locate the automation you want to deactivate and select Deactivate. This command appears when you move your mouse over the automation in the list of automations. The automation is deactivated and displayed in the list of inactive automations.
  3. To reactivate the automation, select it from the list of inactive automations and select Activate.
Have more questions? Submit a request

Comments

  • 0

    Is it possible to have Zendesk call out to a number if a ticket has not been updated in X hour(s) with Zendesk Voice?

  • 0

    Is it possible to have an automation that looks for a specific field being updated? 

    For example, I have an RMA Status drop down that agent's can edit as the RMA goes through it's different stages. I want to create an automation that emails the team if a specific RMA Status value has been selected for more than say 24 business hours. 

  • 0

    I'm trying to set up an automation to affect a bunch of older tickets that aren't classified correctly but I'm receiving an error:I need to ensure that any ticket in those locations is updated to the appropriate district/region.

     

    What am I missing?

  • 0

    @Martin. Have the automation see a tag as part of the actions and test for that tag in the conditions. You need to have a method such aa this to prevent the automation looping 

Please sign in to leave a comment.

Powered by Zendesk