What are Nodes?
  • 13 May 2022
  • 9 Minutes To Read
  • PDF

What are Nodes?

  • PDF

An IVR is made up of nodes that can be used to collect input from callers. When a call reaches a particular node in the IVR phone tree, depending on the node used, it can be configured to collect information (e.g., account numbers), trigger actions (e.g., send an SMS), even read data from an external source (e.g., Data Dip).

Each node will have its own set of settings that allow it to collect information from the caller to understand what to do next. Whether it's to continue with the IVR flow or pull additional information based on the Customer's input, this can be configured through a node.

List of available nodes

There are multiple node types used in an IVR to perform certain actions or tasks. The list below describes how each node is used within an IVR.

Note - Some nodes can't be added through the UI
Most nodes are available in the UI to add as you build an IVR. Nodes like Data Dip, Variable, and Variable Match nodes can only be added by Gladly Support.

Start

This is where the IVR begins as a phone call enters the IVR.

  • Next Node – The next node the call enters right after the Start node.

Schedule

The schedule node allows you to set up paths based on which hours Customers have called into. For example, you can start with a Schedule node to check if the call is within holiday hours or business hours.

Node settings

  • Name  The name used to identify the node to link to other nodes.
  • Description  Text to describe the use of the node.
  • Schedules  Used to determine the time frame the node is active.
    • Type  Option to select a date or days of the week.
      • Date If the "Date" type is selected, you can choose a specific date.
      • Days of Week If "Days of week" is selected, you can choose Monday - Sunday.
    • Timezone  Identifies the timezone the schedule will follow.
    • Start/End  The start and end times when the schedule is followed.
    • Next Node  The next node based on the schedule.
    • Add Schedule (button) Add multiple schedules to determine the time frame the node is active.
  • Default Next Node The next IVR node if none of the schedules match the scheduled time.

Menu

The menu node allows you to set up paths based on numbers (DTMF) or speech (voice). You can play a message to help the Customer understand where to go.

  • Name The name used to identify the node to link to other nodes.
  • Description  Text to describe the use of the node.
  • Language  Language the IVR will use to understand the caller.
  • Timeout  Time (in seconds) to wait for the caller to say or press an option to make their selection before a message is repeated.
  • Message  Recording that the caller will hear.
    • Recording – An uploaded audio file that will be used to play a message to the caller.
      • Recording  The type of voice that the machine will use to read the text.
    • Text to Speech – Written text is read by a machine.
      • Text Area where text can be entered, which is then read by a machine.
      • Voice The voice type that will read the provided text.
      • Language  Language the text to speech engine will use.
  • Add Menu Item (button) – Add a DTMF entry to route to a different node.
    • DTMF Input  The number a caller will press to flow into a different mode. Single (e.g., 1) and double-digit input (e.g., 10) is accepted.
    • Voice Input Phrases*  A set of phrases or words a Customer can say instead of pressing the keypad to go to the next node. You can separate the list of words with commas or use a regular expression.
    • Next Node The next node based on the Dial setting.
  • Default Next Node The next node if none of the menu items are matched.

Customer Input Node

Allows your Customers to input numbers so you can collect information like an account number.

  • Name The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • Input Type  Options to have DTMF, SPEECH, or DTMF/SPEECH as the input type.
    • DTMF  Input by keypad.
      • Number of Digits  The number of digits a Customer can input via their keypad.
    • SPEECH  Input by voice.
      • Timeout  Time (in seconds) to wait for the caller to say an option to make their selection before considering an input as complete.
      • Hints  An expected answer a Customer might say (i.e., 4 digit pin code).
    • DTMF/SPEECH – Either DTMF or voice input is accepted.
      • Number of Digits  The number of digits a Customer can input via their keypad.
      • Timeout  Time (in seconds) to wait for the caller to say or press an option to make their selection before considering an input as complete.
      • Hints An expected answer a Customer might say (i.e., 4 digit pin code).
  • Next Node  The next node in the IVR.

Message

The message node allows you to play a message.

  • Name The name used to identify the node to link to other nodes.
  • Description  Text to describe the use of the node.
  • Message  Recording that the caller will hear.
    • Recording  An uploaded audio file that will be used to play a message to the caller.
    • Text to Speech  Written text is read by a machine.
      • Text  Area where text can be entered, which is then read by a machine.
      • Voice  The type of voice that the machine will use to read the text.
  • Next Node – Next node in the IVR.

Voicemail

Allows Customers to set a voicemail node.

  • Name Name used to identify the node in the Channel settings page. Use the name to identify which Inbox voicemails are sent to.
  • Description Description text to describe the use of the node.

Forward

The forward node allows you to forward the Customer to an external number.

  • Name The name used to identify the node to link to other nodes.
  • Description  Text to describe the use of the node.
  • Phone #  The phone number a Customer is forwarded to. Must be a valid E.164 format.
  • Extension  If required, an optional extension number can be dialed.

SMS

The SMS node allows you to send an SMS message to your Customer.

  • Name The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • SMS Body  The message body that is sent to the Customer when the node is used.
  • To Number  The number that will receive the SMS. The default is the caller's number but can be a static of a template definition.
  • Next Node  The next IVR node.
  • Error Node The next IVR node used if an error is encountered when sending the SMS. An error occurs if the request is rejected due to various reasons (i.e., downtime, request error, invalid number, etc.). Customers should use their mobile phone number to receive SMSs but do note that some landlines have the capability to receive and read SMS messages.

Customer Phone Number Matchers

Matches the phone number, which you can tie to a node like data dip to gather Customer information.

  • Name The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • Number Matchers
    • Phone Number or Pattern Value used as a regular expression.
    • Next Node  The next IVR node specifically after Number Matchers.
    • Add Number Match (button)  Add additional Number Matchers.
  • Default Next Node  The next IVR node.

Variable

Create a variable to be used by other nodes throughout the IVR. Variables can be used anywhere template definitions are supported.

  • Name The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • Expression  Dynamic configuration allows for data-driven IVR logic.
  • Next Node The next IVR node.
  • Error Node  The next IVR node used if an error is encountered while evaluating the expression template definition.

Variable Match

Enables conditional IVR flow. The functionality is similar to a switch statement available in many programming languages.

  • Name The name used to identify the node to link to other nodes.
  • Description  Text to describe the use of the node.
  • Variables Match – Provides entry for variables Expression and Pattern.
    • Expression  Use expression such as {{.askquestion}}.
    • Pattern  Use pattern such as /agent/.
    • Next Node The next node based on the variable match setting.
    • Add Variable Match (button)  Add an additional variable match option.
  • Default Next Node The next IVR node.
  • Error Node  The next IVR node used if an error is encountered when evaluating variable matches.

Data Dip Node

A way for you to collect input from the Customer, dip into another system to output data to the Customer.

  • Name  The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • URL to Make HTTP Request  URL of HTTP request used to interact with external applications and code.
  • Method  The method used for the HTTP request.
    • GET
    • POST
      • Content Type The HTTP Content-Type of the body required when using the POST method.
      • Body  The HTTP request body is required for the POST method.
  • Auth Type None or Basic option. Required if the HTTP endpoint requires authentication.
  • Credential ID ID used for authentication.
  • Next Node The next IVR node.
  • Error Node The next IVR node used if an error is encountered when evaluating variable matches.

Temporary Split Node

Allows you to temporarily or indefinitely close sections of the IVR with the option to steer calls to another path. 

  • Name  The name used to identify the node to link to other nodes.
  • Description Text to describe the use of the node.
  • Temporary Split
    • Timezone Identifies the timezone the split will follow.
    • Auto Reopen Lenght of time to close the IVR section (ranges from 30 minutes to indefinitely).
    • Next Node The next node that follows the temporary split node if it's "on" (must click OK and Publish to save changes).
  • Default Next Node The next IVR node if the Temporary Split node is "off."

Exit Node

Allows you to map the Customer from the IVR to an appropriate Inbox.

  • Name  Name used to identify the node in the Channel settings page. Use the name to identify which Inbox Customers are sent to when they exit the IVR.
  • Description Text to describe the use of the node.

Expressions, Variables, and Patterns

Found in Variable Match, Variable, and Customer Phone Number Match nodes.

Variables are:

  • Saved input from a menu node (DTMF or speech).
  • Saved input from an input node (DTMF or speech).
  • Saved response from an HTTP node.
  • Saved input from menu / input nodes are accessible in this format {{.IVR_NODE_ID}}.
  • Whereas saved responses from HTTP nodes are accessible in this format {{.IVR_NODE_ID.VARIABLE_NAME_IN_HTTP_NODE}}.
  • A helpful global variable is {{._customerNumber}} which is the customer's phone number calling in in E.164 format.
  • Another helpful globally variable is {{._companyNumber}} which is the phone number the customer is calling into on Gladly in E.164 format (note that if you forward calls to Gladly, this variable will be the Gladly number the call is forwarded into).

Expressions are:

  • A string to match upon. This can be a static string (e.g.: hello), a variable or combination of variables (e.g.: {{.IVR_NODE_ID}}{{.IVR_NODE_ID_2}}) or even a logical check (e.g.: {{if .IVR_NODE_ID}}{{.IVR_NODE_ID}}{{else}}{{.IVR_NODE_ID_2}}{{end}}).
  • They are written in the Go templating language.

Patterns are:

  • A regular expression to match the expression above.
  • Regular expressions should start and end with a / - for example, /hellois valid but /hello is not.
  • To check your regular expression, you can use a service like https://rubular.com/.
  • Variables are accessible in regular expressions as well.




*Voice Input Phrase utilizes voice recognition technology which is charged separately from other voice services. See Voice costs for more information.


Was this article helpful?