Find or Create Interactions
Quick links in this article:
In this article, we’ll explore the logical reasoning and specific channel behaviours to consider when deciding whether to find an existing interaction or create a brand new interaction whenever you receive an inbound message.
Find or Create an Interaction
In order to get inbound contacts in front of an agent in Gnatta, you must do one of these things in your Workflow:
Create an interaction, and assign it to a queue that the agent is working on
Find an existing interaction, and attach the new message to it before assigning it to a queue that the agent is working on
Being able to find an existing interaction and make a decision to connect to it or create a brand new one is what makes Gnatta so powerful, and different from other software. As a contact centre manager, you can decide exactly what defines ‘new’ when it comes to interactions. This definition often varies between businesses. Here’s an example decision flow where a ‘new’ interaction is defined by the length of time that has passed since the last message was received:
Check for an existing interaction
If Gnatta finds one, check if it was Closed within the last 7 days
If it was in the last 7 days, connect the conversation to that interaction
If the existing interaction was older than 7 days, create a new one
Understanding the inherent flexibility over this definition should underpin the design of your routing flows. Whilst Gnatta can (and does!) work without implementing any Find or Create logic in your routing, it’s worthwhile understanding it.
Channel differences
Routing in Gnatta varies between channels. Whilst the fundamentals remain very similar, they each have their own peculiarities and considerations. We’d recommend checking the notes below for each channel you’re setting up routing for.
The below discussion is focused on the differing Events that routing flows should be attached to, via Gnatta’s Workflow interface. For more information, check here: Events
New Message Received
- This event is exactly what it says; it will be triggered when you receive a brand new message that is not currently connected to an existing interaction. You might choose to manually connect the message to an existing interaction, with a flow.Response Received
- This event will only be triggered when Gnatta considers the new message to be inherently connected to a previous message i.e. an interaction is already in progress. The definition is deliberately narrow, to maximise your control over how and when interactions are split.
Chat
Chats are detected on a Chat Started
event - but each sequential message received in that chat will trigger a Response Received
event. i.e. Chat Started
refers to the moment the chat was initiated, whereas Response Received
is all about how you manage a chat live, whilst it’s in progress.
Chatbot flows should always be attached to a Response Received
event, with your logic built around understanding where the customer is in their journey so far in order to determine which message to present next.
When the chat is closed, the Chat Ended
event will be triggered. If a fallback form is configured on your account, submissions on the fallback form will trigger the Contact Form Received
event. If a Post Chat Survey is completed, that’ll trigger the Chat Survey Completed
event.
Check out this article for more information on configuring chat routing: Chat Routing Overview
Each new email thread will trigger a New Message Received
event. If a customer replies to an email you’ve sent (or follows up to their own email), it’ll trigger the Response Received
event. This is because the messages are inherently related.
However, if the customer was to start a new email thread with a new subject line, this would trigger the New Message Received
event again - and you’d need to consider using Find or Create logic if you wanted to connect this new email thread to an existing one.
Website Forms
The event triggered will depend on how your forms are integrated - it’ll be External HTTP Request
if you’re using our API, or a New Message Received
event if you’re forwarding notifications into an email account in Gnatta. If a customer replies to an email you send in response to their form submission, it’ll trigger the Response Received
event. This is because the messages are inherently related.
Routing for website forms is a little more involved than other channels, so we’d recommend following this guide: Website Forms Routing
Form submissions are essentially a conversation with your website! In order to respond to the customer, you need to explicitly create a new conversation and tell Gnatta who to send messages to by selecting the email address field from your form submission.
Telephony
Each new call will trigger a Call Started
event. This channel cannot trigger a Response Received
event - your IVR routing flows should all be attached to the Call Started
event! When the call ends (disconnected by the customer or the agent or workflow), then the Call Ended
event will be triggered.
TrustPilot
Each new review will trigger a New Message Received
event. If the customer edits their review, this will trigger a Response Received
event.
All other channels
This section refers explicitly to: Facebook, Instagram, WhatsApp & SMS
Each individual message received via these channels can trigger a New Message Received
event.
A Response Received
event will only ever be triggered if the interaction is set to an Open status at the time an additional message is received, automatically appending the new message to the one that is currently Open. As soon as the interaction has been set to Closed (by an agent, or workflow), the Response Received
event will no longer be triggered and additional messages will trigger a New Message Received
event.
For example, if a customer sent the following messages in quick succession, but the agent set the interaction to a Closed status in-between, it would trigger the New Message Received
event three times, potentially creating three separate interactions:
10:22: Hi
10:22: Please can you help me
[agent replies and closes the interaction]
10:23: My name is joe bloggs
[agent replies and closes the interaction]
10:24: My email is joe.bloggs@gmail.com
[agent replies and closes the interaction]
To tell Gnatta you want it to connect these messages into a single interaction, you’ll need to implement Find or Create routing logic. This will group individual messages sent within a short span of time into a single interaction - otherwise, you might find each new message from a customer is generating a new interaction, instead of connecting to the previous one, which might make it hard for an agent to understand what is happening.