- 11 Jul 2024
- 8 Minutes to read
- Print
- DarkLight
- PDF
Expert IVR Workflows
- Updated on 11 Jul 2024
- 8 Minutes to read
- Print
- DarkLight
- PDF
Expert IVR Workflows by Dialpad offer advanced call routing customization for businesses. These workflows collect caller data, make personalized routing decisions, access external data, send notifications, and perform specific tasks. The Expert Workflow builder allows for detailed configuration using various nodes like Prompt and Wait, Send Message, Voice Widget, Goto Another, Assign, Conditional Branch, External API, and Close Session. The builder features local change controls, navigation controls, and quick paste options for efficient workflow creation. Expert Workflows require configuration assistance and can be accessed once enabled by Dialpad's Professional Services team.
Expert IVR Workflows let you create advanced call routing systems for your business. Completely customizable, Expert Workflows go beyond basic menus and greetings and ensure the caller experience is based on their needs, and your procedures.
Let’s dive into the details.
Who can use this feature
All Dialpad plans include standard IVR workflows.
Expert IVR Workflows require configuration assistance from Dialpad's Professional Services team.
What can Expert Workflows do?
With almost endless configuration options, Expert Workflows let you personalize your IVR by:
Collecting caller data: Uses voice prompts to gather information from callers and store it for further use in the call flow.
Making personalized decisions: Routes callers to the most appropriate agent (or Department) based on their responses or stored data.
Accessing external data: Connects to other systems to retrieve caller information which then personalizes the experience.
Sending notifications: Keeps callers informed by sending SMS or email updates throughout the call flow.
Perform tasks: Completes specific tasks such as creating a service ticket or accessing and modifying customer order information.
Note
While this guide provides a basic overview, creating complex Expert Workflows requires some technical knowledge. If you're new to this, it's recommended to reach out to Dialpad's Professional Services team for assistance in building your custom IVR solution.
Access Expert Workflows
Once Professional Services has enabled Expert Workflows, you'll see an Expert step in your IVR workflow builder.
Once you’ve created and named your Expert Step, select Launch Expert to open the Expert Workflow builder.
The Expert Workflow builder provides a drag-and-drop interface where you can connect different elements (nodes) to create a flowchart for your routing.
To add a node:
Select a component from the node menu
Drag and drop it into position on the canvas
Select the node to add widgets and routing details
Name the node and add a description (optional)
Connect nodes using the circle and square connectors on the top and bottom of each node
Select and drag from a circle (output) to a square (input) to connect.
Select the square (input) and drag to open canvas space to disconnect.
Change a connection by selecting it and dragging one end of the connection to another node.
Select Publish to save your workflow
Workflow builder features
The Expert Workflow builder has several built-in features to help you create complex workflows. Let’s look at what you can do.
Local change toolbar
The local change controls help builders manage workflow development. These features apply to your current editing session only.
Here, you can:
Undo and redo changes you've made.
Save a local checkpoint of your workflow at any point.
Restore your workflow to the last saved local checkpoint, in case you make a mistake.
Clear any saved local checkpoints if you no longer need them.
Print your workflow to an image file for documentation purposes.
Important
Saving changes immediately affects your live IVR, so be sure you've reviewed everything before saving.
Navigation controls
The navigation controls at the top of your workflow canvas let you zoom in and out, and move around the workflow canvas for better viewing.
You can also long-hold the mouse to drag the canvas within the display.
Quick paste
The quick paste button lets you paste your last copy or cut, making it fast and easy to duplicate elements within your workflow.
Expert Workflow Nodes
Dialpad provides 9 different types of Expert Workflow nodes, each with a customizable name and description.
Let’s look at each node type.
Prompt and Wait
The Prompt and Wait node combines "Send Message" and "Wait for Message" to play a message and gather caller input.
Send Message
The Send a Message node plays pre-recorded messages (using a widget), information bubbles, or progress messages. Let's look at how each one works.
Widget: The Widget node provides call control elements such as playing prompts, transferring or hanging up.
Information Bubble: Information bubbles act as a debugging milestone for voice calls. Messages marked as Information Bubble will not be played back to callers, but appear in the logs for backend analysis.
Information Bubble should not normally be used with Prompt and Wait as it would cause the workflow to stop for input.
Progress: Progress messages are not audible to callers, they create a report tag for custom reporting modules. When custom reporting is enabled, Progress messages can be formatted into specific strings for build data reporting but should not be used with Prompt and Wait nodes.
Progress messages should be used with Send Message nodes only.
In the reporting string Workflow-^Name of Workflow>::Step-^<Step Name or desc> “-^” and “::” are defined delimiters in the reporting message.
When a Progress message is selected for reporting, select the data type as Task.
Wait for Message
The Wait for Message node pauses the workflow until the caller provides input.
Don’t forget to set timeouts to avoid indefinite pauses!
When designing an IVR workflow, you do not need to use Send Message and Wait for Message as separate voice controls.
Voice Widget
The Voice Widget node lets designers send and use voice controls on the call. Choose from the 11 available widgets:
Voice Call-Park: Holds the call while longer operations are running.
Voice Call-Record: Records the call.
Voice Call-Resume: Resume the call after it was parked.
Voice Call-Terminate: Ends the call.
Voice Call-Transfer: Transfers the call to another destination like Department, person, or external number.
Voice Call-IVR-Collect: Gathers input from the caller.
Voice Call-IVR-Menu: Collects a menu choice from the caller.
Voice Media-Wait: Plays media and waits until finished.
Voice Play-Media: Plays a media file.
Voice Play-Prompt: Play a text-to-speech prompt.
Voice Prompt-Wait: Plays a text-to-speech prompt and waits for input.
Note
Some widgets require adding a "Wait for Message" node afterward for input.
This node does not explicitly include an input node—if your voice controls require an input node (required for all controls except call-park), you’ll need to add a Wait for Message or Prompt and Wait step after this node.
Goto Another
The Goto Another node directs callers to a different IVR workflow within your system.
If the target workflow does not terminate the call, your workflow proceeds to the node below when the target workflow finishes.
When creating a Goto Another node, you’ll need to add the target workflow details.
To generate the expert URL name for a target workflow you’ll need:
IVR Workflow Name (without spaces).
Example: Acme Sales
IVR Workflow ID (the letters and numbers after “workflow_” of your target workflow url).
Example: https://dialpad.com/ivrworkflows/workflow_IVR555555-4444444444
Then, compose your goto target URL as follows:
IVR/<IVR ID>/<IVR Name without spaces>
Based on the example above, our target workflow URL will be:
IVR/IVR555555-4444444444/AcmeSales
Place this value into the Target Workflow Name.
Assign
The Assign node creates or updates variables to store information during the call, allowing for personalization.
If the variable does not exist, the variable will be created and assigned the given value.
New variables must be alphanumeric characters with no spaces or _ characters.
If the variable already exists the current value will be overwritten. See this Help Center article for details on system variables.
Notes
This node does not explicitly include an input node—if your voice controls require an input node (required for all controls except call-park), you’ll need to add a Wait for Message or Prompt and Wait step after this node.
Conditional Branch
The Conditional Branch node routes callers based on specific criteria (caller input, variables, expressions). This keeps wait times low, helps you prioritize VIPs, and ensures your team receives the information they need.
Dialpad offers 3 different types of conditional branching.
Customer Input: Based on the last variable input by the caller.
Context Variable: Based on any variables created or assigned in the call flow.
i.e . System-generated variables such as ‘customer.businessid.phone’
Expression: Based on combination checks of regular expressions.
Once the conditional element is configured, you can create multiple IVR branches that will route to a unique step for that variable.
External API (Server)
The External API node makes dynamic calls to external servers to retrieve or update information. Requires a JSON-based REST API.
Once an API call is made, this node also allows you to parse JSON responses and store specific attributes in the workflow. This API call happens from Dialpad cloud so API endpoints should be reachable over the cloud.
API calls should finish in 2-3 seconds. If the APIs take longer on voice calls, use call-park before the API call and call-resume after the API call. This will prevent the call from being disconnected or routed to your configured fallback path (such as voicemail) in case of timeout.
Dialpad only supports GET, POST and PUT REST API methods.
Notes
If you’d like to restrict API access, you can do this via authorization header or public gateway IPs. If an API is SSL secured, it must be standard SSL signed; Dialpad does not support custom SSL-signed HTTP authority.
The API endpoint should be accessible over the internet, as the request will come from Dialpad cloud. If you want to restrict API access, you can either use the appropriate authorization header or, ask for our public gateway IPs to restrict traffic on their firewall.
If an API is secured using SSL, it must be standard SSL signed. We do not support custom-signed authority for HTTP.
Variables and Attributes in the response parsing are case-sensitive.
Close Session
The Close Session node ends the call interaction.
Tips and tricks
Expert Workflows can be tricky, let’s look at a few important tips and requirements.
Last Node: The final node in your workflow shouldn't be an input node.
Use a "Send Message" node with a tracing message instead.
Long API Calls: Use "Voice Call-Park" before and "Voice Call-Resume" after API calls that might take longer than a few seconds.
Conditional Branches Outside Expert Workflows: You can use conditional branches even in standard workflows. Variables set in an expert workflow are accessible within standard branches.
External API Requirements: Ensure a JSON-based REST API with a reachable endpoint and standard SSL certificate (if applicable).
Frequently asked questions
Why is Expert Flow greyed out?
Expert workflows require configuration by Dialpad's Professional Services team. For assistance, contact your Customer Success Manager or Sales Team.
How can I prevent timeouts during API calls?
Use "Voice Call-Park" and "Voice Call-Resume" to manage potential timeouts while awaiting API responses.