Build Guide: Entity Recognition for Reporting

Build Guide: Entity Recognition for Reporting

Quick links in this article:

In this guide, you’ll build a simple Workflow that uses AI to extract entities from customer messages — like product names, locations, URLs, or organisations — and stores them in custom data fields for reporting and agent context.

This is especially useful for spotting trends over time (e.g. most-mentioned products or locations) or providing agents with immediate context before they pick up the case.

Want to see a demo before you get started? Check out the demo video here:

Workmate Demo: AI-Driven Reporting

What This Workflow Will Do

  • Detect entities in incoming messages (e.g. Events, Products, Locations)

  • Store those values in open text custom fields

  • Make entity data visible to agents and accessible in reporting

Before You Start

Before building your flow, you’ll need to:

  • Create open text custom fields for each entity type

  • Identify your trigger event

Let’s dive into each of those tasks below.

Create Your Custom Fields

Go to Settings > Advanced > Dynamic Data and create a new open text field for each entity you want to store.

Suggested fields:

  • Product Mentioned

  • Location Mentioned

  • URL Detected

  • Organisation Mentioned

  • Person or Role Mentioned

  • Event Mentioned

Set these up as open text fields i.e. String (Editor), not dropdowns. Entity results are usually freeform and unpredictable.

Optional: You can add each of these data fields to a data set - either an existing one, or a new one. Later, when updating the interaction, you can select that data set to display when the agent receives the interaction.

create fields.gif
Create open text fields for each Entity category listed above

Be sure to toggle Reportable to ON!

 

Identify an Event

You’ll attach your flow to a Workflow event later — either an existing New Message Received or Response Received event, or a new one.

Important: Events are linked to specific channels or accounts — they’re not global.
In this example, we’re using an Email channel, so you’ll need to select or create a New Message Received event that’s mapped to your chosen Email account.

Head to Settings > Workflow > Events to check which event applies to your use case — or create a new one for the right channel if needed.

 

Building the flow

With your planning, custom fields, and event ready, it’s time to build the flow itself. 

Create a new flow

Head to Configuration > Workflow > Builder and click Create Flow.

  • Give your flow a clear name and label — for example: "Entity Recognition".

  • Save early — and save often! (You can come back and edit the flow as you refine your logic.)

Once you’ve created your flow shell, you’re ready to start adding actions.

create the flow.gif
Create a new flow, then give it a name and a label

Create the interaction

If the interaction hasn’t been created yet in a previous flow (remember multiple flows can be attached to an event, and run consecutively from top to bottom!), you’ll need to start the flow by creating the interaction.

If that’s the case, at the very start of your flow:

  1. Click the + button and add a Create Interaction action.

  2. Set the Initial State to Queued

  3. Select your preferred queue — (e.g. Emails Queue or a general queue)

  4. You don’t have to, but you could preset any data fields you like at this point - such as an Email field with the sender’s email address Echo.Person.Email.Address).

  5. We’re also assigning the data group we want to display to agents here.

create interaction.gif
Create the interaction and assign it to a queue so it can reach an agent

This step ensures the interaction exists so the rest of your AI actions can run properly — you can’t run entity recognition (or any other AI action) without an interaction in place.

We usually recommend handling interaction creation and routing in a dedicated “Find or Create” flow, and using your AI enrichment flows (like this one) immediately after.

They’ll run consecutively within the same event and feel seamless — the AI data will be ready and waiting by the time the agent opens the case.

 

Add the Entity Recognition Action

Now we’ll use the Entity Recognition action to scan the customer’s message and detect any known entities, like product names, locations, organisations, and more.

  1. Click the + button under your Create Interaction (or Start Flow) action

  2. Search for and add Entity Recognition

  3. You’ll see the Message field is pre-filled with Echo.Body. This is the text the AI will be checking for entities!

By default, the confidence threshold is set to 0.7 (i.e. 70%). This means the AI will only return entities if it’s at least 70% confident in the match.

If you want to be stricter (and avoid noise), increase the threshold. If you’d rather capture more data and clean it up later, lower it slightly.

Most users stick with the default to start with — you can tweak it later once you’ve seen what kind of data comes through.

When you're happy with the settings, click Submit.

entity recognition.gif
Add the Entity Recognition action to your flow

Store the Detected Entities

Once entities are detected, we’ll store them in your custom data fields so they can be used for reporting or shown to agents in the interaction view.

You’ll do this with a single Update Interaction action.

  1. Add an Update Interaction action beneath your Entity Recognition step

  2. Under Preset Data, find each of the custom fields you created earlier and insert the corresponding output value

Field

Value to Insert

Field

Value to Insert

Product Mentioned

EntityRecognition.Output.Product

Location Mentioned

EntityRecognition.Output.Location

Organisation Mentioned

EntityRecognition.Output.Organization

URL Detected

EntityRecognition.Output.Url

Event Mentioned

EntityRecognition.Output.Event

Person or Role Mentioned

EntityRecognition.Output.PersonType

You don’t have to store all of them, just the ones that are useful to you. You can always come back and add more later.

Once that’s done, hit Submit.

store data in fields.gif
Store the output data in the corresponding fields

 

Save, Publish, and Attach to an Event

Once your flow is set up, it’s time to activate it so it can start collecting entity data.

Save and Publish

  • Click Save to lock in your changes

  • Then click Publish to make the flow live

Attach the Flow to a Trigger Event

  1. Go to Settings > Workflow > Events

  2. Select an existing New Message Received or Response Received event (depending on your channel)

  3. Attach your Entity Recognition flow to the event

Make sure the event is mapped to the correct channel — for example, your Email account if that’s where you’re expecting messages.

Once attached, this flow will now run automatically every time a message is received — and start collecting real entity data in your custom fields.

 

Done! What's Next?

You’ve now built a complete Entity Recognition flow — one that detects key details in customer messages and stores them for agent context and reporting.

Once this flow has run for a while and collected data, you’ll be able to use it to power dashboards, identify trends, and improve performance across your teams. Check here for a quick how-to on setting up your AI-driven reports: