Flows Report

Flows Report

The Flows Report is a way to visualize the unique behaviour/journey of your chatbot. It is represented by a sankey diagram where the width of each individual conversation path is directly proportional to the flow rate.



  • Steps - the selected stages of your bot’s conversation history. Each Step is essentially applying a specific constraint to your messages to identify a stage of a journey you may want to track.
    • Filter Definition - A filter definition adds a Step where a filter selects a subset of your bot’s data determined by specific constraints. You can find the list of possible step filter definitions in the Glossary section below.
    • Steps Before/After - You can select a certain # of immediate steps before and steps after that step to track. A step before shows all connected events that occur exactly 1 step before the selected filtered step. A step after shows all connected events that occur exactly 1 step after the selected filtered step.
  • Filter - An aggregate/global filtering of the message data contained within the “Steps” you defined previously. You can find the list of possible filters in the Glossary section below.


The output is a flow or sankey diagram showing the specific behavior/journey of your chatbot you want to track based on the steps & filters you have defined previously.

  • Node - Each node in the graph is an intent, which represents all of the messages matching to that intent for a given step
  • Paths - Hovering over a specific path allows to you see the flow rate for the two connected nodes as well as the number of messages that correspond to that given path
  • Transcripts - You can access transcripts for an individual conversation path by clicking the ellipses located at each intent.
  • Adding Steps - You can add a step by clicking the + sign located near the top corners of the output
  • Removing Steps - You can remove a step by clicking on an individual arrow located next to the Step.
  • Accessing Transcripts - By clicking on the ellipses (...) to the right of each node and clicking on “Transcripts” you can access the associated transcripts for that given path.

Use Cases

The following are a few popular use cases to explain how you might use Flows Report to answer common questions regarding your data:

Demo video on using the Flows Report to identify how the user journey of your chatbot from point A to point B

  • Use Case 1: Measure how users make it from point A to point B in the conversation
    • Use Conversation Paths to identify patterns/trends at a high level, then transition to Flows to be able to answer specific questions identified from the Conversation Paths
  • Use Case 2: Tracking all steps that led to an NotHandled Intent
    • 1 - Steps before A
    • Filter Definition: where Intent in NotHandled
    • 1 - Step after A
    • Be able to see which intents directly lead to your users triggering the NotHandled intent
  • Use Case 3: Tracking the first steps in the conversation
    • 0 - Steps before A
    • Filter Definition: where Incoming incoming
    • 2 - Steps after A
    • Be able to track all intents sent from your users for the first 3 steps and the conversation path for each. Identify the transcripts for the NotHandled intent and identify ways to improve bot responses


Incomingselecting from only the messages sent to your chatbot
First Message in Sessionselecting the first message from your chatbot’s conversations
Team IDselecting based on the team ID
Channel IDselecting based on the channel ID of your bot
UserIdselecting based on distinct user ID’s of your chatbot
Message Typethe different types of messages from your chatbot’s conversation (text, image, voice, etc)
Boolean Fieldselecting a boolean value for Incoming
urefers to the raw dataset sent by your chatbot
fmrefers to the filtered dataset Dashbot created from your chatbot’s raw data
Date Rangeselecting for the time range of your chatbot’s conversation history
Date Compareselecting for when the u and fm datasets are equal when truncated by day/month/year

Example: u.firstMessageDatetime truncated to day eq fm.datetime truncated to day
Date Partselecting based on grouping by specified timestamp

Example: day = 4, keep all messages from the 4th day of the month
General Fieldselecting based on a specific fields associated with parameters related to our platform
JSON Fieldselecting based on the custom fields from your JSON payload
Text Fieldselecting based on distinct text data from your chatbot’s conversations
Number Fieldselecting based on distinct numerical data from your chatbot’s conversations
Edit this page on GitHub