Input Node (Public)

Input Node (Public)

Overview

MyOperator is designed with simplicity in mind, most of our customers can do most of the stuff from the MyOperator panel itself. But, MyOperator IVR designer may not be enough to handle every kind of IVR flow, especially with customers having custom requirements related to dialing or playing dynamic messages. MyOperator provides a feature called Input Node for such cases.

Problem

Input node feature aims to solve many different problems:
  1. Complex IVR and they are not able to create the IVR on the MyOperator platform.
  2. Verify the caller before proceed to the next node.
  3. Play a customized message to their callers.
  4. Connect the caller to a specific set of agent/agents.

Solution

MyOperator solves this problem by enabling you to send commands to MyOperator during a call. This interaction between MyOperator works over HTTP API which is called input node API.

During a call, MyOperator sends events to your Input node API and asks for the next action to be taken in the IVR. Based on the parameters provided by MyOperator, Input Node API will send the action in response to the request. Response received by MyOperator and provided action will be performed in the IVR.

Process Details

Prerequisites

To get the Input node working customer must have the following things:
  1. A working API reachable from MyOperator.
  2. Input node feature enabled in MyOperator account.
  3. If you want to dial anon users, you should have anon user feature enabled in the MyOperator account.

Process Flow Overview

After setting the required settings for Input Node, when a customer calls on MyOperator IVR with input node configured, the following steps will be followed:
  1. MyOperator makes a request to the Input Node API with some parameters (Described later)
  2. Input Node API after processing returns the response with action to be taken by MyOperator IVR.
  3. MyOperator receives a response from the IVR and processes the action according to Input API response.
  4. MyOperator executes the next node in the IVR, if jump-node (described later) is configured, then node_id passed will be executed (Helps if you want to repeat the node)

Request Format

MyOperator sends a request to Input Node API configured by you, with the below parameters:

Method: POST

Parameters:

Input node API will receive the below parameters:

Parameter

Type

Description

Sample

uid

String

unique id of call

s4.1231221asd31e13

 

node_id

 

String

Node id shown in the callflow page as shown in image below

 

1a18f23cf93c4c15958779042f

 

timestamp

 

Integer

current timestamp value in seconds

 

1585631149

 

 

 

clid

 

 

 

String

formatted caller id(if caller id received by myoperator as 08527384897 or

918527384897 then

8527384897 will be sent)

 

 

 

8527384897

 

input

 

Integer

input provided by the caller(if any)

 

15


Node ID can be found in the Design Callflow section in the MyOperator panel. Node ID will be shown on the Edit IVR page shown below:


Parameters will be sent according to the format configured on the MyOperator panel in section MyOperator/Integration/Webhook. A screenshot of the same is provided below:


An explanation of each input in the form is provided below:

Key

Example Values

Type

Description

Required

 

Target URL

 

https://example.com

 

string

Your site URL which needs to provide response

 

yes

 

 

 

Header

 

 

["Content-Type: application/json","header key:value"]

 

 

 

string

Headers which you want to be sent by us to given URL - NOTE: Default content type is application/x-www- form-urlencoded

 

 

 

no

 

 

Credential

 

{ "username": "abc",

"password": "abc" }

 

 

string (JSON)

BASIC Auth username and password to be sent for the given request

 

 

no


Input Node API Response Format

MyOperator needs responses from the Input Node API in a certain way to perform a particular action. The response should be in JSON format, with the below parameters:

Key

Possible Values

Type

Description

Required

 

action

 

 

string

action to be performed

 

yes

 

 

tts

 

string

Play from Text To Speech

 

 

url

string

Play from URL

 

 

 

value

 

 

 

string

data for action . could be a text for action:tts or file url for action:url

 

 

yes

 

operation

 

 

string

followup action to be performed after action

 

 

hangup

string

hang up the call

 

 

dial-users

string

dial the users

 

 

 

dial-numbers

 

string

dial numbers ( anonymous case )

 

 

jump-node

string

jump to another node

 

 

 

operation-data

 

{depends on operation}

 

{depends on operation}

data required by operation . See table below for possible scenarios

 


operation-data possible scenarios concerning operation value are given below:

Operation

Operation-data key

Type

Description

hangup

{not required}

 

 

dial-users

data

list

list of user ids to be dialed

 

dial-users

 

dial_method

 

string

dial method to use in case of multiple users

dial-numbers

data

list

list of numbers to be dialed

 

dial-numbers

 

dial_method

 

string

dial method to use in case of multiple users

 

dial-numbers

 

anon_uuid

 

string

uuid of anonymous user if configured

 

jump-node

 

node_id

 

string

node id of the node to process next


Examples of Input Node responses

Case: TTS will be played and the next node the IVR will be executed.

{
"action": "tts",
"value": "welcome to company ABC"
}

Case: When action is url , the value should be a valid url with an mp3 file:

{
"action": "url",
"value": "http://myurl.com/file.mp3"
}

Case: If you want to loop input node commands, then use jump-node operation as given below:

{
"action": "tts",
"value": "welcome to company ABC",
"operation": "jump-node",
"operation_data":{
"node_id":"5d26dd68ee5ed818"
}
}

Case: If you want to play TTS and dial MyOperator users below example can be used:

{
"action": "tts",
"value": "I will be played but users will be dialed",
"operation": "dial-users",
"operation_data": {
"data": ["5d10680d44bc1498", "5784e85138748421"],
"dial_method": "serial"
}
}

Case: If you do not wish to play a greeting and want to dial users directly:

{
"action": "tts",
"value": "",
"operation": "dial-users",
"operation_data": {
"data": ["5d10680d44bc1498", "5784e85138748421"],
"dial_method": "serial"
}
}

Case: If you wish to hang up the call after playing a greeting:

{
"action": "tts",
"value": "I will be played but call will hangup immediately",
"operation": "hangup"
}

Case: Dial numbers will work similar to dial users but numbers will be passed instead of users, along with anon_uuid:

{
"action": "tts",
"value": "I will be played but users will be dialed",
"operation": "dial-numbers",
"operation_data": {
"data": ["91-9212992129", "1-2019424084"],
"dial_method": "serial",
"anon_uuid" : "d0238udj923jd023dd32"
}
}

Please note:
1. Action and value keys are required but the value keys can have an empty string in some cases.
2. In the case of dial-users and dial-numbers, if the call is picked or not picked. Then no further node will be executed and the call will hang up after the conversation. So, you cannot use jump-node after dial-users and dial-numbers.

Got Issue?

In case of any query please contact the support team at support@myoperator.co. Or generate a support ticket from MyOperator Panel.


    • Related Articles

    • What is an Input Node in IVR?

      Frequently Asked Questions (FAQ) ? Table of Contents What is an Input Node in IVR? What Are the Key Features of an Input Node? How Does the Input Node Work? What Are Common Use Cases for an Input Node? What Are the Prerequisites for Using an Input ...
    • What is "Node ID"?

      Node ID is an unique identification number of every node added in the advance callflow.  Using this Node ID any node can be attached with any API. Using Node ID with our APIs, you can access or direct your callers to that particular node. Find the ...
    • What is a “Node ID” in MyOperator?

      ⚡Quick answer - A Node ID is the unique identifier for each step (node) inside Advanced Call Flow. Use it to reference a specific step in automations, APIs, or analytics. You’ll use Node IDs to: route callers programmatically, trigger actions at a ...
    • What steps are involved in setting up the NPF (NoPaperForms) integration with MyOperator?

      ? Table of Contents Overview Step 1: Enable Required Features in MyOperator Step 2: Gather and Share Integration Details with NPF CRM Team Step 3: Configure Webhooks in MyOperator Step 4: Create and Configure the IVR Call Flow Step 5: Outgoing Call ...
    • What happens if a client does not enter any input to the IVR?

      ⚡Quick answer: If a caller gives no input, MyOperator will either repeat the IVR menu or transfer the call to a designated fallback destination (user/team/queue) — depending on how you’ve configured your Call Flow → Advanced Settings. 1. How no‑input ...