What are Nodes?

gadIVRs are comprised of nodes that collect input from callers. When a call reaches a particular node in the IVR, depending on the node used, it can be configured to collect information (e.g., account numbers), trigger actions (e.g., send an SMS), read data from an external source (i.e., data dip), and route calls to the proper Inbox.

Each node has its own set of settings that allow it to collect information from the caller to understand what to do next.

Flowchart illustrating a basic IVR process with various checks and options.

List of available nodes

The list below lists all nodes and describes how each is used within an IVR, including nodes that can be added through the UI.

Note - Some nodes can't be added through the UI

Although most nodes can be added through the UI, Some node types (e.g., Data Dips, Customer Phone Number Match) can't be added through the UI. Contact Gladly Support if you need to add these nodes.

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. For example, you can start with a Schedule node to check if the call is within holiday 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.

The menu node lets you 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 (Man, Woman, Alice, *Custom) that will read the provided text.

        • *Custom Voice – Appears if Custom is selected as Voice. Add the Voice Name on the field as shown in this table. For example, to use a Standard Type, Male, English (US), you can enter "Polly.Joey."

      • 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., four-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., four-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 voice type (Man, Woman, Alice, *Custom) that will read the provided text.

        • *Custom Voice – Appears if Custom is selected as Voice. Add the Voice Name on the field as shown in this table. For example, to use a Standard Type, Male, English (US), you can enter "Polly.Joey."

  • Next Node – Next node in the IVR.

Voicemail

Allows Customers to set a voicemail node.

  • Name – Name used to identify the node in the Entry Points 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.

Note - SIP forwarding is not supported

It's currently not possible to forward calls over SIP through Gladly's IVR. Subsequently, it is not possible to forward calls to SIP Entry Points via the Forward node. Only the scenarios below are possible with SIP:

  • Forward calls from Gladly IVR to another system.

  • Starts a third-party conference call within Gladly while on a call with an end user to a SIP address.

  • Agent answer calls via a SIP handset. It is possible to forward via a third-party conference call when the Customer is already on the line with an Agent.

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 it can be a static 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 numbers to receive SMSes but do note that some landlines can 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 Matches.

  • 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 expressions such as {{.askquestion}}.

    • Pattern – Use a 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

Receive input from the Customer and 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

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 – Length 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

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

  • Name – Name used to identify the node in the Entry Points 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.

  • Number – Only visible if a separate queue identifier phone number is configured. The number that appears here is uneditable and can only be updated by Gladly Support.

HTTP

Allows for the use of custom static headers for API calls and allows the IVR to interact with applications outside of Gladly. This allows the IVR to integrate with external systems when data dips are configured.

  • Name – The name used to identify the node to link to other nodes.

  • Description – Text to describe the use of the node.

  • HTTP Request – The URL that specifies the endpoint where the request should be sent

  • Method – The method used for the HTTP request.

    • GET

    • POST

      • Timeout – Time (in seconds) before the request is canceled.

      • 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.

  • Headers – The specific header information that accompanies API requests and responses.

    • Add Header – Used with GET method.

      • Name – The name of the header for the HTTP request

      • Value – The value associated with the header name

  • Credential ID – ID used for authentication.

  • Next Node – The next node that follows the HTTP node.

  • Error Node – The next IVR node used if an error is encountered when the HTTP 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 global variable is {{._companyNumber}}, which is the phone number the Customer is calling 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, /hello/ is 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 and is charged separately from other Voice services. See Voice costs for more information.