Native integrations are nice when they exist; Zapier handles the long tail. Set crm-provider=zapier or desk-provider=zapier per workspace, paste in a Zap webhook URL, and lead and ticket events flow through to whichever CRM, helpdesk, Slack channel, or spreadsheet you've pointed Zapier at.
If we have a direct integration (Zoho CRM, Zoho Desk, Freshdesk), use it — it's faster and more reliable. Zapier is for everything else.
Set crm-provider=zapier when your CRM is HubSpot, Salesforce, Pipedrive, Copper, Close, Freshsales, ActiveCampaign, or any other CRM with a Zapier connector. We POST the lead_requested envelope to your Zap webhook; you map fields in the Zap editor.
Set desk-provider=zapier when your helpdesk is Zendesk, Intercom, Help Scout, Front, ServiceNow, or anything else with a Zapier connector. ticket_requested + session_finalized envelopes flow through and you create the ticket in your tool.
Same five-minute setup whether you're using Zapier as a CRM bridge, a helpdesk bridge, or both.
In Zapier: Create Zap → Trigger → Webhooks by Zapier → Catch Hook. Zapier generates a unique Custom Webhook URL — copy it. (You'll create one Zap per event type if you want CRM and Desk bridged, or use Paths within a single Zap.)
Portal: Settings → Integrations → CRM Provider. Set provider to Zapier. Paste the webhook URL into CRM Webhook URL.
Or for the helpdesk side: Settings → Integrations → Helpdesk Provider → Zapier, paste your Desk Zap's webhook URL.
Open the AI support widget on your site, complete a session that triggers a lead or ticket, and check Zapier's Zap History — you should see the event arrive within a few seconds. Use Zapier's Test trigger to inspect the payload schema.
In Zapier: + → Action → <your-app> (HubSpot, Salesforce, Zendesk, etc.). Map MyDaddy.io fields to your app's fields. Turn the Zap on.
Each request includes an X-MyDaddy-Signature header — a signature of the body using your workspace's webhook secret. Use Zapier's Code by Zapier step to validate the signature before passing the event downstream if you need stronger origin assurance.
Three event types are published to your Zapier webhook(s). Each has a stable JSON shape — additive changes only — so your Zaps don't break when we add fields.
lead_requestedFired by the web AI agent on session finalize when the LLM (or human-agent override) classifies the chat as a sales lead. Same trigger that creates a Lead in Zoho CRM when the native provider is configured.
// POST to zapier-crm-webhook { "event": "lead_requested", "org_id": 16, "session_id": "sess_2026-04-23T03:42:11Z_a3f1", "visitor": { "name": "Jamie Rodriguez", "email": "jamie@example.com", "phone": "+15551234567" }, "intent": "interested", "summary": "Asked about pricing for 25-seat plan; wants demo Tue or Wed.", "transcript_md": "... full chat transcript ...", "request_context": { "page_url": "https://example.com/pricing", "referrer": "https://google.com/", "utm": {"source":"google","campaign":"q2-launch"}, "client_ip": "203.0.113.42", "user_agent": "Mozilla/5.0 ..." }, "started_at": "2026-04-23T03:42:11Z", "finalized_at": "2026-04-23T03:48:53Z" }
ticket_requestedFired on session start (after visitor verification) when desk-provider is set. Same trigger that creates a Zoho Desk ticket when the native provider is configured.
// POST to zapier-desk-webhook { "event": "ticket_requested", "org_id": 16, "session_id": "sess_2026-04-23T03:42:11Z_a3f1", "visitor": { "phone": "+15551234567", "verified": true }, "subject": "Web chat session — pricing inquiry", "description_md": "... initial message + request context ...", "priority": "normal", "started_at": "2026-04-23T03:42:11Z" }
session_finalizedFired when the session ends — by Resolve, idle timeout, or visitor close. Includes resolution, transcript, and intent so your Zap can patch the existing ticket / lead.
// POST to BOTH zapier-crm-webhook + zapier-desk-webhook { "event": "session_finalized", "org_id": 16, "session_id": "sess_2026-04-23T03:42:11Z_a3f1", "resolution": "agent_resolved", "intent": "interested", "summary": "... LLM-generated chat summary ...", "transcript_md": "... full chat transcript ...", "finalized_at": "2026-04-23T03:48:53Z" }
| Key | Purpose | Example |
|---|---|---|
security.organizations.<org>.crm-provider | Active CRM routing | zoho · zapier · none |
security.organizations.<org>.desk-provider | Active helpdesk routing | zoho · zapier · none |
security.organizations.<org>.zapier-crm-webhook | CRM Catch-Hook URL | https://hooks.zapier.com/hooks/catch/... |
security.organizations.<org>.zapier-desk-webhook | Helpdesk Catch-Hook URL | https://hooks.zapier.com/hooks/catch/... |
organizations.<org>.webhook-secret | Signing secret for the X-MyDaddy-Signature header | ••••• |
Under the hood: events are queued and then POSTed to your Zap webhook with automatic retries. Failures are logged in the audit log so you can see what went wrong.
HubSpot, Salesforce, Zendesk, Intercom, Slack, Notion, Google Sheets — pick a destination, paste a Zap webhook URL, and the events flow through.