Pathway Nodes

The goal of this overview page is to provide details on the notion of action nodes in voicehub.

Recently, voicehub introduced the type of Action Nodes. Those are nodes that can be used to execute actions like sending emails, sms or play around with calendars. When added to the pathway, they show up in green color. The following nodes are such nodes

ScheduleEventNode
CancelEventNode
AvailabilityCheckNode

SendSmsNode
SendWhatsappMessageNode
CallRescheduleNode
SendEmailNode

ClientToolsNode
WebhookNode
TriggerCallNode

ScheduleTriggerNode

Those nodes function only to execute the action they are there to accomplish. If a node needs any data fields, it is expected that those fields are extracted or set before the agent execution arrives at those nodes. Below is a detailed description of those nodes and how to configure those. For details on calendar nodes, check this documentation page.

Client Tool Node is a node that can be used to allow the agent through widget to execute javascript code functions on the hosting site. Basically, it provides a signature of the JS function to be implemented and once this node is executed, that agent will execute the function on the site.

The configuration of the tools node contains the following

  1. Tool Name which is the JS function name to be implemented.

  2. Description defines a specific code documentaiton for the function

  3. Parameters define the different input params to the function, they can be obtained in any of the following ways

    1. Static: parameter has a fixed value

    2. Extracted variable: assign a value of an extracted variable to be an input to the call

    3. Dynamic: extract a variable from the conversation through a prompt directing the agent to do so

Once ready, visiting the widget configuration will show a code snippet including that tool as a function,

Schedule Trigger Node is a node that is used solely for text-based calls (including WhatsApp). It will have no effect in voice calls. In text calls, the schedule trigger node will trigger and execute all nodes coming after it in the given interval. So, for example, if agent is to give send a whatsapp message every five minutes, the schedule trigger node(with a 5min interval) is connected to a whatsapp node that gets triggered every five minutes for an infinite number of times, unless a max number is set which is an optional setting.

Webhook Node is a node that is used to perform HTTP requests to external sites. It allows defining different request parameters and execute those requests accordingly. Use cases would be like fetching data from an external API, posting data to an external API.

Such node allows you to configure the following

  1. HTTP Method

  2. API Url

  3. Headers (Key, value pairs)

  4. Query Params (Static values, extracted vars or dynamically extracted)

  5. Body (Static values, extracted vars or dynamically extracted)

  6. Response Data: represents how to extract specific data from the json response of the API

Trigger Call Node is used so that a user can trigger/schedule a call through the conversation to a specific destination with some context. This allows the flexibility of doing an outbound call to a specific number from a specific agent while the current agent is executing

Send SMS Node:

The SEND_SMS_NODE allows the agent to send SMS messages to a user’s phone. This node uses Twillio as the SMS provider. Before using this node, you must configure your phone number settings.

SMS Configuration (Required Setup)

  1. Go to the Home page.

  2. In the Channels section, select Phone Numbers.

  1. Either you can purchase a new Twilio phone number, or import an existing Twilio number.

  2. Once added, this phone number will be available for use in the SEND_SMS_NODE.

After completing this setup, you can integrate the node into your agent’s pathway.

Configuring the node

When you click on the SEND_SMS_NODE, you will see the Send SMS Settings, which include four main options:

A. Provider

  • Choose Twilio as the SMS provider.

B. Out Number (Sender)

  • Select the Twilio phone number you added to the Phone Numbers section.

  • This is the number that will appear as the sender of the SMS.

C. In Number (Recipient)

You have three ways to specify the user's phone number:

  1. Static: Manually enter a fixed phone number that will always receive the SMS.

  2. Extracted Variable: Use a variable that was extracted in the previous node. This requires collecting the user's phone number earlier in the conversation.

  3. Dynamic (Prompt): The agent automatically extracts the phone number from the conversation using natural language.

D. Message

  • This is the content of the SMS that will be sent to the user.

Connecting the Node in the Flow

To ensure the SMS is sent correctly:

  • Add an edge from the previous node to the SEND_SMS_NODE.

  • In the edge’s condition, write something like “User wants an SMS message”.

  • This tells the agent when to activate the SMS sending action.

How It Works During Execution

When triggered:

  1. The node identifies the recipient number based on the chosen method (static, extracted, or dynamic).

  2. It sends the SMS using the configured Twilio number.

  3. The user receives the message directly on their phone.

Send Email Node

The SEND_EMAIL_NODE is used to send an email to a user during the agent’s conversation flow. To use this node, you must first configure your email settings and then properly structure your agent’s pathway.

Email Configuration (Required Before Using the Node)

Before adding the SEND_EMAIL_NODE to your agent, you need to set up the email sender:

  1. Go to the Home page.

  2. In the Channels section, select Emails.

  1. Enter the email address that will be used to send outgoing messages.

  2. This is the email users will see as the sender.

  3. Provide the App Password for that email.

  4. This can be generated through your email provider

Once this setup is completed, the agent will be able to send emails through the SEND_EMAIL_NODE.

Adding the Send Email Node to the Agent Flow

After configuring the email channel, you can add the SEND_EMAIL_NODE to your pathway. This node uses three email parameters, which must be provided before the flow reaches this node:

  • title – The subject of the email

  • recipients – The user’s email address

  • body – The content of the email

These values must be collected or extracted in the Default Node (or any node before the email node).

Setting Up the Trigger

To ensure the agent knows when to send the email:

  • Add an edge between the Default Node (or previous node) and the SEND_EMAIL_NODE.

  • In that edge, specify the condition (e.g., user requests to receive an email).

This ensures the email node activates when the user expresses intent to receive an email.

How It Works During Execution

When triggered:

  1. The node retrieves the title, recipient email, and body from the previous node’s extracted parameters.

  2. It sends the email to the address provided by the user.

  3. The user receives the email from the sender address you configured earlier.

Table Retrieval Node

  • Purpose: lets your flow query data from an uploaded Excel (.xlsx) knowledge base using SQL during a call/session. It is read-only and capped for safety/performance.

  • What you configure: pick one knowledge base entry that is a .xlsx file (other types are rejected). The usual node fields (name, prompt text, loop/advanced/global settings) still apply.

  • It uses an SQL based engine to parse and read through the table to make sure to perform the queries. It automatically detected the columns and the structure of the table to perform the queries efficiently.

  • Constraints and safety:

    • Read-only: the SQL tool is meant for SELECT-style reads; it guards against large outputs with the 50-row limit.

    • Memory is capped; very large/complex Excel files may fail to load (e.g., out-of-memory).

    • Only Excel (.xlsx) files that have finished indexing (parsing status “Done”) should be selected; files still indexing or failed are disabled in the UI.

Last updated