Option A: Zero-Code Direct Webhook (Recommended)
The fastest setup. Point Dialpad's webhooks directly at RiskDetect. No middleware needed.
Get Your RiskDetect API Key
Sign up free and copy your API key (shown once at registration).
Add Webhook in Dialpad
Go to Dialpad Admin > Integrations > Webhooks and add:
Done
Every completed call is now automatically analyzed. Check your dashboard for risk scores, or set up alert rules to get Slack/webhook notifications for high-risk calls.
Option B: Custom Middleware
For more control over which calls get analyzed, or to enrich data before sending.
Prerequisites
- Dialpad account with API access (Business or Enterprise plan)
- RiskDetect account -- create one free (250 analyses/month)
- Your RiskDetect API key (shown once at registration, store it securely)
- A server or serverless function to receive Dialpad webhooks (we provide examples for Node.js and Python)
How It Works
- Dialpad transcribes every call using built-in AI
- When a call ends, Dialpad fires a webhook with the call details
- Your middleware fetches the full transcript via Dialpad's API
- The transcript is sent to RiskDetect's
/api/analyzeendpoint - RiskDetect scores the interaction (0-100) and returns risk signals
- If the score exceeds your threshold, alerts fire to Slack/webhook/email
Step-by-Step Setup
Create a Dialpad API Key
Go to Dialpad Admin > Company Settings > API Keys. Create a new API key with call:read and transcript:read permissions.
Set Up a Webhook in Dialpad
Go to Dialpad Admin > Integrations > Webhooks. Add a new webhook subscription:
- Event type:
call.hangup(fires when a call ends) - URL: Your server endpoint (e.g.,
https://your-server.com/dialpad-webhook)
Dialpad also supports call.transcription events for real-time transcript chunks. For full-call analysis, call.hangup is recommended.
Build the Middleware
When Dialpad sends a webhook, your middleware needs to:
- Extract the
call_idfrom the webhook payload - Fetch the full transcript from Dialpad's API
- Send the transcript to RiskDetect for analysis
Node.js Example
Python Example
Set Up Alert Rules
In your RiskDetect dashboard, go to Alerts and create rules:
- Score above 70 - Send Slack alert to #customer-risk channel
- Keyword: "cancel" - Send webhook to your CRM
- Score above 85 - Email CS manager immediately
Monitor the Dashboard
Every analyzed call appears in your RiskDetect feed. The Customers view shows sentiment trends per customer across all their calls. The Trends view shows risk distribution over time.
Alternative: Batch Import (No Webhook)
If you'd rather not set up webhooks, you can export transcripts from Dialpad's admin portal as CSV and upload them to RiskDetect:
- Go to Dialpad Admin > Analytics > Export
- Download the call logs with transcriptions
- In RiskDetect dashboard, go to Upload and drag in the CSV
- RiskDetect analyzes each row and scores every interaction
Alternative: Zapier (No Code)
Connect Dialpad to RiskDetect through Zapier without writing code:
- Trigger: Dialpad > New Call Recording
- Action: Webhooks by Zapier > POST to
https://riskdetect.app/api/analyze - Map the transcript field to
content, caller info tofrom
What RiskDetect Detects in Call Transcripts
- Churn language: "thinking about switching," "not worth it," "considering alternatives"
- Escalation signals: "speak to a manager," "this is unacceptable," "filing a complaint"
- Legal threats: "attorney," "BBB," "breach of contract"
- Competitor mentions: Names of competitors your customers are evaluating
- Sentiment shifts: When a customer's tone changes from positive to negative across multiple calls
- Rep awareness gaps: When different reps talk to the same frustrated customer without context
Need Help?
Email morgan@riskdetect.app for setup help. We can walk you through the integration in under 30 minutes.