Setup docs
Wire up speed-to-lead.
Pick your form tool. Paste the webhook URL + your API key. Sarah calls every form-fill within 60 seconds.
Don't have an API key yet? Generate one here (free tier, no card).
Endpoint
https://morthn.com/api/leads/inbound
Auth header
Authorization: Bearer YOUR_MORTHN_API_KEY
Required field
phone (E.164 preferred; 10-digit US auto-handled)
Optional fields
name, email, company, source, score, qualifying_data
HubSpot
- 1.In HubSpot: Settings → Integrations → Workflows. Create a new workflow on the "Contact created" or "Form submission" trigger.
- 2.Add an action: "Send a webhook." URL: https://morthn.com/api/leads/inbound. Method: POST.
- 3.Authentication: choose "Custom" — header name: Authorization, value: Bearer YOUR_MORTHN_API_KEY
- 4.Body: Send all contact properties (HubSpot does this by default). We auto-map common field names (firstname, lastname, phone, email, company).
- 5.Save + enable the workflow. Submit a test form on your site to confirm the call fires.
Calendly
- 1.Calendly → Integrations → Webhooks. Click "Create webhook subscription."
- 2.URL: https://morthn.com/api/leads/inbound
- 3.Events: select "invitee.created" (fires when someone books or cancels).
- 4.Authentication: Calendly doesn't support custom auth headers natively, so use the in-URL key pattern: Authorization passed as a query string is NOT secure. Instead, use the Zapier integration (see Zapier section).
⚠ Calendly is best wired via Zapier — see the Zapier section below.
Typeform
- 1.Open your Typeform → Connect → Webhooks. Click "Add a webhook."
- 2.URL: https://morthn.com/api/leads/inbound
- 3.Custom headers: Authorization = Bearer YOUR_MORTHN_API_KEY
- 4.Payload: Typeform sends form_response with answers array. We auto-extract phone/email/name from common field labels. If your fields have unusual labels, contact us — we'll add custom mapping.
- 5.Save. Submit a test response to confirm.
Webflow forms
- 1.Webflow Project Settings → Integrations → Forms → Form notifications.
- 2.Add a "Webhook" notification.
- 3.URL: https://morthn.com/api/leads/inbound
- 4.Webflow does NOT support custom headers on webhooks (as of 2026-05). Workaround: use Zapier — Webflow Form → Zapier → Morthn Create Lead action.
⚠ Webflow native webhooks lack custom-header support. Use Zapier as the bridge.
Facebook Lead Ads
- 1.Facebook Business Manager → Lead Center → Settings → Webhooks.
- 2.URL: https://morthn.com/api/leads/inbound
- 3.Authentication: Meta sends Bearer tokens — paste your Morthn API key.
- 4.Subscribe to the "leadgen" event for your Page.
- 5.Test using Meta's Lead Ads Testing Tool. We auto-map Meta's lead fields (full_name, phone_number, email).
Zapier (any tool)
- 1.Zapier → Make a Zap. Trigger: whatever tool you use (Calendly, Webflow, Notion, Airtable, anything).
- 2.Action: "Webhooks by Zapier" → "POST"
- 3.URL: https://morthn.com/api/leads/inbound
- 4.Headers: Authorization = Bearer YOUR_MORTHN_API_KEY, Content-Type = application/json
- 5.Data: Map your trigger's lead fields to: name, phone, email, company, source. Phone is required; everything else optional.
- 6.Test + publish.
Raw webhook / curl test
- 1.Use this curl command to test the endpoint from your terminal before wiring up a form tool:
curl -X POST https://morthn.com/api/leads/inbound \
-H "Authorization: Bearer YOUR_MORTHN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Doe",
"phone": "+15555550100",
"email": "jane@acme.com",
"company": "Acme Corp",
"source": "manual_test",
"qualifying_data": {
"budget": "$50K",
"timeline": "30 days"
}
}'Response
On success, returns 202 with the created lead id. The call fires asynchronously so the form tool's webhook gets a fast response.
{
"id": "il_a3b9c1e8f0...",
"status": "received",
"will_call": "+15555550100",
"estimated_call_within_seconds": 10
}