logo
HelpDeskMicrosoft 365SharePoint
Oct 20

Automatically assign HelpDesk tickets based on keywords

Customer Support Engineer

When all support requests arrive in the same queue in a HelpDesk system, agents often have to review and assign tickets manually. In Plumsail HelpDesk for SharePoint, you can automatically assign tickets based on keywords in the ticket title or description using automation triggers.

That's exactly what one of our wanted to achieve:

For example, a ticket Titled "Password Reset" would be auto assigned to me since it has the key word Password in it.
Erik, Plumsail Community

In this tutorial, we'll show you how to set up keyword-based ticket assignment in Plumsail HelpDesk for SharePoint using automation triggers, so incoming requests reach the right agents without manual sorting.

Further in the article:

How automatic ticket assignment based on keywords works

Plumsail HelpDesk uses triggers to route incoming tickets based on keywords. Here's how it works:

  1. Detect keywords. A trigger checks the ticket title and first comment for keywords such as invoice, bug, or pricing.
  2. Categorize the ticket. HelpDesk adds a matching tag, such as Billing, Technical Support, or Sales.
  3. Assign the ticket. Another trigger matches the ticket tag with agent skill tags and assigns the ticket to a suitable agent.

This approach works particularly well for requests submitted by email or through free-text fields, where customers don't select a predefined category.

Let's configure these triggers step by step.

Step 1. Create tags for ticket categories

First, create the tags that we'll use to represent agent skills. In Plumsail HelpDesk for SharePoint, you can use Tags in the Contacts list to represent agent skills or areas of expertise.

In our example, we'll create three tags:

  • Billing
  • Technical Support
  • Sales

Open the SharePoint site where your HelpDesk is installed, go to Site contents, and find the Tags list:

Tags list in SharePoint Site contents  

Add necessary tags as new items to the list. Once added, your Tags list should look like this:

Tags for HelpDesk agent skills  

These tags will now be available in the Tags field of the HelpDesk Contacts list.

Step 2. Add skill tags to agents

Now that the tags are created, assign them to agents based on the types of customer requests they handle.

Open the Contacts list and find the agent you want to configure. Open the contact and add the appropriate tag to the Tags field:

Add a skill tag to an agent   

Repeat these steps for the other agents, assigning the appropriate skill tags based on the types of requests they handle.

You can also add a SharePoint group as a contact and assign tags to it. This can be useful when requests should be assigned to a team rather than a specific person.

Step 3. Create a trigger to tag tickets based on keywords

Now that the agent skills are configured, we need to classify incoming tickets by adding the appropriate tags based on their content.

In Plumsail HelpDesk, go to Settings → Triggers:

Triggers in HelpDesk settings  

Then click to add a new trigger:

Add new trigger button  

We'll start with a trigger for Billing requests:

  1. Select when the trigger runs

HelpDesk triggers can run on different events. Since we want to classify new requests as soon as they arrive, select Ticket was created as the trigger event.

  1. Define the keyword conditions

Next, add conditions that check the ticket title and first comment for billing-related keywords, such as invoice, billing, refund, payment, or subscription.

Use OR between the keyword conditions so the trigger runs when any of these keywords is found in the ticket.

  1. Add the tag

Finally, add an action that sets the Billing tag to the ticket when the conditions are met.

Your completed trigger should look like this:

Trigger to tag Billing tickets  

For example, if a customer submits a ticket with the title "Invoice for my subscription", the trigger detects the matching keywords and automatically adds the Billing tag.

You'll need to create a separate trigger for each request category. In our example, create three triggers with tags:

  • Billing — invoice, billing, refund, payment, subscription
  • Technical Support — error, bug, not working, failed
  • Sales — pricing, demo, trial, quote

Each trigger follows the same logic, it checks the ticket for the relevant keywords and adds the corresponding tag.

Once the incoming tickets are classified, we can use these tags to automatically assign them to agents with matching skills.

Step 4. Create a tag-based trigger to assign tickets

Now that incoming tickets are automatically tagged based on their content, let's create another trigger that will use these tags to assign tickets to agents with matching skills.

Create a new trigger and name it Ticket assignment. Then follow the steps:

  1. Select when the trigger runs

Select Comment has been created as the trigger event. This allows HelpDesk to check the ticket assignment whenever a new comment is added.

  1. Define the assignment conditions

Configure the trigger to run if:

  • the ticket is not assigned to an agent, or
  • the currently assigned agent is disabled

This ensures that HelpDesk assigns unassigned tickets and can reassign tickets if their current assignee is no longer active.

  1. Configure tag-based assignment
  • Add the Assign ticket action and select the agents who should participate in automatic ticket distribution.

  • Enable the Tag-based option. HelpDesk will compare the tags of the ticket with the tags assigned to agents in the Contacts list and look for agents with matching skills.

Your completed assignment trigger should look like this:

Tag-based ticket assignment trigger  

When the trigger runs, HelpDesk first looks for agents whose tags match the ticket tags. If matching agents are found, the ticket is distributed among them. If there are no agents with matching tags, HelpDesk uses all agents and assigns tickets evenly.

With both triggers configured, the workflow now works as follows:

Automatic ticket assignment workflow  

Step 5. Test keyword-based ticket assignment

Now that both triggers are configured, let's make sure the automatic assignment works as expected.

Send an email to your HelpDesk email address using one or more of the keywords configured earlier. For example, let's send a billing request:

Send a test email to HelpDesk  

Once HelpDesk receives the email, a new ticket is created automatically. Open the ticket and check the result.

The first trigger should detect the invoice keyword and add the Billing tag to the ticket. The ticket assignment trigger should then find an agent with the matching billing skill tag and assign the ticket automatically.

Automatically created and assigned ticket     You can also send test emails containing keywords for Technical Support and Sales to make sure the other classification triggers work as expected.

Avoid common keyword matching issues

Keyword matching is a convenient way to classify incoming requests, but there are a few potential pitfalls that can affect how accurately tickets are categorized. Keep the following points in mind when configuring your triggers.

Case sensitivity

Customers may use different capitalization when describing the same issue. For example - Billing, billing, and BILLING should normally lead to the same category.

To make matching more flexible, you can use regular expressions in trigger conditions. For example:

[Ticket.Title] matches '(?mi)( |^)Billing'

The i flag makes the expression case-insensitive, so it can match the keyword regardless of capitalization.

Partial matches

Be careful when using short or generic keywords. A keyword may appear as part of another word and cause a ticket to be classified incorrectly. Regular expressions can help you define more precise matching rules.

Overlapping keywords

A single request may contain keywords that belong to different categories. For example:

I found a bug during my trial.

In our configuration, bug belongs to Technical Support, while trial belongs to Sales. As a result, more than one classification trigger may match the same ticket.

To avoid this, you can set priorities between categories using negative conditions.

For example, if Technical Support should take priority over Sales, add not contains conditions to the Sales trigger to exclude technical keywords such as bug, error, not working, and failed.

Sales conditions with exclusions  

This way, a ticket mentioning both bug and trial will receive only the Technical Support tag.

Generic keywords

Avoid using common words such as issue, problem, help, or question as keywords. They can appear in almost any support request and don't provide enough information to determine who should handle the ticket.

Instead, choose keywords that are closely related to a particular request type, and include several variations that customers are likely to use.

Testing your triggers with different ticket subjects and comments will help you identify problematic keywords and adjust the conditions before using the automation for real customer requests.

Get started with Plumsail HelpDesk

Automatic ticket assignment helps reduce manual sorting and ensures that customer requests reach the right agents or teams faster.

Want to try it yourself? Start a free Plumsail HelpDesk trial. To get started, download the installation wizard and follow the installation instructions in our documentation.