Dialpad Voice
Overview
Use Voice with Dialpad to answer incoming calls and transfer end users to a selected Dialpad destination. The integration uses telephone numbers for incoming calls and transfers. Dialpad can also queue a callback after the end user gives consent. A Collaboration team lets the AI Agent bring a Dialpad agent onto the call with a Pair. It can also ask a Dialpad agent a question with a Consult.
This guide follows the order of setup. Each step says what you do in Dialpad, what you do in the Ada dashboard, and what your Ada team does for you.
Limitations
The Voice integration must be available on your account before setup. Each AI Agent supports one Dialpad office and one call router. Several AI Agents can share the same Dialpad office. Each AI Agent has its own call router and needs its own Voice phone number and its own Dialpad number. The router can receive calls on multiple attached numbers. Other Dialpad numbers keep their existing routing.
Each transfer destination needs an assigned telephone number. If the destination has no number, the end user hears a recovery message. The integration does not substitute another destination’s number. The integration does not select an individual agent. The call center’s own routing in Dialpad picks the agent. SIP transfers are outside the scope of this guide.
A telephone transfer keeps the carrier connection active while Dialpad handles the call. A confirmed callback ends the AI Agent’s call.
Capabilities & configuration
Voice uses your Dialpad connection to list offices and destinations by name. The person who connects must be a Dialpad company administrator. Dialpad refuses the user list and the call router to an office administrator. Attaching a number to a router requires Dialpad’s Additional Number license.
The fallback destination handles routing failures when Dialpad cannot obtain a response from the integration. If the router is disabled in Dialpad, calls go to the office main line. Calls also go to the office when the integration is unavailable on your account. The office main line can differ from the configured fallback destination.
Queue behavior
Select a Voice contact center with an assigned telephone number and licensed agents. Digital contact centers serve messaging channels. Dialpad cannot change their routing type after creation.
Voice checks call center availability before a transfer. For an open call center with agents on duty, the callback threshold uses the longest current queue wait. It does not measure this end user’s conversation time. A threshold of zero offers a callback when that queue is available. A block made in the editor saves a callback threshold of one day, which never offers a callback. A block saved with a lower threshold keeps it. Users and departments receive direct transfers. A closed call center receives the transfer through Dialpad’s configured closed-hours treatment.
Callback consent
When the queue wait passes the threshold, the AI Agent asks the end user to choose: a callback on this number, or a transfer now. The end user answers in their own words, for example “call me back” or “just put me through”. If the answer does not choose one option, the AI Agent asks once more, then transfers. No response starts the queue transfer. The question and the answer appear in the conversation transcript. The callback uses the incoming caller ID. An end user without a caller ID is transferred without the question. When the AI Agent does not ask in the conversation, the voice service offers the callback with a keypad prompt. The end user presses 1 or says “call me back” for a callback, or presses 2 or says “hold” for the queue.
The AI Agent confirms the callback only after Dialpad confirms the request. If confirmation remains uncertain, the Agent explains that a callback may still arrive and lets the end user wait or ask for an agent. If no queue number is known, the Agent explains that a callback may still arrive and ends the call.
Agent brief
Dialpad can open a brief for the agent who answers the call. The brief shows the end user’s details, the reason for the handoff, and what the AI Agent already did. It also shows the Context to pass rows of the Routing playbook. It opens when the end user’s number is known and screen pop is enabled on the Dialpad account. The same brief shows in the Ada tab of the Dialpad sidebar for the agent who takes the call. In Chrome or Edge, click Float this brief to keep it on top of Dialpad while you talk. Keep the tab open until the call ends.
The Opening Info section lists what to say first: the reason for the handoff, the end user’s name and the key details from the call. Click Listen to let the page hear you through your microphone. Each item is checked off as you say it to the end user. When every item is checked, the page tells you the next step.
Transfer outcomes
Voice records the available transfer result in the conversation. Queue reached means that the Dialpad destination answered. It does not confirm that a human answered. Operator evidence in a Dialpad callback event can confirm an operator connection. Use a two-way speech check to verify that a person can hear and respond. Callback matching uses the caller number, destination, call direction, and event time. Dialpad does not provide an exact callback request identifier in these events.
Implementation & usage
Set up Voice with Dialpad in the order below. Your Ada team does some steps for you. The steps say which ones.
Before you start
Prepare your Dialpad account so that every later step succeeds the first time.
Check that:
- The person who connects Dialpad to Ada is a Dialpad company administrator. An office administrator can sign in, but Dialpad then refuses the user list and the call router.
- That person’s email is on your company domain. Ada refuses a public email domain.
- The account has an office with a Voice contact center that owns a telephone number and has licensed agents. A digital contact center cannot take a voice transfer.
- The account has an Additional Number license. The call router needs one to attach a number.
- The account has spare numbers for the router, or you accept a new number in an area code you choose.
Connect Dialpad
Sign in with Dialpad creates your AI Agent and connects it to your Dialpad company in one step.
To connect Dialpad for Voice:
- Open
https://dialpad.ada.support/api/oauth/dialpad/start. If your Ada team hosts your Agent in another region, it gives you the address for that region. - Select Sign in with Dialpad.
- On the Dialpad consent page, approve the access.
- Enter a name for your Agent. The page prefills your Dialpad company name and shows the address the name yields.
- Select Next.
The Ada dashboard opens with you signed in as the owner of the new Agent. The address of the dashboard is the Agent’s handle. Note it for the next step. Every other company administrator of your Dialpad company can sign in to the same Agent later with Sign in with Dialpad on the login page.
An AI Agent that already exists connects with a Dialpad API key instead. Open Config > CHANNELS > Voice > Configuration and select Dialpad under Telephony provider. Enter the Dialpad API key. Select Connect Dialpad. The Ada tab in the Dialpad sidebar does not work with that connection.
Send your Ada team what it needs
Your Ada team finishes the parts of setup that are not in the dashboard yet. Send it one message with the items below.
Dialpad issues the chat connector for your company. Your Ada team arranges it with Dialpad. Dialpad gives you six values: API URL, Partner ID, Provider ID, API key, Channel type and Channel ID. Enter them yourself in the Dialpad chat dialog, opened from Config > AI AGENT > Collaboration > Integrations, once your Ada team has turned the integration on. The API key is a credential. Do not send it in a message.
Your Ada team tells you when the Agent can take a call. The Dialpad provider on the Voice page and the Collaboration pages appear in the dashboard at that point.
Provision the call router
The call router sends calls on your Dialpad numbers to the AI Agent.
Configure Voice and its incoming telephone number before you provision the router. Your Ada team sets the number for you. If that number changes later, remove the call router and provision it again so Dialpad receives the new route. Use a dedicated test number before changing an active customer number.
To provision the call router:
- Open Config > CHANNELS > Voice > Configuration and select Dialpad under Telephony provider.
- Select the Office.
- Select Get a new number or Use reserved numbers.
- For a new number, enter the Area code for a new number.
- For reserved numbers, select the existing unassigned numbers to attach.
- Select the Fallback destination.
- Select Provision call router.
The page shows the numbers attached to the router. If setup reports an error, resolve the reported problem before retrying. Make a test call before sharing the numbers with end users.
A call center created after this step gets no call events until you remove the router and provision it again.
Setup errors
When Provision call router fails, a message appears under the number choice. It says which step failed, the cause, and what to do next. It also says whether Ada removed what it had created in Dialpad. When Dialpad did not answer a step, the message says Ada could not confirm whether Dialpad did it. Contact Ada support before you try again.
Configure transfers
The Voice transfer configuration determines the destination. With the Dialpad integration on, the dashboard calls a Handoff a Transfer.
To configure a Voice transfer:
- Open Config > AI AGENT > Collaboration.
- Select the Transfers tab. A Transfer that no team uses is on the Legacy handoffs tab.
- Open the Transfer.
- Select its Voice content.
- Add a Transfer Call block.
- Select Dialpad in Transfer to.
- Select the Destination.
- Select Save.
The block holds only the destination, and every transfer goes to it. A digital contact center cannot take a voice transfer. The Destination list marks it and does not let you select it. A block saved with a callback threshold, caller identity fields, or a brief keeps those settings and still applies them. The block shows a note that it has legacy settings.
Set up teams, Consult and Pairs
A Collaboration team is a group of Dialpad agents the AI Agent can bring in during a call. Ada makes one team for the Agent, General support, and routes every request that no other team handles to it. Create one more team per queue under Config > AI AGENT > Collaboration with Add team. Each team has a Name, a Description of what it handles, a Consult destination and a Pairs destination. It also has a Live transfer, an Async transfer, Hours and Availability rules.
The live transfer is a Dialpad call center or a Transfer that connects a person now. The async transfer is a Transfer that follows up later, such as a ticket or a callback. When a Pair or a Consult fails or expires, Ada uses the team’s live transfer, then its async transfer, then the default team’s transfer.
The Routing playbook decides the team and the connection when an end user needs a person. Open it with Open Routing playbook on the Teams tab. Its default steps send a closed team to its async transfer. An open team gets a Pair when agents are free, a Consult when Consult is on, and the live transfer otherwise. Its Context to pass rows are the context Ada sends on a Consult question, a Pairs brief and a Dialpad transfer.
The Wait experience tab sets what the end user can ask for while waiting, the check-ins and the hold music. It also sets the Consult expiry and the Pair expiry.
A Consult asks a Dialpad agent a question during the call and gives the answer to the end user. Set Consult on the team to a Team channel or a Digital contact center. A Consult tool under Config > AI AGENT > Tools asks the team. A Consult in a digital contact center needs the chat connector from Send your Ada team what it needs.
A Pair brings a Dialpad agent onto the call with the AI Agent on the line. Set Pairs on the team to the call center Ada dials, or to a phone number or a SIP address. When no agent joins before the Pair expiry, Ada uses the team’s transfer. Give the Pair the end user’s first name. See Give a Pair the end user’s first name below.
Consult a colleague
A Consult tool asks a colleague a question during a call and gives the answer to the end user.
To stop waiting for a colleague:
- Open the Consult tool.
- Under How the caller gets the answer, enter Stop waiting after (minutes).
- Select Save.
On chat and email the AI Agent fails the step at that time and offers a person. Voice calls keep the ten-minute hold cap. Leave the field empty to wait until the contact center closes the question, which takes about one hour.
Let the colleague ask the end user or decline
A colleague does not have to answer a Consult question in one go. In the digital inbox the question arrives once the colleague is connected, under the queue lines, and every line from the AI Agent shows as Ada.
- Still looking. A reply such as “checking now” keeps the question open. The AI Agent does not ask again.
- A question for the end user. A colleague who needs something from the end user, such as an alternative address or a confirmation, asks it in the reply. The AI Agent asks the end user in its own words and never names the colleague or the channel. On a call the hold music stops for the question and starts again after the answer.
- The end user’s answer goes back to the colleague as one line, for example “Dana says: 12 Elm St, apt 4”. On chat an unrelated message from the end user is answered as usual and does not go to the colleague.
- A caller who hung up to get the answer by text gets the question by text in the same thread. Their reply goes back to the colleague.
- A caller who does not answer within 90 seconds of the question goes back on hold, and the colleague is told.
- Can’t help. A colleague who cannot do it, or asks for the end user to be sent to them, ends the question. The AI Agent tells the end user honestly, passes on the reason when the colleague gave one the end user may hear, and offers a person.
Each tool caps the questions a colleague may send the end user at 3. Set customer_rounds on the tool through the API to change it, from 1 to 10. Past the cap the question fails and the AI Agent offers a person.
To branch a Playbook on how the question ended, set outcome_variable_id on the tool through the API to a variable. The AI Agent writes answered, declined or no_answer to it when the step resumes. A Playbook IF on that variable keeps the conversation in the Playbook; without one a declined or unanswered question hands off as before. A declined or unanswered question delivered by text after the caller hung up does not resume the step, so the variable keeps its earlier value there. Neither field has an editor control yet.
The conversation shows when the colleague asked the end user a question, when the answer went back, and when the colleague declined.
Give a Pair the end user’s first name
A Pair brings a person from a Collaboration team onto the call, with the AI Agent on the line. Turn it on for a team under Collaboration. The Agent uses the end user’s first name when it introduces them to the colleague and on the agent brief.
Before the Agent dials, it reads the first name from these sources, in this order:
- A Global, Local, Autocapture or Meta Variable named
first_name. The match ignores case and every character that is not a letter or a digit, sofirst_name,First NameandfirstNameall match. No other Variable name is read. A Sensitive Variable is not read. - The end user’s profile name, when an integration or profile data set it.
A value that is not a name, such as a number or a label, counts as empty.
When no source has a name, the Agent asks “Before I bring in a colleague, can I have your first name?” and waits for the answer. It does not read the name back or ask the end user to confirm it. When it does not catch a name, it asks again, up to three times, and then dials without one. One refusal ends the question. The Agent then says “Thanks, <name>.” or “No problem.” and dials the colleague. In a language other than English, the thanks has no name in it. The Agent stores the answer in first_name when a Global or Autocapture text Variable with that name exists. Without one, and when the end user’s profile has no name, the Agent saves the answer as the profile name.
To give a Pair the first name:
- Create a Global text Variable named
first_name. See Create a Variable. - Fill it wherever the Agent learns the name. Use an Action that looks up the account, an
ASKstep in a Playbook, or the end user’s profile data. - Make a test call as a known end user.
The Agent must not ask for the name.
Before you go live, check that:
- A
first_nameVariable exists. Make it a Global text Variable, so the Agent can store an answer in it. - A step fills
first_namebefore the Pair step runs. - A test call as a known end user does not ask for the name.
When the Agent asks a known end user for their name, the name is stored under another Variable name, for example caller_first_name. The Agent reads only first_name. Create first_name. Fill it from the existing Variable with a SET step in the Playbook, before the Pair step.
Prepare your agents in Dialpad
Each Dialpad agent who takes a call from the AI Agent needs a few settings in Dialpad.
Check that:
- Each agent who takes a Pair has a telephone number on their Dialpad user. They are on duty and in the call center the team dials.
- Each agent who takes a transfer has screen pop enabled, and opens the Ada tab in the Dialpad sidebar. Your Dialpad administrator enables screen pop at the office level and at the user level.
- Each agent who answers a Consult in a digital contact center is Available in the group the connector routes to.
Make a test call
A test call proves the setup before your real numbers move to the AI Agent.
To make a test call:
- Attach a dedicated test number to the router. Keep your active customer numbers on their current routing.
- Agree a test window with your Ada team, and have an agent answer during it.
- Call the test number.
Check that:
- The call reaches the Agent and not the fallback destination.
- A transfer rings the queue, and the agent brief opens for the agent who answers.
- A Pair rings the agent, and the agent joins the call with the Agent on the line.
- A Consult reaches the team channel or the digital contact center, and the answer comes back to the end user.
Go live
Going live moves your real numbers to the AI Agent.
To go live:
- Open Config > CHANNELS > Voice > Configuration and select Dialpad under Telephony provider.
- Select Remove call router.
- Provision the router again with Use reserved numbers.
- Select the numbers that move to the Agent.
- Tell your Ada team the go date.
Your Ada team marks the Agent live on that date.
Update the fallback destination
The Voice router retains its current fallback destination until Dialpad accepts the new destination.
To update the Voice fallback destination:
- Open Config > CHANNELS > Voice > Configuration and select Dialpad under Telephony provider.
- Select the required Fallback destination.
- Select Save fallback destination.
A digital contact center cannot be the fallback destination. The picker marks it, and a save that names one is refused.
Dialpad permits one router update every five minutes. The page shows a pending state when this limit delays the change. If you edit again, the integration keeps your latest selection for the next permitted update.
Remove the connection
Removing the Voice router returns its attached numbers to Dialpad’s reserved numbers. It does not permanently release the numbers from your Dialpad account. End users who call those numbers no longer reach the Agent. Dialpad routes those calls with the office’s settings for reserved numbers. To keep a number on the Agent, attach it again when you provision the router again.
To remove a Voice router or connection:
- Open Config > CHANNELS > Voice > Configuration and select Dialpad under Telephony provider.
- Select Remove call router to remove only the router.
- Select Remove your Dialpad connection from Ada, then Remove, if you also want to remove the integration connection and its remaining resources.
If cleanup reports remaining resources, resolve the reported problem and retry removal.
Related features
Use these Voice guides to configure the incoming number and transfer behavior.