/
Action Bots

Action Bots

Action Bots are perfect for handling a variety of automatic, monotonous tasks. Admins can create bot-driven workflows, access data from third-party systems, and automate tedious tasks in order to drive more efficiency—enabling a better customer and agent experience.

A sample Action Bot.

Note: Logic Bots and Action Bots both rely heavily on other components of the Sharpen Admin portal (e.g., routing to a specific queue relies on having that queue created beforehand).

Getting Started with Action Bots

The Action Bot Interface is easy-to-use once you are familiar with what you’re seeing. To get started navigate to Admin > Configuration > Logic & Actions > New Action Bot

This page will grow and expand based on the options you select. We will move through this window in sections in order to break down each component, starting with General Settings and Triggers. These are highlighted below:

The General Settings section gives you a spot to provide a name and brief description for your Action Bot so that you can find/edit it later. This information is available in the main Logic & Actions menu.

Triggers determine when the Action Bot will actually run. You have three options in the drop down menu: Scheduled, Event, and Manual.  

Determining Which Trigger to Use

Scheduled Triggers run the bot on a specific, user-defined timeframe. Click the grey drop-down menus to adjust the frequency for effectively running your bot.

These times will use Coordinated Universal Time (UTC), not your current timezone—so plan accordingly.

As an example, if you wanted a bot to send you weekly coaching interactions each week at 7:30 a.m. on Wednesday, you’d configure that as "every week > on Wednesday > at 12:30:00" (7:30 Eastern Time):

Event Triggers allow you run bots based on events such as status changes, messages, or call variables.

First, select the Event Trigger Type, then select the sub-type.

To trigger your bot based on...

  • ...interactions that have been delivered to queue, select Queue.

  • ...Sharpen Connect messages or projects, select Connect.

  • ...interactions within the IVR/Auto Attendant/chat bot, select Logic.

Some of these Sub Types contain unique data source information (found in the next section).

Finally, Manual Triggers are exactly what you’d expect. They do not have a specified time-frame or event to kick-off the action. Instead, Manual Triggers start when the “Trigger Now” button is clicked.

 


Building an Example

For the purposes of this article, let's create an action bot that sends an alert if a customer is on hold beyond a specific threshold (3 minutes) within my main queue (Support Level 1).

Since it is important to me that I have this information quickly, I’ll select the Scheduled Trigger Type. Then, select “Every minute:00.” This means that the trigger is scheduled to run every minute at the “00” second. Selecting “00,30” (the max refresh for the scheduled trigger type) would run the trigger twice a minute—once on the “00” second and once on the “30” second. .

With this schedule is set up, we're ready to move on to the next section of the Action Bot.

Selecting the Right Fields

Now that you have the Trigger Type defined, the Data Source section of your Action Bot allows you to define what your bot is looking for.

Depending on the connected CRMs to your Sharpen Instance, these options will change. To ensure that this guide is universal, I’ll be using the Sharpen data sources for any examples that follow.

With the exception of the Logic Event Trigger (which automatically adds the Call Variables Data Source), these are the same data sources available to you within Sharpen Insights when creating charts and reports. The summary functions, filters, and groupings also mimic insights.

In the Fields section, you can add as many fields as you would like—using grouping and summary functions just as you would in Insights. Use the add button for additional fields and the remove button if you need to get rid of fields you’ve added. Note that you’ll need at least one field for your bot to work properly.

Since our Action Bot is looking for Hold Time above 3 minutes, we'll want to select the Sharpen data source, and then select Queue Activity in order to pull from the live interaction record database.

In this case, there are only a few pieces of information we need to consider—Hold Time (which means the call is in a “pre-answered” Location), Queue Name, and Customer Name (Source Name). We'll just need to specify the fields for the bot to use, and we can specify the hold time threshold and specific queue name in the section, Filters).

Since we're looking for an individual interaction, there is no need to summarize or group my data based on multiple interactions (e.g., adding an average function on the Hold Time field in order to derive the average hold time). We can leave those functions untouched and head to the Filters after the fields are added.

Filtering Information

Just like filters within an Insights report, filters in Action Bots allow you to specify the criteria for the information you’d like returned. Once the filter is applied, the bot will only return results that fit the filter criteria (as seen in the preview just below the filter). This filtered information is then passed on to your Action in the next section of the Bot.

You’ll need to add the field you’d like to filter, the filter operator, and the specific criteria. If you have more than one filter, you’ll need to specify whether you are filtering using an AND function (where results are returned only when all filters are true) or OR function (where results are returned on any filter being true).

Continuing our example, we want to return interactions that are within the Support Level 1 Queue (Queue Name contains “Level 1”), AND on hold longer than 3 minutes (Hold Time “greater than or equal” 180). (Note that time-based filters will always use seconds instead of minutes.)

Now is a good time to hit the Refresh Preview button to see if the results are filtering properly. We'll limit the results to "1" because we want a single row of information sent to my Action. If I would select 10 results, all 10 results (assuming there are 10) would be pushed to my Action—resulting in 10 actions. If you are returning more than one row of data, you can use the “Order By” fields to sort your rows accordingly.

We can also place a call into this queue to make sure that it is pulling the right info—sure enough, this call on hold shows in the preview after refreshing the preview.

Multiple Data Sources

For our current example, that would mean that only one row of data would be considered, even if I added a second data source (since we limited the results to 1).

In our example, I don’t need to add another data source, so I am going to continue on to the next section.

Taking Action Based on Your Data

At this point, we’ve essentially gone through the same process as creating a report. If looking for interactions based on specific criteria was the goal, we’d be better off creating a report within Insights. There, we could visualize the data—even create charts and graphs based on our filters. However, the next section is where Action Bots really start to pull their weight. Rather than simply returning the data, the Actions section empowers you to do something with it.

All data passed from the Data Source and Filter section is considered when creating your Action.

Action Frequency

The trigger at the top of your bot is specific to how often the data is being gathered. The frequency within the Action allows you to customize how often the intended action itself is triggered. Let’s dive into a quick example:

Our example use-case that we’ve been building is to send a notification whenever a customer is on hold for more than three minutes. To be as prompt as possible, our bot is checking our interaction data every minute. (You can see where this is going.)

If a customer is on hold for 3 minutes, a notification will be sent. One minute later, if that customer is still on hold, another message will be sent. This is where the frequency comes into play.

If we were to trigger the action the 1st time and every 5 times, a message would be sent once, and then sent at the 5th interval (in this case, at 5 minutes). However, if we wanted a notification each time, we could select always run.

This setting is also helpful when adding multiple actions (which we can do with the Add button), as there may be actions you want to run less frequently than others.

Stop on True is helpful in situations where you’ve created multiple actions. Actions work from top to bottom (just like the data sources). Clicking stop on true on the 1st of 5 actions would result in only the 1st action running.

In our example, I would like the notification to occur with each trigger (every minute), so I’m going to select the Always Run option before moving on.

Rules and Groups (Action-Level)

In instances where you want different actions (or outcomes) based on information from the data sources, you can utilize rules/groups. Rules function exactly like the filters do in the data source section. However, by applying them to the action, we gain an added layer of granularity and differentiation.

As an example, if we chose not to filter by queue name in the previous section we’d have a much wider array of data (essentially all queues would be considered when looking for Hold Time).

We could then create separate rules based on the various queue names. First, an action sending a message to (317) 123-4567 if the interaction is in the Live Customer Service queue and another action sending a message to (317) 123-6655 if the interaction is in the Billing queue).

In this case, I don’t need to separate my data (we’ve already filtered it the way we wanted, previously). So, I’m going to leave my rules blank and continue to the main component of our Action.

Here’s what you’ll have so far if you’re building the same Action:

Setting Your Action

Finally, here is where we'll set the specific action that we want to occur.

Actions are broken down into three categories:

Each of these options will have additional fields to configure in order to complete your action. It is within these fields that we can use the final section of the Action—Available Variables.

The available variables section allows you to utilize variables that have been added within the Fields section of your Action. After clicking the variable you want to insert, click the [Copy] icon to copy it.

In our example, I’ll have access to the Queue NameSource NameHold Time, and Location variables. (Shortly, we’ll use the blocks we just looked at to build our notification for Hold Time.)

Building the Action for our example is pretty straight forward. To recap, we want to send a message to (123) 456-7890 when a customer has a Hold Time over 3 minutes (180 seconds) in the Level 1 Queue and it hasn’t been answered (current "location").

So, we'll want to click Action, and then select the Send SMS function. Then enter the number we want to notify (more numbers could be added if needed—in this case, we're fine as-is). Select the number we want to send the SMS from, and then move on to the body of the message.

For the message, let's add some variables for added context. These can be selected from the available drop-down when needed.

Here’s an example of what we could do with variables:

“Customer name (%%queueCDR__SourceName%%) has been on hold for more than
 XX seconds (%%queueCDR__HoldTime%%) in
 the Level 1 (%%queueCDR__QueueName%%) Queue.”

That last element could just be the Level 1 Queue with no variable. However, just in case the queue changes in the future, it's worth including the corresponding variable in here.

Once that all comes together, it looks like this:

Of course, after all of this work, make sure you Save your new action bot. After saving, head back to the top of the Action Bot and click Activate to get the ball rolling. From the main Actions & Logic page, you can access your existing bots to edit or delete.


See also (additional Logic & Actions content):


Related content

Sharpen APIs
Read with this
Getting Started with Logic Bots
Getting Started with Logic Bots
More like this
Configuring Action Bot Chat Notifications
Configuring Action Bot Chat Notifications
More like this
Queue Agent Settings
Queue Agent Settings
Read with this
Generic Integrations
Generic Integrations
Read with this