Intro to Basic Operations
This modules provides a comprehensive understanding of how pathways configure the AI (or agent’s) behavior during phone calls.
Through practical examples, step-by-step guidance, and , learners will gain the skills needed to create, refine, and optimize effective Pathways tailored to their specific needs.
IN THIS MODULE YOU WILL LEARN
• Define what a Pathway is and explain its significance within Bland AI
• Guide learners through the process of creating a basic Pathway
• Introduce advanced features such as webhooks and custom tools for enhanced Pathway functionality
• Provide real-world case studies and best practices to help learners design and implement efficient Pathways
• Equip learners with the knowledge to test, refine, and optimize Pathways for improved performance and user experience
The Importance of Conversational Pathways
We have reviewed the basics of Conversational Pathways in both Modules 1 and 2, so let’s recap.
Conversational Pathways are “flow chart” instructions for your agents to follow during a conversation
Pathways are built out of nodes (there are many different types of nodes for different functions during the call)
Nodes are connected by “Pathways,” which help the agent decide where to go next.
Lesson 1
Building Your First Pathway
Node Types - The Building Blocks of Conversational Pathways
Nodes are the fundamental building block of conversational pathways. Each node represents an action point during the call or instructional information available to your agent.
Default Node
Use the prompt field to give instructions on what the agent should do at this point in the conversation. Strong and detailed prompts are the key to natural sounding and effective Agents.
Enable the “Static Text” toggle to provide a fixed response. The agent will always say the same thing at this point in the conversation.
Transfer Call Node
Transfer nodes move the current call to a different number. This could be to a human line, a support line, or even another pathway line.
End Call Node
This is how you terminate your pathways and end your calls. Your prompt will determine what the Agent says before ending the call.
The Knowledge Base Node
These nodes can be considered similar to the vector stores. They are blocks of text we can pass to the Agent in order to answer specific questions or access and share useful information. Right now you can only pass text, and soon you’ll be able to add both PDF and Vector Databases directly into the node.
Wait for Response Node
The wait for Response Node works the same way as the Default Node, except it is also equipped with the ability to wait if the user requires time to respond or needs to hold for a moment.
Webhook Node
The webhook node is used to execute webhooks at any point during the conversation. This node also can send speech during and after the webhook request.
Webhook information is all you need in order to execute a webhook. It works the same way as Dynamic Data.
Similar to how the dialogue is handled in all other nodes, you can control the dialogue sent before and after the webhook is executed.
Variables received from the webhook can also be used in the dialogue, as shown in the example below.
Global Nodes
Any node can be configured as a Global Node. Global Nodes are nodes that are accessible by every other node in the Conversational Pathway. This means that it has an implicit pathway connection to every other node.
After entering a Global Node, the agent will execute the instructions inside the Global Node, and then automatically return to the node it was previously.
In a Global Node, you can forward the agent to another node by toggling “Enable Forwarding”. This is useful if you want to move the agent to an existing node for a certain scenario. This also works for forwarding to another Conversational Pathway.
Global Prompt for all Nodes
The “Add Global Prompt to All Nodes” feature is used to provide context/instructions to the agent that applies to all nodes, without having to manually input the same prompt into each one. One example of a global prompt is to direct the agent to use a certain tone of voice.
Note: Global prompts should be as simple and concise as possible. Complex and multi-stage prompts increase the risk of confusing the Agent and disrupting your pathway flow.
A Real World Pathway Example
Let’s walk through the creation of a more complex pathway for a real-world use case. Our company sells multiple online courses as well as one-on-one executive coaching programs, which are more expensive. The agent’s job is to determine if a prospect is “qualified” (interested in buying one of our products) and then to help them determine which product is best for them. If the client ends up showing interest in the one-on-one executive coaching programs, the agent will transfer the call to a live salesperson.
Before we start building our nodes, let’s map out an initial flow for our Agent.
Call the prospect (greet them by name) and ask if they have time to speak briefly.
If they say yes, continue on with the script; if they don’t, get the best time to call back.
Ask the prospect what products they’re interested in and when they are considering making a purchase.
Give them pricing information, details about the courses, and guarantees from a Knowledge Base.
If at any time the prospect indicates they want elite coaching, transfer them to the sales direct phone line.
Let’s convert each step into nodes, and start creating our Conversational Pathway!
Start Node
This node will initiate the call to the prospect’s phone number. When the call is initiated, the agent will be given the prospect’s name and any other relevant information we might have.
Prompt:
We want our agent to introduce themselves as a representative of our company, and explain why they’re calling. Then we want them to ask the prospect if now is a good time to speak about their request.
For the first run through, we will use Bland prompts in each node.
Conditional Paths - Prospect is Ready to Speak
Either the prospect is ready to speak, or not.
To set this up, edit the two paths coming from our ‘Start Node’. We’ll do the ‘Yes’ path first.
We added a simple label (keep these short) and a little bit more context in the description so our agent can determine this correctly.
The ‘No’ path will be edited the same way as follows.
Note: Opposites are best when creating your branch labels. You want to avoid using phrases that could be interpreted in similar ways.
“No” Pathway
The agent will be able to determine from the prospect’s response that they are either not interested in talking now or are not available. The agent will then be prompted to ask for a date and time to call back.
Assuming the prospect gives us a date and/or time, the agent will use our company “scheduling’” API to book in the time.
After booking in the time slot with our API we’ll end the call politely. To achieve this flow, we will add another Node onto the ‘No’ path.
Get Availability Node:
We will use a general node here with a prompt to ask the prospect for a time they are available to be called back.
Using Variables In Your Prompts
We can improve this prompt to give the Agent a little more clarity as to what dates they should suggest. To do this, we’ll reference an internal Bland variable {{ now_utc }} which represents the current time. A list of Bland system variables can be found here.
Let’s update our prompt to use now_utc.
Since this information will be sent to an API afterwards, we will use the “Variable Extraction” feature to get the date and time.
Note: For Simplicity of the example, we are not covering the use case in which the user says they are not sure or do not want us to call back.
Prompting for Variables and Conditional Loops
The example above is basic. To increase our consistency during calls, we can take advantage of more advanced prompting. Remember, during the execution of any node, there is a separate LLM running to analyze responses and extract variables. This means you can enter in a fully descriptive prompt for each variable to get a more precise extraction value.
Here’s an improved example:
Schedule Call VIA Webhook Node:
Now we set up our Webhook node to pass the date/time provided by the prospect to our API. Here is the first part of the Node configuration.
We also want to set a prompt for the Agent to say while processing the webhook request, and give our Agent instructions of where to move next after completing the webhook.
End Call Node
Once the webhook respond we end our call with an ‘End Call Node’
Now our “No”’ path looks like this.
Yes Pathway 2
After determining if our prospect is free to talk, we’ll move to the next node and attempt to ‘qualify’ them as a buyer. For this example, we will ask the buyer the basics like what they are interested in, and when they are considering purchasing.
If they are ‘qualified’ (they give us a product, and a timeline of less than 1 month), we can give them a sales pitch.
If they are not, we can tell our Agent to end the call, and say they will send some information over email later.
Qualification Node:
For this node, we wil write a simple prompt and use the variable extraction feature again.
Prompt:
Ask the user what product they are interested in, and then find out what timeline they have for making a purchase.
Features Used:
Conditionals
If coaching or mentorship, move to Transfer Call Node
If any other product, move to Knowledgebase Node
Let’s also add in a conditional to ensure the Agent gets both pieces of information.
For this path, we will use the advanced conditional on the variable we just extracted (product). This will help the agent determine whether or not to should pass onto the node for the big ticket items.
Our “Yes” pathway is now built out to determine what the prospect is interested in and either give them some more information or transfer them to the executive sales team.
Knowledgebase Node
If our user is not ready to make a purchase, the Agent will tell them about some of the other product offerings, their pricing and features. To make sure our Agent has enough info, we’ll create a Knowledge base node.
Prompt:
Tell the user about whichever product they are interested in. Ask them if they are interested in purchasing anything.
This will work well to answer someone’s questions, but what about if they have multiple questions? Use a looping condition to instruct your Agent to stay on this node until all of the user’s questions are answered.
Global Node
We also want to be sure that the agent catches any scenario the buyer indicates they are ready now. For this, we’ll use a Global Node (that automatically links to all nodes).
Select the ‘Redirect to another node’ and create a basic call transfer node. In real life, this would be to our customer service reps who can take credit card info over the phone (Or another Bland Agent!).