Introduction to All Components of IVR

Updated 

Pre-requisite for configuring the IVR: Sprinklr Voice should be enabled for the environment and your user should have IVR View, Edit or Create permission

The Sprinklr IVR comprises various interconnected components that work together to deliver efficient and personalized customer interactions. This knowledge base article provides an overview of these essential components, their functionalities, and how they contribute to creating seamless IVR experiences. this guide offers valuable insights into understanding and leveraging the different elements of Sprinklr IVR for optimized customer engagement.

How to Create an IVR?

To create a new IVR flow, click "Create IVR flow" located on the top right of the IVR manager page. Once you cick on Create IVR you enter into IVR flow settings page. This is the place at which you can define basic settings for the IVR workflow like Name, Description, IVR type, Language, Timeout and Invalid message, Disconnect journey, Sharing setttings.

Note: How to Create an IVR is covered in detail in this help article

IVR Builder

The IVR Builder in Sprinklr provides a user-friendly interface for creating and editing IVRs. It features a drag-and-drop canvas where you can easily design your IVR flows. The builder offers a range of modules or nodes, each serving a specific function, which can be seamlessly integrated into the IVR flow. With this intuitive interface, you can efficiently build and customize IVRs to suit your business needs.


We can divide the whole builder into 6 major components-

  1. Canvas: This is where you design your IVR flow by arranging and connecting nodes.

  2. Add New Node: By clicking the plus sign (+), you can choose from a list to add nodes to your IVR Canvas.

  3. Manage Resources: This is a crucial component of the IVR Builder interface. By clicking on the ${x} icon located in the top right corner, you gain access to a comprehensive view of all variables and resources utilized in the IVR. This includes variables that store important information throughout the IVR flow.

    Not only can you review the existing variables, but you can also create new variables tailored to your specific requirements. These variables serve as placeholders for data that can be used and manipulated within the IVR.

  4. System variables: These are pre-defined variables that hold important information about the call and can be used within the IVR to enhance its functionality.

    • Case: This field includes details of the current case. These field includes Case creation time, Case Assignee, Case Asset ID and all Case custom fields.

    • User: This field includes details of the User to which this case is assigned to. This field includes the value of User Asset ID, User Email Address, User Availability status and all User customer fields.

    • Profile: This field contains details of Profile linked to the current case. These fields include the value of Profile Asset ID, Profile Created Time, Profile mobile number, Profile email address, Profile full name and all profile custom fields.

    • Voice App ID: This field gives the application ID of Voice application from which the call is being made / triggered.

    • Language: This field captures the language in which the IVR is being played.

    • Voice Conversation: This field includes values sent by voice service providers (Twiliio, Ozonetel etc.), Those fields are-

      • From / Customer Phone Number : This provides the number from which a call is made.

      • To: This provides the number to which call is made.

      • Direction: This field indicates whether the call is inbound (from a network provider) or outbound (initiated from Sprinklr)..

      • Call Start Time: This captures the time when voice service providers got the request for a call from either network provider or Sprinklr.

      • Customer Connected: Boolean values to check if customer is connected or not

      • Country Code/From City/From Country / From State / From Zip: This captures the details sent by the network operator like where SIM is registered to - country, state, city. This depends on Country to Country if this Data can be provided by Network operator due to Privacy Laws.(Note: Check these values before using these fields in the Flow.)

        Note: Please note that the availability of data in the "Country Code/From City/From Country/From State/From Zip" field may vary depending on the country and the network operator. Privacy laws and regulations may restrict the provision of certain information. It is recommended to verify the availability of these fields before utilizing them in your workflow.

      • Customer Handle Time - This field records the total duration of the call, capturing the time from start to finish.

    • Is Blacklisted Profile: This field indicates whether the profile from which the call is made is blocked or not in Sprinklr. It helps in identifying and treating such calls differently in the IVR.

    • Blacklisting Reason: This field provides the reason why the profile was blacklisted by the brand, giving insight into the cause.

    • Conversation Completion Status - This field captures the current status of call like All Agent busy, Call in Progress, Call Accepted, Offer Accepted etc.

    • ACW Callback: This boolean field determines whether the current call is an ACW callback or not. It helps identify if the call requires additional follow-up or post-call activities.

    • ID: This field captures the Voice application / Dialer ID from which call is being made.

    • Voice Initiator: This field captures the mongo id of call initiator

    • Asset Class: This field has predefined value for voice calls - "VOICE_CONVERSATION"

    • Voice Sn ID : This Field has predefined value - "SPRINKLR_VOICE"

    • Associated to Existing Case: This field is a boolean value, to check if a call is attached to an existing case or was a new case created for this call.

    • Previous Case: This provides the data of previous case if call was Associated to Existing Case (i.e. Associated to Existing Case value should be yes).

    • Previous Case Insights: This field captures some important information regarding Previous case like status, creation time etc.

    • IVR User Input: This field stores the last DTMF input taken from the caller.

    • IVR Start Reason: This captures the reason, how the IVR was triggered / Started. This field has following values -  

      • New Incoming call

      • Fallback IVR

      • Connect To IVR

      • IVR Conference

      • IVR Transfer

      • Blind Transfer

      • Outbound Call

      • Hold IVR

  5. Activity: You can open by clicking on Activity from bottom left corner. This has three section-

    1. IVR activity: This allows you to view the activity log of the IVR, showing a record of all the changes made, including the date, details of the changes, and the user responsible for making the modifications.

    2. IVR Version History: This tab keeps track of different versions of the IVR that have been deployed. It lists previous versions along with the deployment date, time, and the user who deployed the previous IVR. You also have the option to restore a previous version of the IVR.

    3. IVR reports: This tab provides basic information about IVR like total calls landed on IVR, how many calls were connected to Agent, how many calls abandoned on this IVR, Avg Call time etc. This tab has the option to get the data for the required timeframe

Nodes and Functionalities

Here you will find information about the different conponents that can be used while creating an IVR. These actions include gathering customer responses, deflecting users to another channel, sending SMS or email, and more.

To add a new node action, simply click on the plus sign > select the desired node from the available options. Below, you will find comprehensive descriptions of each node action. There are three kind of node-

  1. Communication nodes

  2. System Nodes

  3. Transfer Action


Communication Nodes:

  1. Operator Says: This allows us to define the messages played for caller in the IVR. In this, you can enter text that will be converted into speech using the Text-to-Speech.. Additionally, you have the option to upload recorded prompts as well. This node is dosent take input, it is just to play message to caller.

  2. Gather Customer's Language: This node enables callers to select their preferred language. This node determines the language that will be used for playing prompts in subsequent menus.

  3. Gather Customer's Response: This node enables us to take input from the customer. This node is used when you want to take different paths/ actions for different use cases in the IVR.

  4. Record Voicemail: This node in Sprinklr IVR allows customers to leave detailed voice messages when agents are busy or outside of business hours.

  5. Send SMS/EMAIL/Whatsapp: This node allows you to send messages through SMS, Whatsapp or Email to customer wherever required during the IVR Flow.  

  6. Send Survey: This node is used to send automatic surveys that are pre-configured in the Sprinklr Survey Builder.

  7. Deflect: This node is used to deflect the customer to other channel. Deflection is possible for 4 channels - SMS, Email, Whatsapp and Live Chat.

  8. VXML Connect: Integrate the this node into your IVR system and provide the VXML URL for script hosting, configure API input parameters to gather relevant information, define parameters to send to the API, set up API output parameters to capture responses, and specify where to store the API output value within the IVR system. This streamlines the communication between the IVR and external services, allowing for a dynamic and customized user experience based on API interactions.

System Actions Nodes:

  1. Decision Box: in IVR allows to create multiple paths based on specific conditions. In this you can specify the criteria for selecting a particular path.

  2. API: are mini programs that help to fetch data from third party servers or applications. This node helps to pull information using APIs based on specific inputs. This allows us to use the retrieved data in the IVR for self-service options and routing decisions, enhancing the customer experience.

  3. Custom Field Action: This Node is used to add, remove, merge or in general edit any custom fields for case and profile.

  4. Set Priority: This node allows assigning priority to callers within the IVR, ensuring that high-priority callers receive preferential treatment when assigning agents. It helps brands prioritize valuable customers for enhanced service delivery.                       

  5. Set Skill: This node helps in tagging customer calls with the right skills, which are then considered during call routing to connect customers with agents who have the necessary expertise.

  6. Add or Remove from Queues: This is used to add or remove the current case from a case queue.

    What is case queue? Queues in Sprinklr are a collection of entities. A particular case queue is noting but a bucket of cases. Cases can be added or removed in their respective queues either automatically using macros or rules; or manually by agents.

  7. Merge Profile: This node facilitates the merging of customer profiles from different channels into a universal profile. By doing so, agents can easily access and view all customer details and past interaction across multiple channels.

    Note: In IVR, generally we merge the phone number profile with the Email profile.

  8. Get Business Hour: This node helps you to put condition on business hour. This node is particularly useful when you want to create paths based on whether the call is received during or outside of business hours.

  9. Work Queue Properties: This node retrieves real-time information about a queue, such as estimated wait time, the number of pending cases, and the number of available agents, etc. This data can be used to inform callers about the estimated wait time or offer options like scheduling a callback or deflection.

  10. Add Notes: This allows you to add custom notes inside the IVR at profile & case level. These notes can be used by the brand for internal reference purposes or can be used to give context to the agents when the case assigned to them or can also be used for debugging your IVR.

  11. Loop: In IVR, when we have a variable list of items, such as a list of accounts or transactions, the Loop node allows us to perform actions on each element of the list automatically.

  12. Break Loop: During the iteration process using the Loop node, there might be certain conditions where we need to stop the loop before reaching the end of the list. The Break Loop node helps us achieve this by ending the loop at a specific element.

  13. Call Another Flow: Sometimes, there are certain flows or inputs that are needed repeatedly in different IVRs, such as language selection or phone number input. To make things more efficient, we can create a separate IVR for these repetitive processes and call them within the main IVR whenever needed. Once the child IVR completes its task, control returns to the main IVR for further processing.

  14. Embed IVR Flow: You can seamlessly integrate another IVR within your current IVR. This allows for the sharing of variables between the embedded IVR and the current IVR, enabling efficient data exchange. In cases where a variable name is identical but holds different values, the value from the later declaration will override the previous one.

  15. Schedule Callback: This node helps callers to schedule a callback in IVR for the later time.

  16. Assign Value: This node is used to set the value for some variable/resources in the IVR.

  17. Get Records: This node is used to load properties for any other case, profile, any custom entity present in the Sprinklr into the IVR. 

  18. Update Records: This node is used to update properties for any other case, profile, any custom entity present in the Sprinklr from the IVR.

  19. Create Records: This node is used to create a record like case, profile or any other custom entity present in the Sprinklr from the IVR.

  20. Execute Action: You can utilize this node to apply a macro, fetch all attachments linked to a case and display them within the 'Notes' section in Care Console using the 'Add Notes' node, add the pending cases/calls to the holding queue, or evaluate dynamic script to dynamically assess conditions, make decisions, and store results for further processing. Below this node, you'll find two branches: one for "Success" and the other for "Failure."

Transfer Actions:

  1. Assign Agent: This node is use to transfer the call from IVR to agent

  2. DID Transfer: This node is used for transferring calls to external numbers, unlike the 'Assign Agent' node which transfers calls only to agents within the Sprinklr.

  3. Redirect to Voicebot: This node transfers the call to a voicebot, allowing callers to navigate the workflow using their voice instead of keypad inputs. It functions similarly to the 'Call Another Flow' node, returning the call to the IVR once the voicebot interaction is completed

Flow action node:

  1. Hang Up​: This node is used to disconnect the ongoing IVR call. This is different from end connection as even after the call is disconnected, connection is not broken and the brand can still perform actions like sending surveys, email etc. 

  2. End Connection: This is the final node in each branch of the IVR that terminates the interaction between the customer and the system. If the End Connection node is encountered within a child IVR, the call returns to the main IVR. Once this node is executed, no further actions can be performed on that path.

  3. Resume Previous IVR: This node becomes handy when a customer drops somewhere in the IVR. If a customer wishes, he can directly continue from where he left on encountering this node.(Generally used with a decision box where the brand gives an option to the customer to either resume the conversation or start a new one). This call has two paths.

Save and Deployment Options:

Once you are done with your configuration, you have three options to save the progress-

  1. Save & Deploy: Saves your IVR and deploys it i.e. puts it in ‘Active’ state. Only after deployment, IVR can be used with an application.

    Pre-requisite for deploying IVR: Your user should have IVR Deploy Permission

    Note: It's important to note that if you plan to use the IVR in a "Call Another Flow" scenario, the child IVR also needs to be in the active state for the option to add it to the main call flow to appear.

  2. Save as Draft: Choosing this option saves your IVR configuration as a draft version, which sets its status to "Paused." This allows you to save your work and make further modifications at a later time without activating the IVR immediately.

  3. Close: Clicking on this option closes the IVR configuration interface without saving any changes. It is essential to note that closing the IVR without saving will result in the loss of any unsaved progress.


Deployment and Setup

Pre-requisite for Setup voice IVR on Voice application- Your user should have Manage Voice Application Edit or Create Permission and the application must be shared with you.

To activate your IVR and set it up for use in a voice application, follow these steps:

  1. Click on "Save & Deploy" located at the bottom right of the IVR builder. This action will activate the IVR and make it ready for deployment.

  2. Proceed to the "Voice Care" module within the Sprinklr Service launchpad. You can find it under the "Listen" section.

  3. Inside the "Voice Care" module, you will see list of applications that have been added to the Sprinklr. Click on the three dots located on the left side of the desired application to which you want to add the IVR.

  4. Within the application settings, search for the field labeled "Select IVR Process". From the dropdown menu, choose the specific IVR you want to associate with the account. After selecting the IVR, click on the "Save" button.

    Note: Only active IVRs will be visible in this selection.

Congratulations! Your IVR is now deployed and ready to be used. To test its functionality, you can call the phone number associated with the application and experience the IVR in action.

​​​