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:

  1. Check for an existing interaction

  2. If Gnatta finds one, check if it was Closed within the last 7 days

  3. If it was in the last 7 days, connect the conversation to that interaction

  4. 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

Email

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.