Create or continue a conversation
Use the required intake email channel and its configured AI Assistant to run canonical conversation resolution, then update the resolved contact, organization, and conversation and append the customer message. In Simple mode this can append to the contact’s existing non-closed conversation; in Advanced mode each API request starts a new intake thread. If the request omits a subject and the resolved conversation has none, CXP sets Message from {contact.email}. A supplied assignee is applied only when the resolved conversation is unassigned and always suppresses a customer-facing Assistant turn for this request. A directly assigned agent may separately receive the normal internal Agent Assist lifecycle when configured. Without a supplied assignee, CXP starts an asynchronous turn only when the resolved conversation is AI-handled and unassigned. Requested custom fields use a separate post-intake update. If that update fails, CXP still returns success with a CustomFieldsUpdateFailed warning and starts any eligible Assistant turn. Success confirms durable intake only. It does not wait for notification delivery, an AI Assistant turn, Agent Assist lifecycle work, or outbound email delivery. The JSON request body must not exceed 1 MiB. Every accepted POST executes; repeating a request can create or append another message.
Authorizations
Tenant API key with cxm:conversations.write, cxm:conversations.*, cxm:write, or cxm:* scope. Keep it in a trusted backend; do not expose it in browser code.
Path Parameters
Tenant authorized for the API key and every referenced resource.
1 - 255Body
Active tenant service-email address with a configured AI Assistant. CXP uses it for canonical email-style conversation resolution and, when eligible, asynchronous Assistant processing. It is intake context, not a Conversation property.
320- Option 1
- Option 2
Response
The customer message was appended to an existing non-closed conversation in Simple mode. An existing assignee was preserved. If no assignee existed, a supplied assignee could be applied; otherwise an AI-handled, unassigned conversation was made eligible for an asynchronous Assistant turn. The optional warnings array reports a failed best-effort custom-field update without changing this successful intake result.

