- Reply to a ticket
You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
Payload of the request to reply on behalf of a contact using their intercom_user_id
The text body of the comment. Required unless the reply includes attachments. Always required when replying to a ticket.
The time the reply was created. If not provided, the current time will be used.
A list of image URLs that will be added as attachments. You can include up to 10 URLs.
The quick reply selection the contact wishes to respond with. These map to buttons displayed in the Messenger UI if sent by a bot, or the reply options sent by an Admin via the API.
- The production API serverhttps://api.intercom.io/tickets/{id}/reply
- The european API serverhttps://api.eu.intercom.io/tickets/{id}/reply
- The australian API serverhttps://api.au.intercom.io/tickets/{id}/reply
- Contact Reply on ticket
- Admin Reply on ticket
- User reply
- Admin note reply
- Admin note reply with cross-post to linked conversations
- Admin quick_reply reply
- Not found
curl -i -X POST \
https://api.intercom.io/tickets/123/reply \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Preview' \
-d '{
"message_type": "comment",
"type": "user",
"intercom_user_id": "6762f2971bb69f9f2193bc49",
"body": "Thanks again :)"
}'Admin Reply to send Quick Reply Options
The app package code if this part was created via API. Note this field won't show if the part was not created via API.
A map of the reply text keyed by locale code, with values in the same format as body (HTML by default). Backs the ticket.admin.replied.translated webhook topic. The special original key holds the source locale code of the reply when it is known; every other key is a locale code whose value is the reply text translated into that locale. The translations field does not modify body. Available from API version 2.16. Can be null or omitted, and always is on parts from a contact. The translations are rendered on every request while body can come from a cached copy, so the two can briefly differ. 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>, <div>, or another supported block element to avoid this.
{ "original": "en", "en": "<p>Hello</p>", "fr": "<p>Bonjour</p>" }
- Admin reply
- Admin note reply
- Admin quick_reply reply
{ "type": "ticket_part", "id": "155", "part_type": "comment", "body": "<p>Thanks for reaching out, we're looking into it!</p>", "created_at": 1734537880, "updated_at": 1734537880, "author": { "id": "991267940", "type": "admin", "name": "Ciaran418 Lee", "email": "admin418@email.com" }, "attachments": [], "redacted": false, "app_package_code": "test-integration", "translations": { "original": "en", "en": "<p>Thanks for reaching out, we're looking into it!</p>", "fr": "<p>Merci de nous avoir contactés, nous nous en occupons !</p>" } }