In Conversation AI, an important option for building the bot is the Flow Based Builder. It provides a rich visual interface for laying out the conversation logic.
TABLE OF CONTENTS
Access The Flow Based Builder
Navigate to AI Agents > Conversation AI > Create Bot button > Create New Bot button (Flow Based Builder)
The Conversation AI Flow Builder looks like the Automations Workflow builder but it works differently in several significant ways. Those are called out in a note like this one at the relevant point in the article.
Bot Settings
On the Bot Settings Tab:
- Name the bot
- Set Bot Status to Auto Pilot
- Select or deselect communication channels (ex: SMS, Instagram, Facebook, etc)
- Set max messages to something like 100 (since this flow can handle long conversations).
- Save the bot settings
Bot Goals
On the Bot Goals tab, set bot tone by selecting one or more keywords (ex: friendly and confident).
Describe the personality & style of the bot using sentences and merge fields (ex: "You are a bot for {{ai.business_name}}.").
Describe the intent behind the conversation using sentences and merge fields (ex: "Your goal is to help users choose a goal like {{ai.goals}} and book an appointment.").
Describe additional information & business context using sentences and merge fields. This is a good place to provide explicit examples of how the bot should communicate (ex: avoid: How may I assist you today?, use: Hey, how's it going?).
Specify unique conditions:
- Stop Bot - Wherever the contact is in the workflow, if they use vulgar language, or say "stop", etc the flow will immediately stop.
- Human Handover - When the bot doesn't know the answer or the contact asks for a human, the bot will immediately stop and notify a human.
- Auto Followup - Coming soon!
Toggle Appointment Options:
- Cancel - Allow bot to cancel the appointment.
- Reschedule - Allow bot to reschedule the appointment.
Save the Bot Goals.
Flow Based Builder
Navigate to bot Goals tab > Click the Launch Flow Builder button.
You can tell you're in the AI Flow Builder (not the Automation Workflow builder) because it says "Back to Conversation aI" and "Test Bot" instead of "Workflow".
Note that where the flow has [END] nodes, that means the end of the objectives, not the end of the flow/chat. The chat will continue without any objective unless it's explicitly ended in one of several ways (ex: max messages, timeout, end conversation action, etc).
The default trigger is Chat Initiated. This trigger is the only way to start the flow.
AI Actions
Click the plus (+) to select an action. The available actions are the same as in the Workflow Builder but also with new AI Actions. Scroll to the AI Actions section.
- AI Capture Information (AI Capture & Qualification)
- Book Appointment
- End Conversation
- AI Splitter
- AI Message
- Custom Message
- Transfer Bot
- Continue Conversation
Note that the Capture & Qualify action and Book Appointment action will loop autonomously until it achieves its objective or an exit criteria is reached (ex: max attempts). The other message actions will just send the one message without trying to achieve anything.
AI Action - Capture Information (Qualify)
- Describe the objective - Input the prompt or instruction for this particular objective (max 500 chars). Example: "determine the name of the user".
- Update contact field (optional) - Select a contact field from the dropdown. Example: First Name.
- Additional instructions - Describe supporting directions for the objective. Example: "Let the user know we can't move forward if their budget is less than $5,000 but do not reveal that number. Just say 'We cannot move forward at {the number they said that was less than our threshold}."
- Response example - Specify an exact format. Example: "Specify USD currency: $#,###"
- Skip objective if field is already filled out - If you used the Update Contact Field dropdown, and that field is already filled out in the Contact record, then this objective will be considered already met and will be skipped. Example: If Contact is coming from a Facebook form then name, email, etc will probably already be filled.
- Maximum attempts - An integer number. The bot will stop trying to fulfill the objective after X number of its own messages sent trying to fulfill it. Example: Max:2, Bot:What is your email address?, User:No, Bot:In case we get disconnected, what is your email address so I can reconnect?, User:Don't worry about it, Bot:[moves on to the next objective].
- Don't proceed to the next objective if criteria not met - This will end the conversation with a closing message. Example: "Thank you but your budget is too low to be a good fit for us."
- Add a tag - Add one or more tags to the contact as the last step in this objective. Example: [AI qualified]
AI Action - Book Appointment
- NOTE: This action will loop attempting to meet its objective of booking an appointment using multiple messages unless there is a clear exit criteria such as "I don't want to book."
- Enter the prompt for calendar booking - Describe how to encourage the user to book an appointment.
- Select calendar - Choose the appropriate calendar from the dropdown.
- Appointment Booked - This branch is for a successful appointment creation.
- Appointment not booked - This branch is for a failure that resulted in no appointment creation.
AI Action - End Conversation
- NOTE: By default, when the contact reaches an [END] node in the flow, they will stay there and any further interaction with the chat will be in that context. This action definitively ends the conversation and it will not be continued.
- End custom message - Define a literal message to send to the user, the AI will not modify it.
- Reactivate after bot - Check to define that the bot should reactivate after a delay.
- Reactivate after value - Specify the number of time units until the bot should reactivate.
- Reactivate after unit - Specify the time unit (ex: hours).
AI Action - AI Splitter
- NOTE: the AI Splitter action does not send messages or collect information. It only analyzes previously collected information.
- Description - Describe the branching logic. Example: What type of car does the Contact own?
- No condition met - This is the minimum default branch. It's a catchall in case no other branch clearly qualifies.
- Branches - [option 1] [option 2] [option 3] [etc] These are the choices the AI will have to choose from.
AI Action - AI Message
- NOTE: This action will be executed only once. It will not try to achieve an objective.
- Enter the prompt for the message - Describe the type of message you want the AI to write and send (using all of the conversation context up to that point). Example: "Tell the user that we are the best insurance provider."
- Wait for contact reply - If checked, the bot Flow will only move to the next step after a reply is received.
AI Action - Custom Message
- NOTE: This action will be executed only once. It will not try to achieve an objective.
- Enter the message - Write the literal message you want the user to see. No modifications will be made to this message, it will be delivered as is. Example: "We are the best insurance company according to Awards 2024."
- Wait for contact reply - If checked, the bot Flow will only move to the next step after a reply is received.
AI Action - Transfer Bot
- NOTE: This will transfer the contact to a different bot and exit this flow; it will not return unless you have another transfer action somewhere else that sends the contact back. This is best used when you have several conversation paths that are similar but with crucial differences, so a bot might get confused about the details if they're all in one context. This will send the conversation to a bot that only has the context of one conversation path.
- Select bot to transfer to - Use the dropdown to select the appropriate bot. Example: Car Insurance California, Car Insurance Nevada, Car Insurance Texas.
AI Action - Continue Conversation
- NOTE: By default, when the contact reaches an [END] node in the flow, they will stay there and any further interaction with the chat will be in that context but with no particular objective to achieve. This action allows you to give the bot specific instructions on how to go on chatting if the user wants to.
- Additional instructions - Define instructions for how to go on chatting with the user if they want to.
AI Triggers
The default Initiate Chat trigger is the only way to start the flow. The Custom Trigger(s) cannot start the flow. Once the Contact has reached one of the [END] nodes in the flow, then their messages can fire one of the Custom Triggers to move them to an earlier point in the flow. In the near future, Custom Triggers will be able to fire at any point during the flow (not just an [END] node) and the Sensitivity setting will be applied.
Custom Trigger
- NOTE: You can have up to 3 custom triggers.
- Choose Custom Trigger - Use the dropdown to select a pre-built custom trigger (ex: Book Another Appointment) or create your own.
- Describe the trigger condition - Describe in words what the custom trigger condition is (different from the initial chat). Example: "The user wants to know about our policies."
- Priority - Select 1 to 10. This controls which custom trigger will fire if more than one of them could fire at the same time. Higher numbers are higher priority.
- Sensitivity- Select Low, Medium, or High. This controls whether or not the custom trigger will fire in the middle of the flow.
- Low = The AI is unlikely to break the current flow and move the Contact to the trigger.
- Medium = The AI will decide if the Contact will break the flow.
- High = The AI will almost always break the Contact out of the current flow and move to the Custom Trigger.
Custom Triggers & If/Else
You can combine an If/Else with Custom Triggers to create a router. Reroute the Custom Triggers to flow into the If/Else Conditional and configure a path for each Trigger.
- Branch Workflow Trigger Is Chat Initiated - Follow this path if the default Chat Initiated trigger was fired.
- Branch Workflow Trigger is Custom Trigger 1 - Follow this path if Custom Trigger 1 was fired.
- Branch Workflow Trigger is Custom Trigger 2 - Follow this path if Custom Trigger 2 was fired.
- Branch Workflow Trigger is Custom Trigger 3 - Follow this path if Custom Trigger 3 was fired.
Change Custom Trigger Path
- Click on the break link icon at the bottom of the Custom Trigger.
- In the modal, click the Remove Path button.
- Click on the Action you want the new path to go to (acceptable options are highlighted in green).