There are a few important things to remember about ticket automation:
- Ticket Automation will only work on tickets that were modified after the trigger was created. This is a safety mechanism put in place so that if a mistake is made and you create a trigger than affects lots of tickets incorrectly, we don’t go back and retroactively change tickets.
- Each Trigger can only affect a given ticket once, even if the ticket matches all of the triggers again. This is another safety feature put in place so we don’t get into a situation where we continually change the same ticket, or end up in a loop situation.
Ticket Automation is controlled by creating a Trigger. Each trigger has specific rules, and when those rules are met one or more actions are performed.
Creating a Ticket Automation Trigger
- New Trigger Button: To create a new Ticket Automation Trigger from scratch, click the New Trigger button.
- Duplicate Trigger Button: You may create a new trigger from an existing trigger by clicking on the Duplicate Trigger Button. All of the settings get carried over to the new trigger, including the name. You must rename the trigger so that it has a unique name.
- Delete Trigger Button: Click this button to delete a trigger. This is not reversible.
- Refresh Button: Use the refresh trigger button if you feel that your trigger list needs to be manually refreshed. For example, if you are testing an automation trigger and would like to see if indicates whether it has made any additional updates to tickets.
Here is an example of a Ticket Automation Trigger:
- Trigger Name: Give the trigger a logical name. Ticket Automation runs on a timer. It will start through the Ticket Automation triggers in alphabetical order for each cycle. If you are interested in ordering your triggers, one method is to name them alphabetically. For example, use a number naming scheme like “01 – Initial Alert”, “02 – Alert to followup after 2 weeks”.
- Enable/Disable: You have the choice to enable or disable a trigger at any time.
- Statistics: Each trigger will indicate how many tickets it has modified, and will list a timestamp for it’s last modification.
The rules section has two areas to allow you to tightly define what tickets meet the trigger criteria. In the top section you define conditions that ALL have to be met (a logical AND), and in the bottom section you list conditions where any of the items can be met (logical OR).
The trigger in the above screenshot will fire if the ticket is 3 days old (“Days Since Ticket was Last Modified” is the field name) and has a status of “Pending Customer Reply”. If both of those are true then it means we have been waiting for a customer to respond and it’s time for a nudge.
Most of the fields that are found under the conditions section are self explanatory as they are data fields in the ticket table. You will find Custom Fields in your list which are unique to your account. Creating triggers against your Custom Fields will allow you to create triggers that are completely customized for your organization. If your custom field is a pick list, you will be prompted to select which value will be used as a condition. Here are some standard fields that may require more explanation.
- Days/Minutes since Ticket was Created: These fields allow you to trigger based on how many minutes or days have elapsed since the ticket was created.
- Days/Minutes since Ticket was Last Modified: These fields allow you to trigger based on how many minutes or days have elapsed since the ticket was last modified.
- Day of Week/Hour of Day Created: These fields allow you to trigger based on the day of the week or hour of the day the ticket was created. Hour of day should be in 24 hour format. For example, 8:00 am will have a value of 8, and 1:00 pm will be value 13. It is okay to have 1 digit numbers, and you should not lead or trail with zeros. Again, the correct value for 8:00 am is 8, not 08 or 0800. All times are local to the account in which they are created, which can be found under Admin->My Company.
- Minutes/Hours since Last Action Added: These fields allow you to trigger based on how many minutes or hours have elapsed since the last action in a ticket was added
- Current Day/Hour of the Week: These fields allow you to trigger based on the current day of the week or hour of the day. This is typically combined with another AND condition (i.e. Ticket was created less than 1 minute ago). Hour of day should be a two digit number in 24 hour format. For example, 8:00 am will have a value of 08 or 8, and 1:00 pm will be value 13.
- Agent Rating: This field allows you to take action if a rating is left by your customers that is either Positive, Negative, or Neutral. You may want to combine this with posting a Water Cooler action (below) to give your team a high five for a positive rating.
- Assigned User is Available/Busy: These fields will allow you to trigger based on the availability of the user assigned to the ticket. If the user sets their status to Busy (for example while they are on vacation), you might decide to assign the ticket to a different user.
- Various SLA: There are a handful of conditions relating to SLA. These are not required for the SLA to send notifications. You can use these conditions in extension to the notifications that are available as standard within the SLA definition.
For the following Customer fields: if there is more than 1 customer on the ticket, the trigger will only consider the FIRST customer in the list:
- Customer Custom Value: This fields allows you to trigger off of custom fields on the CUSTOMER record. When you select ‘Customer Custom Value’ you’ll get another pull down menu for the available custom fields on the Customer record. You can then choose the value for that Custom Field.
- Service Level Name: The SLA assigned to the customer
- Customer CDI Value: Allows you to set a trigger based on the current CDI value of the Customer.
- Customer CDI Trend: Allows you to set a trigger based on the current CDI trend. Values are: 0 (no change), -1 (going down – which is good), 1 (going up – which is not good).
- Service Expiration Date: The trigger can look for the date of the Customer’s Service Agreement Expiration Date.
- Service Expired: This fields asks the question, “Is the current date past the Service Agreement Expiration Date for this Customer?”. In other words, it checks if the Customer’s Support Service contract has run out.
- Customer Is Active: This field checks to see if the Customer is active. Values are True or False.
Once the trigger conditions have been defined, you can create actions to be performed when the conditions have been met. Any number of actions can be added.
The “nudge” referenced in the example above is in the form of a public action. We are using the action “Log Public Action” which will place the text into an action for this ticket. Since it’s a public action your customer will get an e-mail notification automatically.
Usually a Trigger like this is paired with another Trigger that will close the ticket in a few days. Note if you have two Triggers that you want to happen sequentially, and they are both looking at the Days Since Ticket was Last Modified”, you need to have the number of days for the second one larger than for the first one – Otherwise, you could get into a situation where the ticket was closed before you asked the customer to respond to the ticket!
Here is the list of available actions:
- Set Status: This will change the status of a ticket. Used for automatically moving a ticket to a new status.
- Set Severity: This will change the severity of a ticket, and is used to manage automatic escalations.
- Log a Public Action: This will add an action to the ticket which is visible to the end user (assuming the ticket itself is marked “Visible to Customer”). This will generate an e-mail notification to the end user as well. When this action is selected, a textbox will appear and allow you to enter the text to be added. Please see “Placeholder Variables” below for a way to add data about the ticket to the action..
- Log a Private Action: Adds a private action to the ticket. No e-mail is generated to the end user, but internal TeamSupport users will be notified as normal. When this action is selected, a textbox will appear and allow you to enter the text to be added. Please see “Placeholder Variables” below for a way to add data about the ticket to the
- Assign Ticket to an Individual: The ticket’s owner will be changed to the user specified.
- Assign Ticket to a Group: The ticket’s group owner will be changed to the one specified.
- Notify User: This will generate an e-mail to the TeamSupport user specified. The e-mail will be the text that is entered in the text box. Please see “Placeholder Variables” below for a way to add data about the ticket to the e-mail.
- Close Ticket: Sets the status of the ticket to the first status that indicates a ticket is closed for that ticket type.
- Enqueue Ticket: Places the ticket the specified user’s queue.
- Notify External User: Generates an email to an external email address(s) (ie the user doesn’t have to be a TeamSupport user). One of the interesting ways this can be used is to send a text message to alert agents of tickets by using an email to text message gateway. Here’s a list of how to send a text message to most carriers.
- Associate Product to Ticket: This will associate the ticket to a specific product. Often used if a keyword is found in the ticket body which would indicate the automatic assignment to a specific product.
- Make Ticket Public: Forces the ticket to be visible to the customers associated with it.
- Make Ticket Private: Forces a ticket to be private.
- Subscribe User: Subscribe a TeamSupport user to the ticket so that they are notified whenever a change is made to the ticket.
- Flag Ticket: This will flag a ticket for a specific user.
- Unflag Ticket: This will unflag a ticket for a specific user.
- Set Ticket Type: Allows you to change the ticket type.
- Unflag for All Users: If the ticket is flagged by any users, this will remove the flag for all users.
- Unsubscribe All Users: This will unsubscribe all users from a ticket.
- Unqeue from All Queues: This will remove the ticket from all users’ queues.
- Enqueue Default Support Rep: If a customer has a default support representative set up, this action will put the ticket into their Queue.
- Unassign User from Ticket: This will set the ticket owner to be “Unassigned”
- Tag Ticket: Associate the selected tag keyword with the ticket.
- Auto Assign Ticket (Workload): Assigns the ticket to the person in the group with the fewest open tickets. If there are multiple people with the same number of unassigned tickets, this action will assign the ticket at random to one of these people. Note that we also take into account the “in office” setting and will not assign a ticket to a user who is marked as not in office.
- Auto Assign Ticket (Random): Similar to the above, this action will assign a ticket to a person in a group by random. Over time this will evenly distribute the tickets to the people in the group. As with the above action, this action will not assign tickets to individuals who are marked as out of office.
- Associate Customer/Contact to a Ticket: Adds specified customer or contact to the customers section of the ticket
- Set Custom Field: Allows you to set a custom field based on ticket conditions. If your custom field is a pick list, you will be able to select the pick list value.
- Post to Water Cooler: Adds a post to the Water Cooler. A usage example for this is to give a high five to your team when your customers leave positive ratings on tickets, or if they close an urgent ticket quickly. Also, you can post urgent ticket notifications to the Water Cooler.
- Unassign from Group: Allows you to unassign a ticket from a group.
- Ticket Automation Tips and Tricks: A list of important information, tips, and suggestions for Ticket Automation Triggers.
- Placeholder Variables: There are a handful of placeholder variables which can be used in the Log Public/Private Actions and Notify User Actions. Simply place the text as below, including the “squiggly parenthesis” and the text will be replaced by the correct variable when the e-mail is sent or the action logged.
- SQL Wildcards: Explore wildcards that can be used in SQL conditions.
Need more help with this?