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. 1.In HubSpot: Settings → Integrations → Workflows. Create a new workflow on the "Contact created" or "Form submission" trigger.
  2. 2.Add an action: "Send a webhook." URL: https://morthn.com/api/leads/inbound. Method: POST.
  3. 3.Authentication: choose "Custom" — header name: Authorization, value: Bearer YOUR_MORTHN_API_KEY
  4. 4.Body: Send all contact properties (HubSpot does this by default). We auto-map common field names (firstname, lastname, phone, email, company).
  5. 5.Save + enable the workflow. Submit a test form on your site to confirm the call fires.

Calendly

  1. 1.Calendly → Integrations → Webhooks. Click "Create webhook subscription."
  2. 2.URL: https://morthn.com/api/leads/inbound
  3. 3.Events: select "invitee.created" (fires when someone books or cancels).
  4. 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. 1.Open your Typeform → Connect → Webhooks. Click "Add a webhook."
  2. 2.URL: https://morthn.com/api/leads/inbound
  3. 3.Custom headers: Authorization = Bearer YOUR_MORTHN_API_KEY
  4. 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. 5.Save. Submit a test response to confirm.

Webflow forms

  1. 1.Webflow Project Settings → Integrations → Forms → Form notifications.
  2. 2.Add a "Webhook" notification.
  3. 3.URL: https://morthn.com/api/leads/inbound
  4. 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. 1.Facebook Business Manager → Lead Center → Settings → Webhooks.
  2. 2.URL: https://morthn.com/api/leads/inbound
  3. 3.Authentication: Meta sends Bearer tokens — paste your Morthn API key.
  4. 4.Subscribe to the "leadgen" event for your Page.
  5. 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. 1.Zapier → Make a Zap. Trigger: whatever tool you use (Calendly, Webflow, Notion, Airtable, anything).
  2. 2.Action: "Webhooks by Zapier" → "POST"
  3. 3.URL: https://morthn.com/api/leads/inbound
  4. 4.Headers: Authorization = Bearer YOUR_MORTHN_API_KEY, Content-Type = application/json
  5. 5.Data: Map your trigger's lead fields to: name, phone, email, company, source. Phone is required; everything else optional.
  6. 6.Test + publish.

Raw webhook / curl test

  1. 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
}