Templates
New here? It’s a good idea to read this article first: Learn About Workflow
What are templates?
Flow templates are predefined examples of popular flows that can be used together like building blocks across all of your workflows. Gnatta is designed to break down common contact centre scenarios into these repeatable functions, to ensure your solution keeps up with business changes.
Below are a few examples of workflows built using some of the templates listed in this article. Note that each workflow is triggered by an event, and then the flows would be executed in sequence:
Templates directory
Below, we’ll explore each template and the expected use cases. However, we’d strongly advise logging into your Gnatta domain and experimenting with the template you’re looking at in the builder - we’ve attached a variety of useful notes to each action in the flow to make it easier to figure out what’s happening, and why.
Account Create
What is it?
You can use this template on multiple New Message Received
events to globally manage how interactions from a range of channels are created, within one flow. By checking the Account ID (Rule.MediaAccount.Id
) you can branch the flow to correctly map media accounts to the right queue. For example, you can route inbound chats to a Chat queue.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This should be used on New Message Received
events.
What can I use with it?
Followup this template with a ‘Queue Interaction’ template to complete the routing and ensure the interaction reaches an agent.
Add Customer Profile
For a detailed walkthrough of this template, check this article: Creating Customer Profiles
What is it?
A customer profile is a collection of interactions, accumulated 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!
This template is aiming to connect the current interaction to an existing profile, or create a new one. There are a number of variations on this template, covering each channel:
Chat
Email
Facebook
Instagram
Telephone
Trustpilot
WhatsApp
Make sure you’re using the right template for each channel, as the way in which the customer profile data is collected is different in each one.
Which event should I use it on?
The event these templates should be used on varies depending on the channel in question.
Chat >
Chat Started
Email >
New Message Received
All others >
Data Updated
This is because an email address is collected by default with chat and email, so the profile can be created straightaway. For all other channels, you’ll need to wait until an email address is added to a custom data field - and therefore profiles should be added or updated on a Data Updated
event.
Advanced Chat Fallback Create
What is it?
Use this template to group chat fallback forms with the chat they initiated on, and log the data from the form in custom data fields on the interaction.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
To use this template, first navigate to Settings > Advanced > Account > Webchat > Your account name > Fallback
and enable Contact Grouping. This will mean Gnatta is automatically grouping related chats and fallbacks received from that web visitor. With that toggle enabled, the flow template can jump straight into a Decision
action to check if an interaction already exists.
Which event should I use it on?
This should be used on the Contact Form Received
event.
What can I use with it?
Detect & Update - to capture any extra data from the message body using RegEx
Queue Interaction - queue the fallback form for assignation to an agent as soon as one becomes available (if the form was received out of hours, that might be at the start of the next shift).
Advanced Chatbot Flow
What is it?
Building a chatbot is one of the most complex functions in any contact centre, and protecting the customer experience needs to be at the forefront of your chatbot design. This advanced flow is structured to manage a journey by tracking the customer’s progress with a ‘Step Checker’, which builds out the journey horizontally, instead of down an isolated path where customers can become trapped and change management becomes tricky. This flow will make sure the customer can exit the journey to reach an agent or infinitely restart the journey as required.
Which event should I use it on?
This flow can be used on Chat Started
, New Message Received
or Response Received
events.
What can I use with it?
We’d recommend placing an Automation Create flow before this one, to ensure chats are held in an automation state and not accidentally assigned to an agent before the customer is ready.
Automation Create
What is it?
This very simple template will create an interaction that is ready for automation in a chatbot journey. It’s critical the interaction is created in an ‘Automation’ state, as this will ensure it is excluded from other assignation logic flows and keep the customer in the chatbot journey until they’re ready for an agent.
Which event should I use it on?
This flow should be used on Chat Started
or New Message Received
events.
What can I use with it?
This flow should be followed with the Advanced Chatbot Flow template.
Call Recording
What is it?
This straightforward flow template will start call recording - automatically! If you’d like to add a text-to-speech notification to the customer, click into the action and check the box to enter your message.
Which event should I use it on?
This template is designed to be used on the Interaction Assigned
event, so call recording begins as soon as the call is assigned to an agent (not during an IVR process).
Benefits
Helps with quality assurance processes
Protects customers and agents during difficult calls
Chat Fallback Create
What is it?
This flow will create a new interaction when you receive a fallback form from chat, and log the data from the form against the interaction. You would use this template if you don’t want to group Fallback Forms with the chat they originated on, as in the Advanced Chat Fallback Create template.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This should be used on Contact Form Received
events.
What can I use with it?
Detect & Update - to capture any extra data from the message body using RegEx
Queue Interaction - queue the fallback form for assignation to an agent as soon as one becomes available (if the form was received out of hours, that might be at the start of the next shift).
Chatbot Planner
What is it?
This template is designed to help you visualise your chatbot journey without complex logic getting in the way. Create the branching paths of your envisioned journey using Decision
and Send Autoresponse
actions. When it’s ready, let us know and we’ll help you convert it into a fully functioning, live chatbot using an Advanced Chatbot Flow - with all the bells and whistles added.
Which event should I use it on?
This flow template is not designed to function on its own - you’ll need to send it to Gnatta Support so we can get your chatbot live!
Check Timer
What is it?
This flow will check an existing timer, stop it, and then start a new one. This can be useful if something important changes on the interaction and you no longer want to trigger the first timer - such as a new response in a chat!
You need to have an existing timer setup to use this flow. Check the ‘Simple Timer’ template!
Which event should I use it on?
This flow is best used on Message Sent
and Response Received
events.
Detect & Update
What is it?
Use this template to automatically detect key data from customer messages, and store it in custom fields with the Find Text
action. Examples include:
Email addresses
Phone numbers
Postcodes/ZIP codes
Order/membership numbers
Tracking numbers
This template can help you find any unique data type.
Which event should I use it on?
This template is most often used on New Message Received
or Response Received
events.
What can I use with it?
You might use this template in a sequence like:
Find or Create
Detect and Update
Queue Interaction
Benefits
Reduce handling time by removing the need for advisors to find and store this data
Increase potential for further automation by using this information in other templates/events
Email Sender Create
What is it?
Use this template to split inbound messages based on the email address of the sender - for example, splitting out contacts from 3rd party’s and suppliers to ensure those interactions are routed to back-office teams, not frontline agents.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This should be used on a New Message Received
event.
What can I use with it?
It’s best to followup with a ‘Queue Interaction’ template, to ensure the interactions you’ve created can reach an agent!
External Reporting
What is it?
This template will use an HTTP Request
action to send data to an external system - such as PowerBI, or Google Looker!
This is an advanced template - you’ll need a basic understanding of how an HTTP request works, and the ability to write your request in JSON. If you can’t write it yourself, you could try using ChatGPT, or get in touch and the Gnatta Support team will help write it for you!
Which event should I use it on?
This flow can be used on New Message Received
, Response Received
or Interaction Closed
events.
What can I use with it?
This action is best placed at the end of a flow sequence, to ensure it is triggered last and data isn’t changed after it is sent.
Find or Create
What is it?
This is a powerful flow designed to check if an inbound message is brand new or related to an existing interaction. In a nutshell, it will do the following:
Check for an existing interaction
If it finds one, check if it was closed in the last 7 days
If it was in the last 7 days, it’ll connect the conversation to that interaction
If the existing interaction was older than 7 days, it’ll create a new one
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Why 7 days?
The 7-day check is based on an assumption that customer messages sent within 7 days are more than likely related to the same issue. Interactions are designed to contain all conversations relating to just one issue - so if the interaction is older than that, it’s best to create a new interaction altogether to avoid muddying the waters with resolved issues!
You can adjust this 7-day window to suit your business needs.
Which event should I use it on?
This should be used on a New Message Received
event.
What can I use with it?
You may want to follow this up with an ‘Add Customer Profile’ template, to connect multiple interactions together and create a bigger picture about the customer.
You should also follow it up with a ‘Queue Interaction’ template, to ensure the interaction is ready to be assigned to an agent.
Benefits
Reduce overall contacts by merging contacts together and solving multiple queries in one place
Remove multi-handling of one customer to numerous advisors
Reduce handling time by having everything in one place
Increase customer satisfaction by having a much clearer picture of their overall query
IVR Starter Flow
What is it?
This advanced template is everything you should need to start an IVR (interactive voice response) journey for your call queues. Before the journey commences, we’re checking your opening hours to make sure there’ll be an agent to assign to when the caller completes the IVR. Then, we’re using DTMF tones to collect the number the caller presses, and branch the flow accordingly. You can use these branches to route interactions to particular agents, or to store useful data on the interaction - such as the reason for contact.
If you’d like to use audio files instead of text-to-speech in your IVR Input
actions you can upload these to your Gnatta domain, or store them on a public link of your own. Check allowed file types here: Permitted File Types
Which event should I use it on?
This should be used on Call Started
events.
Junk Checker
What is it?
Use this template to remove unwanted messages from being assigned to your advisors. This is usually used in a couple of ways:
Using keywords (for competition posts or spam)
Removing ‘tags’ from Facebook (where someone has only tagged a friend into a post and there’s nothing for an advisor to answer)
Which event should I use it on?
This is best used on a New Message Received
event.
Keyword Create
What is it?
This template will help you to split inbound messages depending on the contents. For example, split queries containing the word ‘Refund’ into a Refunds queue, and queries containing the word ‘Tracking’ into a ‘WISMO’ queue.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This template is best used on New Message Received
events.
Benefits
Prioritise interactions based on their contents to minimise escalations
Improve customer experience by matching customers with the right agent for their query
Save agents time transferring queries to other departments
Keyword Update
What is it?
This template, much like the ‘Detect and Update’ template which finds complex data like an email address, aims to match simple keywords from the customer’s message and then update the interaction accordingly. For example, you might want to scan customer messages for the following keywords:
Delivery
Tracking
Refund
Payment
Learn more about using the Keyword Filter action in this article: Keyword Routing
Which event should I use it on?
This template is most often used on New Message Received
or Response Received
events.
Log Chat Survey
What is it?
With this template, you can ensure the feedback a customer leaves in a post-chat survey is logged in the custom data fields on the interaction so it can be used in your reporting and dashboards - without this step, post-chat survey data will only be stored against the chat conversation.
Which event should I use it on?
This should be used on the Chat Survey Completed
event.
Manual Conversation Update
What is it?
When an agent manually creates a new conversation, you may want to update the interaction to move it into a new queue. For example, if a webchat agent has sent an email followup to the customer, you may want the replies to be handled in an email queue.
Which event should I use it on?
This template should be used on the Conversation Created
event.
Multi-Timer
What is it?
This flow is designed to schedule a timer depending on the length requested by the agent who handled the interaction. The agent defines their request by setting a custom field with the relevant length. Before using this timer, you’ll need to head to Settings > Advanced > Dynamic Data
and create two new fields:
Timer Length
Type:
String
Presentation:
Single Select
Add an option for each timer length, i.e. 1 hours, 6 hours, 12 hours etc.
Current Timer
Type:
Timer
Presentation:
Editor
The flow will then be able to check that Timer Length field for the agent’s request, start the appropriate timer then store it in the new Current Timer field.
Which event should it be used on?
This template should be used on a Data Updated
event.
New Chat Create
What is it?
This basic flow should be used to ensure the Pre-Chat Survey data you’ve collected is stored on the interaction, where it’s going to be most useful to your agents (and where you can use it for routing possibilities!).
Click on the
Create Interaction
action, and set the Queue and data group as appropriate.Click on the Preset data configuration card to begin mapping the Pre-Chat Survey data.
Select the first field from your survey that you’d like to map to the interaction (
Once you’ve selected your field, select ‘Context value' and open the Explore menu.
Search for ‘Chat Data’ in the Explore menu and find the name of your field again and select it.
Doing all of that will insert something into your Preset data field that looks a little like this: WebChatData[8fd89aa2-6921-4e4f-a6a3-83d6e21288e1]
That long chain of numbers and letters is a GUID - which is a unique reference for the data field you’ve selected. It’s telling Gnatta to check that field on the chat, and insert the value it finds onto the corresponding field on the interaction.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should it be used on?
This template should be used on a Chat Started
event.
What can I use with it?
Detect and Update - to capture and store any data from the message body using RegEx, if there are open text fields on your survey
Queue Interaction - to ensure the interaction is queued for assignation to an agent, after you’ve created it
Queue Interaction
What is it?
This super simple flow template is just one pre-configured action - it’ll automatically change the state of the interaction to ‘Queued’. In other flows, you’ll be setting interactions as ‘Created’ or ‘Automation’, depending on the use case. Placing this flow after those flows will allow you to globally ensure interactions are ready to reach an agent.
Which event should I use it on?
This template is usually one of the last flows on a New Message Received
or Response Received
event.
What can I use with it?
You might use this flow in a sequence like this:
Find or Create - to match the message to an interaction or create a new one
Detect and Update - to automatically collect customer email address and store it
Queue Interaction - to get the interaction ready for an agent
Reopen Interaction
What is it?
If you receive a new response on an existing interaction, this simple flow will change the interaction status to an ‘Open’ one, depending on the options you’ve defined in your Status field. More on setting up your custom data here: https://gnatta.atlassian.net/wiki/spaces/HELP/pages/2523136001
Which event should I use it on?
This template is best used on the ‘Response Received’ event.
Simple Create
What is it?
This template keeps your routing logic super simple - when you receive a new message, create an interaction and map it to a queue. This works well for small domains with low contact volumes. We’d recommend creating one of these for each channel, so you can ensure contacts from the same channel reach the right queue.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This is best used on the New Message Received
event.
What can I use with it?
Follow this template up with the ‘Queue Interaction’ template and your routing is all connected!
Simple Timer
What is it?
This flow will create and store a timer against an interaction. A typical use case for this might be to send an ‘Are you still there?’ message in a chat after the timer elapses, by connecting the timer to another flow that is using a Send Autoresponse
action. Storing the timer on the interaction means it can be interrupted and stopped, should something change (such as a customer reply!).
In order to use this template, you’ll first need to head to Settings > Advanced > Dynamic Data
and create a new custom field as follows:
Name: i.e. My New Timer
Type:
Timer
Presentation:
Editor
You’ll then be able to reference this timer field in the flow to store your timer using the Update Interaction
action.
Which event should I use it on?
This template is best used on Message Sent
or Interaction Closed
events, depending on your use case.
What can I use with it?
We’d recommend pairing this with a Stop Timer template placed on Response Received
events, so you can check if the timer is still active and interrupt it as needed.
Split Public Interactions
What is it?
In this advanced flow, we’re using logic similar to the Find or Create template, except we’re also adding a check against the message type (using the context: Is Message Private / Echo.IsPrivate
) to further split the interactions before we create or update them. This means you can funnel private messages away from public comments on your posts, and ensure they’re handled by different flows and/or teams.
This function is especially useful if your marketing campaigns frequently generate a lot of comments on your posts - you could apply a Junk Checker template to your Public Interactions queue, and stop those interactions from reaching an agent.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This should be used on a New Message Received
or Response Received
event, mapped to a Facebook account.
What can I use with it?
Detect and Update - to scan the message body for useful data using RegEx, such as an order number
Add Facebook Customer Profiles - to merge the newly created interaction with your history of interactions stored for that customer
Queue Interaction - to place the interaction in a queued state, ready to reach an agent
Stop Timer
What is it?
This flow will check an existing timer field on the interaction and stop it from triggering its flows, if it has not yet elapsed. You’ll first need to have created a timer using the Multi-Timer or Simple Timer templates. Make a note of the field name you are storing the timer in, so you have it to hand to identify your timer in this flow.
Which event should I use it on?
This template should be used on Interaction Closed
, Response Received
and Data Updated
events.
What can I use with it?
You’ll need to use this with Simple Timer or Multi-Timer template, to ensure you have a timer created that you can stop!
TrustPilot Rating Create
What is it?
This template will split inbound reviews for a TrustPilot account based on the star-rating detected, so they can be mapped to a relevant queue. i.e. 1-star reviews into a 1-Star queue, where you’ve assigned your most experienced agents.
Remember to leave interactions in a Created state for now, so you can manage assignation in a separate flow. More on interaction states here: Interaction State vs Status Fields
Which event should I use it on?
This should be used on a New Message Received
event, mapped to a TrustPilot account.
User Unavailable
What is it?
Use this template to ensure incomplete work is reassigned appropriately when an agent changes their state to Away as they approach the end of their shift. The flow will remove non-live interactions but continue chats or calls, so they can be wrapped up neatly before the agent logs off.
Which event should I use it on?
This template should be used on the User State Change
event.