Skip to main content

CRM Lead Bank ↔ Ondial AI Voice

For: Himalayan Holidayers / Indian Travel Store / Visit Asia CRM
Goal: 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)

Base URL: your Ondial dashboard host (example: https://dashboard.ondial.ai)
Auth: Authorization: Bearer <your_api_key>
Public docs: Push leads · CRM & webhooks

4. One-time setup

  1. Request API key in Ondial Dashboard → API Access.
  2. Create an API / Custom CRM campaign (Lead Verify). Start it.
  3. Create a second campaign for Missed Follow-up AI (optional but recommended). Start it.
  4. Register your CRM webhook URL (Dashboard → API Access → Notifications, or API below).
  5. Subscribe at least to these events:
    • outbound.lead.created
    • call.outbound.status
    • call.outbound.analysis

Register webhook (sample)

Save the webhook secret. Every delivery includes:

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)

Save 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).
Useful 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)

  1. Follow-up time arrives.
  2. Consultant still has not saved a follow-up.
  3. Wait 30 minutes.
  4. 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 campaign
If this phone already finished on that campaign, send "requeue": true. Otherwise Ondial returns 422 requeue_required.
Option 2 — Schedule follow-up on existing contact

Step C — Webhooks (same event names)

You will again receive:
  1. outbound.lead.updated (if requeued) or followup.scheduled
  2. call.outbound.status
  3. call.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)

Always upsert by 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 + crmLeadId together

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.