Importing leads

Pipe leads in via Zapier (or any webhook tool)

Send leads from any Zap, Make scenario, or n8n workflow into Compass with a single POST.

Compass exposes a single webhook endpoint that any automation tool can POST a lead to. The payload shape is flexible, so you don't have to teach Zapier (or Make, or n8n) a particular schema, whatever field names the upstream tool sends, the Compass normalizer figures it out.

The endpoint
POST https://getcompass.studio/api/webhooks/website-lead

Authentication is an API key in the Authorization header:

Authorization: Bearer cpsk_YOUR_API_KEY
Generate an API key

Open Settings → Integrations and click "Generate key". Name it after the tool that'll use it ("Zapier", "Make scenario", "Squarespace site") so you can tell your keys apart later. The full key is shown once; Compass only stores its hash, so copy it into your tool right away. Each key is tied to your workspace, so the payload never needs a separate workspace_id field. Revoke individual keys any time without affecting the others.

Zapier setup
  1. Create a new Zap. Pick whatever you like as the trigger, a Typeform submission, a Google Sheet row, a new Calendly invite, a Facebook Lead Ads lead, anything.
  2. Add a "Webhooks by Zapier" → "POST" action.
  3. URL: https://getcompass.studio/api/webhooks/website-lead.
  4. Payload type: JSON.
  5. Data: map whatever fields the trigger gives you to name, email, phone, etc. You can also include any extra fields, they'll land on the lead's activity log so nothing is lost.
  6. Headers: Authorization: Bearer cpsk_YOUR_API_KEY.
  7. Test the action, Compass returns the new lead's ID on success.
Sample request (curl)
curl -X POST https://getcompass.studio/api/webhooks/website-lead \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer cpsk_YOUR_API_KEY" \
  -d '{
    "name": "Sam Smith",
    "email": "sam@example.com",
    "phone": "0412 345 678",
    "source": "website",
    "notes": "Saw your work at the gallery!"
  }'
Make.com (formerly Integromat) and n8n

Same endpoint, same auth. Both tools have a generic "HTTP Request" / "HTTP" module, point it at the URL, set the method to POST, set the auth header, and pass whatever JSON shape works for your scenario.

Deduplication

Compass dedups inbound webhook leads by email within a 24-hour window. If the same email arrives twice in a day, the second submission is logged as a duplicate against the existing lead rather than creating a second row.

Common issues
  • 401 unauthorized, your Authorization header is missing, malformed, or the API key has been revoked. Make sure the value starts with Bearer cpsk_ and matches an active key in Settings → Integrations.
  • 404 unknown_workspace, the workspace tied to the key no longer exists. Generate a fresh key from your current workspace.
  • 429 rate_limited, you've sent more than 60 requests in a minute from the same IP. Back off and retry after the Retry-After header.