All help articles

Integrations · Zapier

Connect Zapier in 3 minutes

Pipe every booking, check-in, and cancellation into Zapier. From there, route to Sheets, Airtable, Notion, your CRM, or any of Zapier's 6,000+ apps.

Open Integrations

See it before you build it

Setup is one URL copy and two clicks. Here's the full flow — Zapier on the left, SimpleDock on the right.

1. Copy the Catch Hook URL from Zapier
2. Paste it into SimpleDock
3. Add the endpoint
Zapier
Zapier · Webhooks · Catch Hook

Custom Webhook URL

https://hooks.zapier.com/hooks/catch/9421705/3hpx4gv

In Zapier, choose Webhooks by Zapier → Catch Hook. Zapier generates a unique URL like the one above.

SimpleDock
SimpleDock · Integrations

Zapier hook URL

Set it up

  1. 1
    Create a Zap with the Catch Hook trigger
    In Zapier, click Create Zap. For the trigger, pick Webhooks by Zapier → Catch Hook. Skip the optional "Pick off a child key" field. Zapier shows a unique https://hooks.zapier.com/... URL.
  2. 2
    Add the URL in SimpleDock
    Leave the Zap editor open. In SimpleDock, open Settings → Integrations, click Add endpoint in the Zapier section, paste the hook URL, pick the locations and event types you care about, and click Add endpoint. SimpleDock sends a sample webhook.test event right away and saves the endpoint only if Zapier accepts it.
  3. 3
    Pull the sample into Zapier
    Back in Zapier, click Test trigger. The sample SimpleDock just sent is already there. To send another, click Send test on the endpoint in SimpleDock.
  4. 4
    Add an action
    Pick whatever Zap action you need: append a row in Sheets, add a record in Airtable, post to Discord, create a Notion page. Field names from the SimpleDock payload appear in the field picker automatically.
  5. 5
    Turn the Zap on
    That's it. From this point on, every matching event in SimpleDock flows into Zapier within a few seconds.

What Zapier receives

Each delivery is a single JSON envelope with the event type, a stable event id, and a data object describing the appointment. Click between event types to see the payload.

appointment.created

Any new booking: from your booking link, by staff on the dashboard, or through the API or MCP. Pending requests fire it too.

json
{
  "id": "evt_2tQ9pX8Lm6Nz",
  "type": "appointment.created",
  "createdAt": "2026-05-08T17:12:03.481Z",
  "organizationId": "org_acme",
  "locationId": "loc_main",
  "data": {
    "id": "appt_abc123def456",
    "status": "CONFIRMED",
    "startTime": "2026-05-12T14:00:00.000Z",
    "endTime": "2026-05-12T15:00:00.000Z",
    "companyName": "Acme Freight",
    "contactEmail": "[email protected]",
    "contactPhone": "+1-555-234-1180",
    "driverName": "Maria Lopez",
    "driverPhone": "+1-555-901-2233",
    "trailerNumber": "TRL-44781",
    "poReference": "PO-2026-4471",
    "notes": "Pallet jack ready",
    "driverNotes": null,
    "customFields": {},
    "arrivalStatus": null,
    "estimatedDelay": null,
    "checkedInAt": null,
    "completedAt": null,
    "approvedAt": "2026-05-08T17:12:00.000Z",
    "rejectedAt": null,
    "cancelledAt": null,
    "rejectionReason": null,
    "createdAt": "2026-05-08T17:10:00.000Z",
    "updatedAt": "2026-05-08T17:12:00.000Z",
    "manageUrl": "https://simpledock.ai/manage/mt_4j2k...",
    "door": {
      "id": "door_4",
      "name": "Door 4"
    },
    "appointmentType": {
      "id": "atype_inb_dry",
      "name": "Inbound dry van",
      "loadType": "FTL",
      "direction": "INBOUND",
      "durationMinutes": 60
    },
    "location": {
      "id": "loc_main",
      "name": "Reno DC",
      "slug": "reno-dc",
      "timezone": "America/Los_Angeles",
      "address": "1200 Industrial Way",
      "city": "Reno",
      "state": "NV",
      "zip": "89502"
    }
  }
}

Verify it's working

Hit Send test in Settings → Integrations. SimpleDock shows the response code and time, and Zapier's task history shows the incoming request. If the test never reaches Zapier:

  • Confirm the Zap is turned on. Off Zaps quietly drop requests.
  • Re-paste the hook URL. Zapier sometimes regenerates URLs when a trigger is edited.
  • Check the endpoint isn't Paused. SimpleDock pauses an endpoint after 10 failed deliveries in a row; resume it from More → Resume deliveries.
Signing
SimpleDock signs every Zapier delivery with X-SimpleDock-Signature. Zapier doesn't verify it for you, but you can verify it in a Zap Code step if you handle sensitive data. See how →

Common gotchas

  • Zapier rate limits. Free Zaps poll/run every 15 minutes — but Catch Hook is real-time. You're fine.
  • Selecting "off" event types. A new endpoint starts with every event type except appointment.updated checked. If you only want bookings, narrow the event list to appointment.created.
  • Multiple locations. Each endpoint can scope to specific locations. Add separate endpoints if you want separate Zaps per location.