CRM Lead Bank ↔ Ondial AI Voice
For: Himalayan Holidayers / Indian Travel Store / Visit Asia CRMGoal: Your CRM sends a call job → Ondial AI calls the guest → Ondial sends the result back to your CRM. This guide is written in simple language so your CRM team can implement quickly.
1. Your requirements (from your PDF)
You asked for two jobs only:Who does what (important)
2. What is supported today on Ondial
Not done by Ondial (by design): Lead Bank UI, Allocation, 30‑minute CRM timer, writing into your Follow-up tab. Your CRM does those using our webhook data.
3. How it works on our platform (simple)
https://dashboard.ondial.ai)Auth:
Authorization: Bearer <your_api_key>
Public docs: Push leads · CRM & webhooks
4. One-time setup
- Request API key in Ondial Dashboard → API Access.
- Create an API / Custom CRM campaign (Lead Verify). Start it.
- Create a second campaign for Missed Follow-up AI (optional but recommended). Start it.
- Register your CRM webhook URL (Dashboard → API Access → Notifications, or API below).
- Subscribe at least to these events:
outbound.lead.createdcall.outbound.statuscall.outbound.analysis
Register webhook (sample)
5. Use Case 1 — Lead Bank verify → Allocation
Step A — Your CRM sends the verify call job
Only send if lead is not duplicate / discarded / already called.scheduledAt is optional ISO 8601 UTC. Omit it to dial as soon as the campaign is active.
Sample API response (201)
contactId on your CRM lead.
Step B — Webhooks Ondial sends to your CRM
Every webhook body looks like:Event 1 — outbound.lead.created
Fired when Ondial accepts the new lead.
Event 2 — call.outbound.status
Fired when dial status changes (ringing, answered, completed, no answer, busy, failed).
status values:
Event 3 — call.outbound.analysis ★ main result for Allocation
Fired when AI analysis is ready (may be a few seconds after call ends).
Step C — What your CRM does after analysis
Use
conversationSummary as remarks.Match lead with
metadata.crmLeadId or saved contactId.
Optional — Get recording URL
Recording is not inside the analysis webhook. Fetch it like this:6. Use Case 2 — Follow-up pending 30 minutes → AI call
Step A — Your CRM timer (not Ondial)
- Follow-up time arrives.
- Consultant still has not saved a follow-up.
- Wait 30 minutes.
- If still pending → send AI call job to Ondial.
Step B — Send follow-up AI call job
Option 1 — New / requeue dial on follow-up campaignIf this phone already finished on that campaign, sendOption 2 — Schedule follow-up on existing contact"requeue": true. Otherwise Ondial returns422 requeue_required.
Step C — Webhooks (same event names)
You will again receive:outbound.lead.updated(if requeued) orfollowup.scheduledcall.outbound.statuscall.outbound.analysis← use this to update Follow-up tab
Sample — outbound.lead.updated (requeued)
Sample — followup.scheduled
Sample — call.outbound.analysis (follow-up result)
Step D — What your CRM does (Follow-up tab)
7. Suggested outcome mapping
Agree these categories during campaign setup (script + analysis):8. Typical webhook order (one dial)
callId. A requeue creates a new callId and a new set of call webhooks.
9. Quick checklist
Your CRM
- API key stored securely
- After Lead Bank checks →
POST /api/v1/leads(verify campaign) - Webhook URL live + signature verify
- On
call.outbound.analysis→ Allocation / Discard - 30‑min missed follow-up timer → send follow-up AI job
- On analysis → update Follow-up tab
- Store
contactId+crmLeadIdtogether
Ondial
- Verify campaign + follow-up campaign ready
- Analysis categories aligned with your table
- Retries 2–3 configured
- Sandbox test → then live
10. Summary
Bottom line: Your CRM remains the brain (Lead Bank, Allocation, Follow-up). Ondial places the AI call and returns analytics to your webhook.

