OpenAgentOpenAgent

CRM ingest API

POST /crm/ingest with a crk_ Connections key: turn any website form or external system into CRM rows, deal cards, workflow triggers, and attribution.

View as Markdown

The ingest endpoint accepts lead data from anywhere and files it exactly as if one of your own forms had been submitted. Create a key in CRM → Connections; each key targets a board and column.

The request

curl -X POST https://app.openagent.work/crm/ingest \
  -H "Authorization: Bearer crk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Doe",
    "phone": "+1 555 0100",
    "email": "jane@example.com",
    "job_type": "Water heater replacement",
    "notes": "Basement unit, ~10 years old"
  }'

Body keys are matched to the CRM's fields by field key first, then by label (case-insensitive). Unmatched keys are kept with the submission so nothing is silently dropped.

What one POST creates

  • A row in the CRM with the matched fields.
  • A deal card in the key's target column.
  • An attribution record naming the key — the deal knows its source.
  • A **form submitted trigger** — workflows fire exactly as for a native form, so the speed-to-lead text covers this lead too.

Responses

StatusMeaning
200Filed — the body returns the created row/card identifiers.
401Missing or unknown key.
403Key revoked or not permitted.
422Empty or malformed body — nothing usable to file.
429Rate limited.
One key per source

Issue a separate key for each site or system ("Landing page", "Partner referrals"). Attribution then answers "what is this source worth?" for free, and revoking one source never breaks another.