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.
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
|Incoming||selecting from only the messages sent to your chatbot|
|First Message in Session||selecting the first message from your chatbot’s conversations|
|Team ID||selecting based on the team ID|
|Channel ID||selecting based on the channel ID of your bot|
|UserId||selecting based on distinct user ID’s of your chatbot|
|Message Type||the different types of messages from your chatbot’s conversation (text, image, voice, etc)|
|Boolean Field||selecting a boolean value for Incoming|
|u||refers to the raw dataset sent by your chatbot|
|fm||refers to the filtered dataset Dashbot created from your chatbot’s raw data|
|Date Range||selecting for the time range of your chatbot’s conversation history|
|Date Compare||selecting 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 Part||selecting based on grouping by specified timestamp |
Example: day = 4, keep all messages from the 4th day of the month
|General Field||selecting based on a specific fields associated with parameters related to our platform|
|JSON Field||selecting based on the custom fields from your JSON payload|
|Text Field||selecting based on distinct text data from your chatbot’s conversations|
|Number Field||selecting based on distinct numerical data from your chatbot’s conversations|