DialPad Agent Availability Integration
Check Dialpad call center availability with a destination ping before CallGrid routes a call, with failover to a backup destination.
Updated 6 min read
Browse the knowledge base
On this page
Overview#
Dialpad is a cloud phone system. A CallGrid buyer running its agents on Dialpad can receive calls on a phone number or SIP address, and CallGrid can check whether agents are free before sending each call. This avoids sending calls into long holds or voicemail and cuts No Connects.
Two layers work together:
Layer | What it does | Where |
|---|---|---|
Delivery with failover | Dial Dialpad; if the call does not connect, try the next destination | Destination Call Settings, campaign Failover Routing |
Availability Ping (recommended) | Before dialing, ask Dialpad's API whether agents are available; reject the destination if not | Edit Destination > Ping tab |
The availability check is a destination Ping, not an integration webhook.
Step 1: Create the Dialpad destination#
- Buyers > Destinations > New Destination.
- Basic Information: Name (for example "Dialpad - Sales Team"), Buyer, Timezone, Business Hours matching the team's hours.
- Call Settings:
- Phone Type: Phone with the Dialpad number for the ring group or call center.
- Dial Attempts: usually 1.
- Capacity and Limit Settings: Max Concurrent Calls equal to the agents who take these calls, as a backstop. Consider Capacity Guard on bidding campaigns so one free agent is not sent overlapping calls.
- Revenue Settings: match the buyer agreement.
- Save Destination.
Test delivery with a real call (Step 5).
Step 2: Add the availability Ping#



- Open the destination's Ping tab and turn on Ping Integration.
- Turn on Ping Template and select Dialpad.
- Fill in the template fields:
- Bearer Authentication Token: the token that authorizes API access to your Dialpad account.
- Call Center ID: the Dialpad call center whose agents take these calls.
- Click Run Ping and confirm the ping is accepted when agents are on duty and rejected when none are.
- Click Save Ping.
The template fills in the request and the acceptance rule for you:
Setting | Value |
|---|---|
Method | GET |
URL |
|
Acceptance Parsing |
|
The ping is accepted when the call center reports at least one on-duty operator, and rejected when it reports none.
Optional settings#
- Timeout: keep it to a few seconds; the ping is in the routing path.
- Use Static IP for requests: turn it on only if Dialpad restricts API callers by IP.
- Field Mapping > Agent Availability: the template does not set this mapping. Map
on_duty_operatorshere if you want the count shown as Agents Available on Reports > Agents and Avg Agents on the Pings report. - Value Extraction: optionally store a response field in a custom tag for later routing or reporting.
Step 3: Failover when Dialpad cannot take the call#
On the campaign Routing tab:
- Add the Dialpad destination at the top priority, and a backup destination (another buyer, or a Voicemail destination) at a lower priority.
- Turn on Failover Routing: "If a Destination does not Connect, rerun the Routing Plan to select the next best Destination." Each attempt increments the CallFailoverAttempts tag.
- Optional Retry Routing Plan: if failover finds no eligible destination, wait (Retry Routing Timeout, caller hears silence) and re-check up to Max Retry Attempts.
- Optional Circuit Breaker: automatically pauses a destination when failures exceed a threshold in the Observation Window.
With the availability Ping, a Dialpad destination with no free agents is rejected before dialing, so the call goes straight to the backup. Without it, CallGrid only finds out after the dial fails (busy, no answer or timeout).
Twilio translates the SIP response and CallGrid maps the result: 486 Busy shows as Busy, 480 Temporarily Unavailable and 408 show as No Answer, and 403, 404 and 5xx responses show as Failed. Anything unrecognized shows as No Answer. All three are No Connects and trigger failover.
Step 4: Duration and early answer#
If Dialpad answers the call and plays hold music or ringback before an agent picks up (for example a call center queue), CallGrid's Connect Duration starts early and can disagree with the buyer's talk time. Options:
- Review the Dialpad Contact Center's call routing (Admin Settings > Contact Centers > select the Contact Center > Business Hours & Call Handling > Call Routing). Dialpad rings agents with the routing method you choose and places callers in a hold queue with hold music when all agents are busy. To keep callers out of the queue when no agents are on duty, turn off Allow callers to be placed in your hold queue when no agents are available.
- Turn on Match Connect Duration (Call Settings > Advanced) if Dialpad plays a ringing tone while it waits for an agent.
- Ask your account manager about True Connect (Beta) before enabling it.
Step 5: Test#

- With agents available: call the campaign number; confirm the call connects to Dialpad and Call History shows the Dialpad destination and a normal Connect Duration.
- With all agents unavailable: confirm the ping is rejected (Pings report, Failed Accept) and the call goes to the backup.
- With the Dialpad destination paused or its number wrong: confirm failover.
Monitoring#
- Reports > Pings for the destination: Accepted, Failed Accept, Timeout, API Failed, Avg ms, Avg Agents. Dialpad 429 responses count as API Failed; lower Max Pings Per Minute if it rises.
- Reports > Summary grouped by DestinationName: No Connect %, Completed, Billable %.
- Reports > Agents: Agents Available per destination.
- Per-call ping results are on the call timeline.
Troubleshooting#
Problem | Check |
|---|---|
Calls do not reach Dialpad | Number or SIP URI; destination paused, capped or outside Business Hours |
Calls go to backup while agents are free | Acceptance path or operator wrong; Run Ping and read the real response; agent status in Dialpad (do not disturb, ring group paused) |
Every ping fails | API key expired or lacks scope; switch to Authorization if tokens rotate |
High Timeout % | Dialpad API latency; raise the Ping Timeout slightly. The source Webhook Timeout override can also shorten it; minimum 1 second |
Durations longer than Dialpad reports | Dialpad answering into a queue; Match Connect Duration or Dialpad routing change |
Overlapping calls on one agent | Capacity Guard, lower Max Concurrent Calls |
Best practices#
- Always have a backup destination and Failover Routing on.
- Use the availability Ping rather than relying on failed dials, so callers do not ring out.
- Set Business Hours on the destination to match the team.
- Keep Dial Timeout short enough that failover happens before callers give up.
- Place live test calls after any Dialpad routing change.
Do it with AI#
Ask Griddy, Claude or ChatGPT. Try: "What is the No Connect % on my Dialpad destination this week?" Claude and ChatGPT need the CallGrid connector turned on (setup guides for Claude and ChatGPT).
The connector is read only. It looks things up and reads your data. You make the changes in CallGrid.
Was this article helpful?
Related articles
- Five9 Agent Availability IntegrationLet a CallGrid destination check Five9's live agent availability before a call is sent, with setup, acceptance parsing and troubleshooting.
- 8x8 Contact Center Agent Availability IntegrationLet CallGrid check an 8x8 Contact Center queue for available agents with a destination ping before it routes a call to that buyer.
- CallGrid MCP: Connect to ChatGPTAsk ChatGPT about your CallGrid account in plain English. Connect the CallGrid app once, then pull campaigns, buyers, numbers and more.