Skip to main content
A Pathway agent lets you build a call as a visual flow. Instead of putting the complete conversation inside one large prompt, you divide it into smaller steps called nodes and connect those nodes on a canvas. Each node handles one part of the call. For example:
  1. Greet the customer.
  2. Understand what the customer needs.
  3. Answer questions or handle objections.
  4. Book an appointment.
  5. Close the call.
The agent moves from one node to another based on the conditions you create.
Pathways Agents are best for visual workflows, conversations with multiple branches, and calls where different customer answers should lead to different next steps.

Pathway compared with other modes

The important difference is that a Pathway uses visible connections and conditions to control the call flow. The System Prompt inside a node should explain what the agent must do while it is inside that node.
Do not write instructions such as “if the customer is interested, move to the booking node” inside a node’s System Prompt. Create that decision as a Condition and connect it to the booking node on the canvas.

Create a Pathway agent

1

Open Agents

From the CallKaro dashboard, select Agents from the left sidebar.
2

Select Create an Agent

Select Create an Agent in the upper-right corner of the Agents page.
3

Choose Voice Agent

In What type of agent?, select Voice Agent. A Voice Agent handles inbound and outbound phone calls.
4

Choose Build From Scratch

In Choose Agent Mode, select the Build From Scratch tab.
5

Select Pathways

Choose Pathways from the available agent types. It is described as best for visual workflows and multi-prompt transitions.
6

Enter the agent name

The Pathways editor opens after you select the mode. Enter a clear name in Agent Name at the top of the page. An agent name is required before you can create the agent.
7

Configure the start node

A new Pathway opens on the visual canvas with one node named start_node. This is the first node used when the call begins. Select it to configure its name, switching message, System Prompt, and Extract Variables from the panel on the right.
Each version has its own language. New versions use English by default, but you can choose another available language when creating the version.
The initial start_node is already marked as the Start node. Use Add Node to create the next stages of the conversation, and use Test UI Call to test how the flow moves between them.

Understand the Pathways editor

The editor contains the following sections: This page focuses on Agent Persona and Pathways. The other sections work in the same way as they do for other agent modes.

Add the Agent Persona

Open Agent Persona and write the common instructions that should apply throughout the call. The Agent Persona can include:
  • The agent’s name and role.
  • The company or brand it represents.
  • The agent’s tone and speaking style.
  • The language it should use.
  • Rules that should apply during every stage of the call.
  • Common safety instructions and boundaries.
  • General objection-handling guidance.
Example:
Keep the Agent Persona focused on instructions that apply everywhere. Put instructions for a particular conversation step inside that node’s System Prompt.

Build the conversation with nodes

A node is one stage of the conversation. A simple sales Pathway might contain:
  • greeting
  • understand_requirement
  • answer_questions
  • book_demo
  • close_call
Select Add Node to add another stage to the graph. New nodes receive names such as node_2 and node_3, which you can rename.

Node card

A node card shows:
  • The node number and name.
  • Whether it is the Start node.
  • Whether it is a global node.
  • A preview of its System Prompt.
  • Its Conditions.
  • The destination connected to each Condition.
You can drag nodes around the canvas to organize the flow. You can also collapse nodes, zoom the canvas, pan around the graph, and use the mini-map to navigate a larger Pathway.

Configure a node

Select a node to open its settings on the right side.

Node Name

Use Node Name to give the step a clear and unique name. Good names describe the purpose of the step:
  • greeting
  • collect_details
  • book_appointment
  • handle_objection
  • close_call
The editor shows an error if the name is empty or another node already uses the same name.
Use short names made of lowercase words separated by underscores. This makes a large Pathway easier to understand.

Start node

The Start node is where the conversation begins. A new Pathway uses start_node as the Start node. To change it:
  1. Open the three-dot menu on another node.
  2. Select Set as start.
Only one node should be the Start node. The current Start node cannot be deleted.

System Prompt

The System Prompt explains what the agent should do and say while this node is active. For example, the prompt for a collect_details node could say:
You can use variables such as {{customer_name}} when information is available before the call.
A node’s System Prompt should describe only that node’s work. Use Conditions and connections—not prompt sentences—to decide which node comes next.

Normal and global nodes

Open a node’s menu to select Make global node or Make normal node.

Normal node

A normal node is entered through a connection from another node. Use normal nodes for the main stages of the call, such as greeting, qualification, booking, and closing.

Global node

A global node is reachable from any node. Use it for situations that may happen at any time, such as:
  • The customer asks to speak to a human.
  • The customer raises an objection.
  • The customer asks a common question.
  • The customer asks not to be called again.
When Global node is enabled, complete When to jump. Describe when the agent should enter that node. Example:
Do not leave When to jump empty on a global node. Without a clear trigger, the agent will not know when that node should be used.

Configure switching messages

Message Type While Switching controls what the customer hears when the agent enters a node. For Static Message, enter the exact sentence in Message While Switching. Example:
For Dynamic Message, use Prompt for Dynamic Message to describe the kind of sentence the agent should generate. Example:
Use switching messages when a silent change would feel sudden. Keep them short so the conversation continues naturally.

Add Conditions and connect nodes

Conditions decide which path the call should take. To create a connection:
1

Add a Condition

Select Add condition on the source node.
2

Choose the Condition Type

Select Prompt for a decision written in normal language or Expression for a decision based on a captured value.
3

Enter and save the Condition

Describe when the path should be used, then select Submit. When editing an existing Condition, select Save Changes.
4

Connect the destination

Find the saved Condition on the node card. Drag its connection dot to the node that should run next.
A Condition without a destination displays drag → to a node.
Saving a Condition does not connect it automatically. Always drag its dot to a destination node and confirm that the destination name appears on the node card.

Prompt Condition

Use Prompt when the decision depends on the meaning of what the customer says. Example:
Prompt Conditions are easiest for non-technical users and work well for decisions such as interest, confusion, objections, or requests to end the call.

Expression Condition

Use Expression when the decision depends on a value already captured by the Pathway. Examples:
When writing an Expression:
  • Put every comparison inside brackets.
  • Use ==, !=, >, <, >=, or <= for comparisons.
  • Use uppercase AND or OR when combining comparisons.
  • Put the complete combined Expression inside another pair of brackets.
  • Use True and False for Boolean values.
  • Use metadata.variable_name for information supplied before the call.
The editor checks Expression formatting and disables submission until the Expression is valid.
If you are unsure whether an Expression is needed, start with a Prompt Condition. Use Expressions when you need an exact decision based on a number, selection, or Yes/No value.

Extract Variables during a node

Use Extract Variables when a node needs to capture structured information while the customer is speaking. Select the + button and configure: Example: The variable can then be used in an Expression Condition:
Enable Required only when the call cannot continue without that value. If a customer may refuse to answer, making the value Required can keep the call stuck in the same node.
If a variable is Required, write the node’s System Prompt so the agent asks for it clearly and politely rephrases the question when necessary.

Add Functions to a node

Each node has its own Functions section. Add a Function to the node where that action should happen. Available actions can include:
  • Transfer Call
  • End Call
  • Keep Call on Hold
  • Check for Availabilities (cal.com)
  • Book a meet (cal.com)
  • Custom Function
For example:
  • Add Book a meet to the appointment-booking node.
  • Add Transfer Call to the human-support node.
  • Add End Call to the closing node.
Keep Functions close to the stage where they are needed. This makes the graph easier to understand and prevents actions from being available in unrelated parts of the call.
For detailed Function setup, see the Functions documentation.

Add Post Call Variables to a node

Use Post Call Variables for information you want to extract after the call or after the capability ends. Available types include:
  • Text
  • Selector
  • Boolean
  • Number
For each variable, enter:
  • Name
  • Description
  • Default Value
Extract Variables and Post Call Variables serve different purposes. Extract Variables capture values during the conversation and can control the next path. Post Call Variables are used for reporting, CRM updates, analytics, and follow-up actions.

Configure the LLM for a node

The LLM Configuration section lets you adjust the model for an individual node. Depending on your access, you may see:
  • Primary Model
  • Secondary Model
  • Temperature
This allows you to use a faster model for a simple greeting and a stronger model for a complex negotiation or support step. For most agents, the default model settings are a good starting point. Change them only when testing shows that a particular node needs different behavior.

Complete the shared agent settings

After building the graph, configure the remaining editor sections:
  • Models: choose the voice and transcriber.
  • Call Setup: configure phone numbers, call initiation, and Prompt Snippets.
  • Settings: configure silence handling, interruptions, call limits, and related settings.
  • WhatsApp: configure WhatsApp actions if needed.
  • Post-call: configure the post-call strategy and webhook.
  • Formatting: configure pronunciations and variable formatting.
  • Knowledge Bases: attach reference information the agent may need.

Test the Pathway

Select Test UI Call from the Pathways canvas to test the visual flow. During the test, the active node is highlighted so you can see how the conversation moves through the graph. Test all important paths, including:
  • A successful conversation.
  • A customer who is not interested.
  • A customer who refuses to provide information.
  • An objection or common question.
  • A request to speak to a human.
  • An early request to end the call.
  • Every Function used by a node.
You can also use Test Call from the header when you want to place an actual test call.
Testing only the successful path is not enough. Test every major Condition and confirm that each connection opens the expected next node.

Create, update, and publish

Create the first version

  1. Enter the agent name.
  2. Select Create.
  3. Enter a Version Name, such as v1 or initial.
  4. Complete the creation.

Update an existing version

  1. Make the required changes.
  2. Select Update.
  3. Review the Confirm Update dialog.
  4. Add a useful Commit Message that explains what changed.
  5. Select Update.

Publish the version

Creating or updating a version does not publish it automatically.
  1. Open Manage Versions.
  2. Find the Pathways version you want to use.
  3. Select Publish.
  4. Confirm Publish this version?
Always test a new version before publishing it. Avoid making untested changes directly to the version handling live calls.

Checklist before publishing

Before publishing a Pathway, confirm that:
  • The Agent Persona contains the common identity, tone, and rules.
  • One clear Start node exists.
  • Every node has a unique and meaningful name.
  • Every node’s System Prompt explains only that node’s work.
  • Every Condition is connected to a destination node.
  • Every global node has a clear When to jump instruction.
  • Every Expression uses an available variable and passes validation.
  • Required variables can realistically be collected.
  • Every branch reaches a sensible closing point.
  • Switching messages sound natural.
  • Functions are attached to the correct nodes.
  • All important paths have been tested.
  • The correct version is selected before publishing.

Simple example

A basic lead-qualification Pathway can look like this:
  • greeting: introduces the agent and asks whether the customer is interested.
  • collect_requirements: collects the customer’s needs and budget.
  • book_demo: checks availability and books a demo.
  • close_call: thanks the customer and ends the call.
  • handle_objection: can be used whenever the customer raises a concern.
  • transfer_to_human: can be used whenever the customer asks for a person or manager.
This structure keeps each conversation step focused and makes the complete call flow easy to view, test, and improve.

Build a Pathway with AI FDE

Build and Update Agents

Use AI FDE in Plan mode to propose the nodes, conditions, variables, and functions before building a Pathway version.