Build
CRM inbound updates
Return approved CRM fields to linked Concierge records through a signed, replay-safe endpoint.
Confirm the customer enabled inbound
Inbound is off by default and is available only for connectors that support signed inbound changes. The customer must activate the connection, choose a source object, map allowed fields, select a conflict policy, and enable the inbound policy.
- Airtable is outbound-only and does not accept CRM inbound changes.
- The installation-specific URL shown in Concierge is the only supported destination.
- An unknown, inactive, or disabled installation returns a non-disclosing response.
Sign the exact inbound body
POST an object or an array of up to 25 changes to /marketplaces/inbound/crm/{installationId}. Use the same timestamp, delivery ID, content digest, and v1 HMAC headers documented for CRM Webhook.
| Limit | Value |
|---|---|
| Request body | 128 KB maximum |
| Events per request | 1 to 25 |
| Changed fields per event | 1 to 100 |
| Inquiry priority | normal, high, or urgent |
| Signature timestamp window | Five minutes |
{
"eventId": "crm-change-123",
"occurredAt": "2026-07-29T20:00:00.000Z",
"object": "contacts",
"externalId": "crm-contact-42",
"changes": {
"email": "customer@example.com",
"priority": "high"
}
}Respect field and conflict boundaries
Only the external fields saved in the customer's inbound mapping are accepted. Those fields may target contact.name, contact.email, contact.phone, or inquiry.priority.
- Use a stable eventId from the CRM and a stable delivery ID for transport retries.
- Never send account, site, organization, consent, routing, assignment, message, billing, authentication, role, or status fields.
- Treat the accepted response as intake evidence; review the customer UI for applied or held changes.
- Do not create an inbound flow for records that were never linked by the active installation.
| Customer policy | Behavior |
|---|---|
| Keep Concierge | Preserve the newer Concierge value. |
| Apply CRM | Apply the valid mapped CRM value. |
| Ask for review | Hold the conflict for a customer decision. |
Next guide
SDKs and connectors