You can update properties of a conversation part. Currently supports updating the send state of an external reply or marking a part as seen by an admin.
This is an experimental endpoint. It requires a valid HMAC secret for authentication in addition to the standard bearer token.
Intercom API version.
By default, it's equal to the version set in the app package.
An informational message about the send state update.
- The production API serverhttps://api.intercom.io/conversations/{conversation_id}/conversation_parts/{id}
- The european API serverhttps://api.eu.intercom.io/conversations/{conversation_id}/conversation_parts/{id}
- The australian API serverhttps://api.au.intercom.io/conversations/{conversation_id}/conversation_parts/{id}
- Update send state
- Mark part as seen
curl -i -X PUT \
https://api.intercom.io/conversations/123/conversation_parts/456 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Preview' \
-d '{
"send_state": "sent",
"info_message": "Message delivered successfully",
"experimental": true,
"secret": "hmac_secret_value"
}'Conversation part updated
The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured.
The time the user was notified with the conversation part.
The assignee this conversation_part assigned the conversation to, as a reference whose type is admin, team or bot. When the part unassigned the conversation, type is nobody_admin and id is null. Null when the part did not change the assignment, or when the assignee has since been deleted.
The id of the teammate that this conversation_part assigned the conversation to, or 0 if the part removed the teammate. Null or absent when the part did not change the teammate, including an unassignment that did not name which assignee it cleared. A bot is reported here, because assignment treats anything that is not a team as a teammate.
The id of the team that this conversation_part assigned the conversation to, or 0 if the part removed the team. Null or absent when the part did not change the team, including an unassignment that did not name which assignee it cleared. A part can assign a team and a teammate at the same time, for example when the team uses Round Robin distribution and the teammate is resolved inline. In that case assigned_to reports only the teammate, and these two fields report each assignee separately.
Contains metadata if the message was sent as an email
Metadata for a conversation part
Indicates the current state of conversation when the conversation part was created.
Contains details about the workflow that was triggered and any Custom Data Attributes (CDAs) that were modified during the workflow execution for conversation part type conversation_attribute_updated_by_workflow.
The app package code if this part was created via API. null if the part was not created via API.
A map of the reply text keyed by locale code, with values in the same HTML format as body. Only present on the Preview API version and backs the conversation.admin.replied.translated webhook topic. The special original key holds the source locale code of the reply; every other key is a locale code whose value is the reply text translated into that locale. The translations field does not modify body; body carries the reply as authored. Available in the Preview API version only (set Intercom-Version: Preview). This webhook topic is not sent for every translated reply: it is suppressed when the reply's body contains any text outside an HTML block element, which includes plain-text replies created through the REST API. Wrap the body in <p> or another supported block element to avoid this; <div> is removed when the reply is saved, which leaves its text bare and still suppresses the topic.
{ "original": "en", "en": "<p>Hello</p>", "fr": "<p>Bonjour</p>" }
- Part type - conversation_attribute_updated_by_workflow
- Part type - conversation_attribute_updated_by_admin
- Part type - conversation_attribute_updated_by_user
- Part type - custom_action_started
- Part type - custom_action_finished
- Part type - operator_workflow_event
- Part type - conversation_tags_updated
- Part type - snoozed
- Part type - priority_changed
- Part type - conversation_sla_applied_by_rule
- Part type - conversation_sla_applied_by_workflow
- Part type - conversation_sla_target_missed
- Part type - conversation_sla_paused
- Part type - conversation_sla_unpaused
- Part type - conversation_sla_removed
- Part type - call_summary
- Update send state
- Mark part as seen
{ "type": "conversation_part", "id": "456", "part_type": "comment", "body": "<p>Hello there!</p>", "created_at": 1734537559, "updated_at": 1734537561, "notified_at": 1734537559, "assigned_to": null, "author": { "id": "991267694", "type": "admin", "name": "Ciaran Lee", "email": "admin@email.com" }, "attachments": [], "external_id": null, "external_reply_send_state": "sent", "translations": { "original": "en", "en": "<p>Hello there!</p>", "es": "<p>¡Hola!</p>" } }