Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

What is an action?

Actions are the building blocks for the workflow engine - this is how you get stuff done. Every flow is composed of a series of actions. If you have any questions about these actions and how they can be used, we’d love to hear from you.

Screenshot 2024-05-29 at 14.11.03.png

Action types

Below is a list of each action currently available in the Gnatta flow builder, and a description of what they do.

Jump to an action:

Add Message

Back to top

What is it?

This action will manually create a new inbound message, which can be presented to an advisor like any other inbound message. This action is often used for customer queries that originate from contact forms on a website or take place in another external system.

What is it used for?

By receiving information from an external source (like a webform or a customer interaction happening on another system) and converting it into a message with this action, we can go on to create conversations and interactions in Gnatta that your advisors can deal with. This means you can:

  • Ensure conversations from other systems are synchronised to achieve a single customer view

  • Centralising webform contacts for easier management

  • Enable internal business events to create an interaction in Gnatta (we’ve seen this used in HR teams and sales teams for internal functions!)

Add Note

Back to top

What is it?

This action will attach a note to the interaction specified. It will only be visible to the agent (not the customer).

What is it used for?

Notes are used to tell the agent something important about the interaction before they handle it. Examples might include:

  • A fraud concern you’ve detected using a keyword filter

  • Incomplete security checks that the agent needs to complete first

  • A timer has been added to the interaction and an autoresponse is pending

Call On Hold

Back to top

What is it?

This action will place the call on hold, and play the audio file configured in your domain settings.

What is it used for?

This is typically used at the end of a call IVR journey, whilst the call is awaiting assignation. As soon as the call is assigned, it will be taken ‘off hold’ and the audio file will stop playing.

Call Recording

Back to top

What is it?

This action will begin recording an active call. You can use text-to-speech to let the caller know that the conversation is being recorded by checking the ‘Add Message’ checkbox.

What is it used for?

Call recording is typically used to help ensure quality management processes carried out by QA teams, training supervisors, or in response to an escalation. It is good practice to use call recording in order to protect the agent and the customer in the event of a difficult or heated interaction.

Check Address Book

Back to top

What is it?

This action will check an email or phone number you’ve specified against the contacts listed in your domain’s Address Book. You can then branch your flow depending on whether a match is found. To find out more about your domain’s Address Book, check this article: Creating An Address Book

What is it used for?

A typical use case is to check if the inbound message is from one of your 3rd parties or suppliers, or a customer. By adding all of your suppliers to your Address Book, you can quickly filter out anything ‘internal’ and handle that differently - and also prioritise customers.

Check Availability

Back to top

What is it?

This action checks if the queue you’ve specified has availability, so you can branch your flow depending on whether there is availability at that time.

What is it used for?

If the queue you’re checking doesn’t have availability, you might decide to present the customer with an alternative route of contact (like a contact form in the chat), or set expectations for a delayed response.

Check Opening Hours

Back to top

What is it?

This action checks if the current time is within your opening hours schedule, so you can branch your flow depending on whether it is in or out of hours.

What is it used for?

This action is useful for determining how you handle out-of-hours contacts, so you can ensure they’re prioritised for early handling at the start of the next shift. On a Chat Started event, you might use this to present a fallback contact form instead, so the customer doesn’t sit waiting indefinitely in the queue!

Close Conversation

Back to top

What is it?

This will close the current conversation automatically. The are no additional configuration options required.

What is it used for?

Closing the conversation (for example, at the end of a chat) allows you to keep individual points of contact separate within the interaction. A customer might contact you over the course of several days, creating multiple chats with multiple agents - you’d want to store each of these chats as separate conversations within the interaction.

Connect Conversation

Back to top

What is it?

This action will connect the current conversation to the interaction you specify. You’ll need to select a variable containing an Interaction ID - you may have defined this variable in a previous ‘Find Interaction’ action.

What is it used for?

This action is best used together with ‘Find Interaction’ and ‘Decision’, for scenarios like:

  • ‘Find Interaction', then use a ‘Decision’ to check how long it’s been closed for. If less than 7 days, you may then 'Connect Conversation’ to the found interaction on the assumption its related to the same issue. If greater than 7 days, you may create a new interaction.

  • ‘Find Interaction’, then use a ‘Decision’ to check the queue it belongs to. If that queue is, for example, a verification queue and your business is in the financial industry, you may ‘Create Interaction’ instead of connecting so that you can keep secure ID&V queries isolated.

Create Conversation

Back to top

What is it?

This will create a new Email or SMS conversation. A conversation is a collection of messages (such as individual text messages). Each conversation is specific to one channel. This mimics the manual functionality available to the agent in the interaction panel, as shown here: Creating Manual Conversations

What is it used for?

Creating a new conversation gives you the ability to speak to the customer on another channel, or to contact someone else entirely - for example, following up with a 3rd party.

Create Interaction

Back to top

What is it?

This creates a new interaction. In this action, you can define the data an agent will see when they open the interaction, and preset some of those fields automatically to reduce the agent workload.

You can also predetermine the state as ‘Automation’ to ensure you’ve finished any autoresponses and processing - such as an IVR during a call - before passing to an agent.

Setting the state as ‘Queued’ will mean it is ready to be assigned to an agent as soon as there is availability in the Queue.

All interactions must belong to a queue, regardless of state, but they will only be assigned to an agent if the state is set to ‘Queued’.

Setting the state as ‘Created’ simply means it is neither queued nor in automation. This will help keep your reports in the Reporting Suite and Dashboards accurate for any outlier use cases.

What is it used for?

An interaction is, simply put, a collection of conversations around a single customer issue. An interaction can contain conversations from any channel. Using interactions, instead of conversational ‘tickets’, helps you to create a single view of the problem at hand, and provide a more holistic solution for the customer.

Create Customer Profile

Back to top

What is it?

This action creates a new customer profile. Use unique criteria such as customer ID number as an identifier to match interactions to the profile.

For more information on creating profiles, check this article: Creating Customer Profiles

What is it used for?

A customer profile is a collection of interactions, collected over the course of your history with that customer. Each interaction is representative of a single issue. Using a customer profile allows you to gain a greater understanding of the customer, and handle the current issue accordingly. It also unlocks incredible reporting and BI possibilities!

Decision

Back to top

What is it?

This action is used to branch your flow using custom conditions. Branches will be checked in the order they are listed. You can build a straightforward condition using the ‘+Add’ with the ‘And / Or’ selector, or build a custom expression under the Advanced section.

What is it used for?

You can make a decision around any piece of data stored in Gnatta - which means the possibilities are near-infinite! Some common examples include:

  • Check reason for contact in the inbound message, and branch accordingly.

  • Check the customer’s VIP status, and branch accordingly.

  • Check if an update has been received from a courier, and branch accordingly.

And many more!

Detect Language

Back to top

What is it?

This action will use AI to detect the language of the selected source text, and store the result (the language detected) in the action output - this will include the name and two-letter ISO code of the given language, i.e. English and en. That action output can be used later in your flow.

Fore more information on action outputs, check: Contextual Data

What is it used for?

This might be used in order to route inbound queries to language-specific teams or queues - by using a Decision action after this one, you can choose to split your flow into new branches based on the value found in the output of the Detect Language action.

Detect Sentiment

Back to top

What is it?

This action will use AI to detect the sentiment of the interaction (based on the most recent 20 messages), and store the result (i.e. the sentiment detected) in the action output. That action output can be used later in your flow. The possible outputs are: Positive Neutral Negative and Mixed

What is it used for?

This might be used in order to route inbound queries to specific queues or teams. For example, you might want to route all Negative and Mixed interactions to an Escalations team.

End Timer

Back to top

What is it?

With this action you can identify a timer you’ve previously created, and automatically stop it regardless of whether the time has elapsed yet or not. More on using timers here: Using Workflow Timers

What is it used for?

Used together with ‘Start Timer’, this allows you to carry out complex functions across flows, conversations and interactions. For example, you could use this to stop a timer that is waiting to send 'Are you still there?’ after 3 minutes of waiting.

Find Interaction

Back to top

What is it?

This action will allow you to find an existing interaction and store it (if one is found) in the Output that you define.

What is it used for?

This action is typically used on a ‘Find or Create’ flow template, so you can attach the current conversation to an existing interaction or create a new one.

Once you’ve found the interaction the conversation belongs to, you can then make more complex automations to manage the customer’s issue - such as checking for a courier response and feeding that update back to the customer!

Find Customer Profile

Back to top

What is it?

This action will allow you to find an existing customer profile and store it (if one is found) in the Output variable that you define. The more data you provide as match criteria, the more likely it is you’ll find the correct one. The action will be looking for a profile that matches ALL of the data you provide.

Check here for more information on managing customer profiles: Creating Customer Profiles

What is it used for?

Once you’ve found a customer profile, you can go on to use that data in your routing and handling decisions. This can help you make sure the customer is connected to the right person.

Find Text

Back to top

What is it?

This advanced action allows you to extract patterns from bodies of text using RegEx. Text you can search in includes the customer message, and any of the contextual data we’ve collected like an email address. You can store the extracted text in an Output variable, then use it to take action or make decisions in your flow.

More on using this action here: Detecting & Extracting Data

What is it used for?

Use this to find keywords or unique, identifiable information your customer has shared to automate the gathering and storing of that information. For example, you could extract the customer’s order number from their message, and then pre-populate a data field with it for the agent.

IVR Input

Back to top

What is it?

This action allows you to play audio during a call, and then collect a response. We’ll store that response in the ‘Caller Response’ output variable, so you can take action on it in your flow.

What is it used for?

For example, you might play an audio that says “Please press 1 for sales, or 2 for customer service.” By using the ‘DTMF’ input type, you can detect the number the customer has pressed and store that number in the ‘Caller Response’ field.

JavaScript

Back to top

What is it?

You can use JavaScript to interact with our Workflow APIs, or manipulate data so that it can be stored in custom variables in your flow. ChatGPT can be a useful tool to generate JavaScript if you know what you want to achieve!

What is it used for?

All standard JavaScript functions are permitted, so the possibilities are as broad as you can imagine! Example use cases include:

  • Custom delays and timers that are beyond the current Start Timer action functionality

  • Identifying the dates of the next X working days, and storing the output in variables so you can present them as quick reply options for the customer in a ‘Send Autoresponse’ action

  • Converting the result of an HTTP request into an array (list) of variables that you can then use in your flow

And more! Here’s an example JS action you might use to extract the individual fields from a QA action output, ready to use in your flow (to update data fields or make decisions etc.)

//Parse and log output
const quality = JSON.parse(context.GetObjectJson("Quality.Output"));
context.Log(JSON.stringify(quality));

//Set values as contexts
context.Set("Var.Overall", quality.Overall);
context.Set("Var.Rating", quality.Rating);
context.Set("Var.Escalate", quality.Escalate);
context.Set("Var.Confidence", quality.Confidence);
context.Set("Var.Explanation", quality.Explanation);
context.Set("Var.SolutionFound", quality.Detailed.Solution.Found);
context.Set("Var.EmpathyFound", quality.Detailed.Empathy.Found);
context.Set("Var.IntroductionFound", quality.Detailed.Introduction.Found);
context.Set("Var.Tone", quality.Detailed.Tone);
context.Set("Var.Spelling", quality.Detailed.Spelling);
context.Set("Var.Grammar", quality.Detailed.Grammar);
context.Set("Var.Punctuation", quality.Detailed.Punctuation);

And more!

Keyword Filter

Back to top

What is it?

This action is similar to the ‘Decision’ action, but has two critical differences that make it perfect for bulk filters:

  • You can add lots of values to each condition - either by manual input, or bulk import.

  • If ANY of the conditions for a particular branch is true, the criteria will be met.

More on using Keyword Filters here: Keyword Routing

What is it used for?

Keyword filtering has many different applications - but some examples might include:

  • Spam and noise filtering - comment competition running on Facebook? No problem! Filter out all the responses so you don’t waste agent time manually junking.

  • Alert filters - look out for high risk words that might indicate fraud or security concerns

  • Escalations - scan for highly emotive language (expletives, for example), and route those interactions to a more experienced agent

Make HTTP Request

Back to top

What is it?

This action allows you to make API calls to external systems. There are three primary functions - GET (collect data), POST (send data) and PUT (update data). We’ll store the result of your HTTP request in the Output variable, so you can then reference it in your flow. Any system (CRM, ERP, WFM…the acronyms never end!) can be called, as long as your system is compatible. Get in touch if you want to discuss an integration.

This action is often followed by the ‘JavaScript’ action, to manipulate the raw data you’ve retrieved and sort it into a list of individual variables to use in your flow.

What is it good for?

  • Synchronising your system's customer data with Gnatta so we can streamline your processes

  • Sending data based on Gnatta events to other systems (BI systems such as Power BI, CRMs, anywhere!)

    • You can then use this data to analyse or take action however you like

    • We see our clients use our data alongside sales data to help map out forecasts and performance

  • Sending user’s ‘states’ to a work force management system to help with schedule adherence

Play Audio

Back to top

What is it?

This action will play audio during a call. Audio can be provided from a file upload, a URL pointing at an audio file (i.e. www.yoursite.com/wp-admin/files/audiofile.wav), or text-to-voice.

What is it used for?

  • Play a pre-recorded message of your terms and conditions, so the agent doesn’t need to

  • Confirm receipt of information in an IVR without needing further caller input

  • Suggest alternative methods of contact - like WhatsApp, SMS or a chat

Quality Assessment

Back to top

What is it?

This action will use AI to provide a qualitative assessment of the interaction, writing a short but detailed report. Use the ‘Brand Tone’ field to provide specific guidance for the AI (leaving it blank will exclude it form the AIs assessment). You can also choose to toggle additional assessment factors off - though note that the fewer parameters you include, the less accurate the AIs assessment will be.

The report contents will include:

Overall: Very Good
Rating: 95
Escalate: False
Confidence: 90
Explanation: The response was polite, addressed the customer's feedback, and provided useful information on how to get further help. The tone was friendly and supportive.

Detailed Breakdown:
Solution: True
Empathy: True
Introduction: True
Tone: 5
Spelling: 5
Grammar: 5

What is it used for?

This action might be followed up by an Add Note action to append the output of the Quality Assessment to the interaction - or a JavaScript action to split out specific parts of the report into variables ready to take further steps. (Such as updating custom data fields, or splitting flows depending on whether Escalate = False etc.)

Release Thread Control

Back to top

What is it?

This is an advanced action, relevant to Facebook and Instagram channels only. Using it will release control of the conversation and passes it back to the primary messenger receiver, configured in Meta. For more information, please get in touch.

Send Autoresponse

Back to top

What is it?

This action will allow you to send a message to the customer, automatically. For email, you can add images to the body of the message. For some limited digital channels (Gnatta Chat, Facebook & Instagram) you can also add ‘quick reply’ buttons that will display below your autoresponse message.

More on using this action here: Creating an Autoresponse

What is it used for?

This action has a wide range of applications - some great examples include:

  • Setting expectations with a customer via email i.e. ‘We’re looking into this. We’ll be in touch in the next 24 hours.'

  • Build a chatbot journey to handle simple FAQs, or carry out security checks before assigning to an agent.

  • Sending in-chat prompts and signposting i.e. ‘As we haven’t heard from you in the last 5 minutes, the chat will be closed shortly. Please reply to keep the chat open.'

Send Contact Form

Back to top

What is it?

This will display a contact form within a Gnatta Chat window. This contact form is pre-configured by your Gnatta Service Delivery team, but if you’d like to take a look it can be found within ‘Advanced > Accounts (Webchat) > Webchat (Your Account Name) > Fallback'. If you’d like to make changes to your template, please get in touch.

What is it used for?

This is often used as a fallback solution when a customer starts a chat out-of-hours. It allows you to very quickly collect important information about the customer’s query so that can be passed straight to an agent when the next shift starts.

Set Automation State

Back to top

What is it?

This will change the state of the interaction to ‘Automation’.

More on interaction states here: Interaction State vs Status Fields

What is it used for?

This action is often used to ensure you’ve finished any autoresponses and processing - such as an IVR during a call - before passing to an agent.

Set Queued State

Back to top

What is it?

This will change the state of the interaction to ‘Queued’.

More on interaction states here: Interaction State vs Status Fields

What is it used for?

Setting the state as ‘Queued’ will mean it is ready to be assigned to an agent as soon as there is availability in the Queue. Whilst all interactions must ‘belong’ to a queue, they’ll never be assigned to an agent unless the state is set to ‘Queued’.

Start Timer

Back to top

What is it?

Timers are used to tell Gnatta when you want something to happen in the future. When the timer executes, it’ll automate the actions you’ve set up. They can be automated actions, or could be manual actions too. More on using timers here: Using Workflow Timers

What’s it good for?

  • Following up with customers when you’ve set an expectation you’ll update them in the future

  • Calling an API to check if something has changed, and automating an action based on whether it has or not

  • Proactive sales opportunities

Suggest Response

Back to top

What is it?

Similar to the AI Assistant available to agents for the interactions radar, this action will use AI to compose a possible response to the interaction, based on the most recent 20 messages and any available text data fields. The suggestion will be stored in the action output, where it can be used later in your flow.

The output of this action will be formatted as follows:

  "Timestamp": "2024-11-11T10:00:00Z",
  "IsResponse": false,
  "Message": "This is a sample message."

We strongly advise you do not send the output of this action directly to the customer via a Send Autoresponse action. This is intended for internal use, to support your agents.

What is it used for?

By placing the output of the Suggest Response into an Add Note action, you can pre-emptively provide your agents with a draft template that they can choose to use (or not) as they handle the interaction.

Summarise

Back to top

What is it?

Similar to the AI Assistant available to agents for the interactions radar, this action will use AI to summarise the interaction, based on the most recent 20 messages and any available text data fields. The summary will be stored in the action output, where it can be used later in your flow.

The output of this action will be formatted as follows:

  "Timestamp": "2024-11-11T10:00:00Z",
  "IsResponse": false,
  "Message": "This is a sample message."

We strongly advise you do not send the output of this action directly to the customer via a Send Autoresponse action. This is intended for internal use, to support your agents.

What is it used for?

By placing the output of the Summarise action into an Add Note action, you can pre-emptively provide your agents with a useful summary before they get stuck into the interaction.

Translate

Back to top

What is it?

This action will use AI to translate the selected text into a given language. The language should be provided using a two-digit ISO code, i.e. en fr es etc. The translation will then be stored in the action output, ready to be used later in your flow.

What is it used for?

By placing the output of the Translate action into an Add Note or Add Message action, you can pre-emptively provide your agents with a translated version of the inbound text in a language of your choice.

Update Conversation

Back to top

What is it?

This action will allow you to make critical changes to the conversation - such as updating the data fields attached to it, or changing the account you are responding from.

Please note, if you change the account the conversation is attached to, the channel must be the same. i.e. if it’s an email conversation, you must select another email account.

What is it used for?

You can update the data to reflect things you’ve learned so far in the flow - like the result of a ‘Decision’ action, or something you’ve detected in the message body with a ‘Find Text’ action.

By changing the account a conversation is attached to you can help refine the customer journey - for example, by moving a very frustrated customer from a generic email address to an escalations email address, which may in turn trigger more flows.

Update Interaction

Back to top

What is it?

This action allows you to make critical changes to the interaction as a whole.

What is it used for?

  • Assigning a data group: you might assign a different data group if you’ve identified the reason for contact is ‘Refund’, and display a specific group of data fields regarding Refunds for the operator.

  • Updating data fields: you might update the content of data fields to reflect something you’ve learned in the flow so far, like a ‘Find Text’ action that has detected the customer order number.

  • Updating the queue: you could use this to move the interaction into a whole different set of routing possibilities - for example, a Supervisor Callback queue.

  • Unassign operator: this could be used at the end of a chat, or to protect an agent if you’ve detected unsafe content in a Keyword Filter.

Update Profile

Back to top

What is it?

This action allows you to make critical changes to the customer profile. A customer profile is a collection of interactions that you have grouped as belonging to a single person.

For more information on managing profiles, check this article: Creating Customer Profiles

What is it used for?

This is used to continue to add to a customer profile as you learn more about the customer - such as a new interaction.

  • No labels