{"templateId":"markdown","versions":[{"version":"1.0","label":"v1.0","link":"/docs/references/1.0/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"1.1","label":"v1.1","link":"/docs/references/1.1/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"1.2","label":"v1.2","link":"/docs/references/1.2/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"1.3","label":"v1.3","link":"/docs/references/1.3/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"1.4","label":"v1.4","link":"/docs/references/1.4/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.0","label":"v2.0","link":"/docs/references/2.0/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.1","label":"v2.1","link":"/docs/references/2.1/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.2","label":"v2.2","link":"/docs/references/2.2/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.3","label":"v2.3","link":"/docs/references/2.3/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.4","label":"v2.4","link":"/docs/references/2.4/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.5","label":"v2.5","link":"/docs/references/2.5/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.6","label":"v2.6","link":"/docs/references/2.6/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.7","label":"v2.7","link":"/docs/references/2.7/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.8","label":"v2.8","link":"/docs/references/2.8/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.9","label":"v2.9","link":"/docs/references/2.9/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.10","label":"v2.10","link":"/docs/references/2.10/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.11","label":"v2.11","link":"/docs/references/2.11/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.12","label":"v2.12","link":"/docs/references/2.12/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.13","label":"v2.13","link":"/docs/references/2.13/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.14","label":"v2.14","link":"/docs/references/2.14/changelog","default":false,"active":false,"folderId":"a015c489"},{"version":"2.15","label":"v2.15","link":"/docs/references/2.15/changelog","default":false,"active":true,"folderId":"a015c489"},{"version":"2.16","label":"v2.16","link":"/docs/references/changelog","default":true,"active":false,"folderId":"a015c489"},{"version":"Preview","label":"Preview","link":"/docs/references/preview/changelog","default":false,"active":false,"folderId":"a015c489"}],"sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Changelog (2.15)","projectTitle":"Intercom and Fin Developer Platform","description":"Faster resolutions, higher CSAT, and lighter support volumes with the only platform to combine the power of automation and human customer support.","siteUrl":"https://developers.intercom.com","image":"/assets/og-image.9c9ef3a6cedbceee0e1d52fae2ffcce97f5a189639cf24e473331da9ad02c5f8.b1bff462.png","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"changelog-215","__idx":0},"children":["Changelog (2.15)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For changes that have been updated across all versions, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/build-an-integration/learn-more/rest-apis/unversioned-changes"},"children":["Unversioned changes"]}," page."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There are ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/build-an-integration/learn-more/rest-apis/api-changelog#about-breaking-changes-in-the-intercom-api"},"children":["breaking changes"]}," in this version, which are detailed below."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"content-import-sources-audience-targeting","__idx":1},"children":["Content Import Sources: Audience targeting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Content Import Sources now support audience targeting. You can associate audiences with a content import source so that imported content is scoped to specific user segments."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New fields:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["audience_ids"]}," (array of integers, nullable) — on create, update, and response payloads. Identifies the audiences associated with the content import source. Set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," or an empty array to remove all audiences."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apply_audience_to_existing_content"]}," (boolean, default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},") — on update requests only. When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", the audience is applied to all existing external pages belonging to the content import source."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Affected endpoints:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /ai/content_import_sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT /ai/content_import_sources/{id}"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /ai/content_import_sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /ai/content_import_sources/{id}"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"list-handling-events-api","__idx":2},"children":["List Handling Events API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/listhandlingevents"},"children":["List handling events"]}," endpoint is now stable. It returns the pause/resume events for a conversation, tracking when teammates paused or resumed handling it. Previously available only in the Preview version, it requires the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read_conversations"]}," OAuth scope."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"activity-log-hide_csat_from_agents_setting_change-event-type-added","__idx":3},"children":["Activity Log: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hide_csat_from_agents_setting_change"]}," event type added"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hide_csat_from_agents_setting_change"]}," event type has been added to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.intercom.com/docs/references/rest-api/api.intercom.io/admins/listactivitylogs"},"children":["Activity Log"]}," event types enum. This event is recorded when a workspace admin enables or disables the \"Hide CSAT scores from agents\" setting."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"skip-notifications-when-replying-to-a-conversation","__idx":4},"children":["Skip notifications when replying to a Conversation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can now use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["skip_notifications"]}," parameter when replying to conversations. When set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", this prevents all notifications from being sent for that reply, including:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Real-time Messenger updates"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Push notifications (mobile)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Email notifications"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Browser push notifications"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The reply will still be stored in the database and visible when users refresh or open the conversation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is useful for scenarios like bulk-importing conversation history where you don't want to trigger notifications."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This flag is available on the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/replyconversation"},"children":["reply to a conversation"]}," endpoint."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"breaking-changes","__idx":5},"children":["Breaking Changes"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-ticketresolved-webhook-topic","__idx":6},"children":["New ticket.resolved Webhook Topic"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We've added a new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.resolved"]}," webhook topic that fires when a ticket's state transitions to resolved."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Breaking Change Details:"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.resolved"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.closed"]}," webhook topics now have distinct behaviors:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ticket.resolved"]}," - Fires when a ticket's state transitions to \"resolved\". This is a state-based event."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ticket.closed"]}," - Fires when a ticket conversation is closed. This is separate from state transitions."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Versioning:"]}," In API versions prior to 2.15, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.closed"]}," webhook fired when tickets transitioned to \"resolved\" state. For backward compatibility, both webhooks may fire in certain scenarios when using older API versions. When using API version 2.15 or later, these webhooks have distinct behaviors as described above."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you have existing integrations that rely on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.closed"]}," to detect resolved tickets, you should migrate to using the new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ticket.resolved"]}," topic."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rename-of-abandoned-resolution_state-to-negative_feedback","__idx":7},"children":["Rename of \"Abandoned\" resolution_state to \"negative_feedback\""]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The AI Agent ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resolution_state"]}," enum value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["abandoned"]}," has been renamed to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["negative_feedback"]}," for improved clarity. This represents the state when a user leaves negative feedback to the AI Agent."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Previous value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["abandoned"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["negative_feedback"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rename-of-routed_to_team-resolution_state-to-escalated","__idx":8},"children":["Rename of \"routed_to_team\" resolution_state to \"escalated\""]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The AI Agent ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resolution_state"]}," enum value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["routed_to_team"]}," has been renamed to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["escalated"]}," for improved clarity."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Previous value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["routed_to_team"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["escalated"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-ai-agent-resolution_state-value-procedure_handoff","__idx":9},"children":["New AI Agent resolution_state value: \"procedure_handoff\""]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The AI Agent ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resolution_state"]}," enum now includes a new value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["procedure_handoff"]},". This represents conversations where the Fin AI Agent used a procedure configured to escalate the conversation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["procedure_handoff"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"conversation-webhook-serialization-alignment","__idx":10},"children":["Conversation Webhook Serialization Alignment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Conversation webhook payloads now use the same serialization format as API responses."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Statistics date fields now return Unix timestamps:"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following fields in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_statistics"]}," within webhook payloads now return Unix timestamp integers instead of ISO8601 strings:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_contact_reply_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_assignment_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_admin_reply_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_close_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_assignment_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_assignment_admin_reply_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_contact_reply_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_admin_reply_at"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_close_at"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Body and subject fields now return plain text:"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["body"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["subject"]}," fields in conversation webhook payloads now return plain text instead of HTML, matching the default API response format."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"conversation-parts-enhanced-event_details-schemas","__idx":11},"children":["Conversation Parts: Enhanced event_details schemas"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["event_details"]}," field on conversation parts now supports additional part types:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New Part Types:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_tags_updated"]}," - Tags added/removed from conversations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["snoozed"]}," - Snooze timing with human-readable duration and custom timestamps"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["priority_changed"]}," - Priority state transitions (priority/not_priority)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_applied_by_rule"]}," - SLA via modern Operator workflows"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_applied_by_workflow"]}," - SLA via legacy Inbox Rules"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_target_missed"]}," - SLA breach details"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_paused"]}," - SLA status at pause time"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_unpaused"]}," - SLA info when unpaused"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_sla_removed"]}," - SLA removal info"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_attribute_updated_by_user"]}," - User-initiated CDA updates"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enhanced Part Types:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_attribute_updated_by_admin"]}," - Now includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["previous"]}," field to track CDA value history"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"new-features","__idx":12},"children":["New Features"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-webhook-topics","__idx":13},"children":["New Webhook Topics"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["conversation.company.updated"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fires when a company is added to or updated on a conversation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Requires the \"Read conversations\" permission"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Event Details:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Topic Name:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation.company.updated"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description:"]}," Triggered when a company association is updated on a conversation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Scope:"]}," Read conversations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Object:"]}," Returns the full Conversation object with updated company association"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["api.request.completed"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fires when a successful v3 API request is completed"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Requires the \"Read API activity logs\" permission"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Useful for monitoring and auditing API usage"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"add-company-to-conversation-api","__idx":14},"children":["Add Company to Conversation API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can now add a company to a conversation using the Conversations API. This allows you to associate business context with customer conversations."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"company-field-added-to-conversation-api-responses","__idx":15},"children":["Company field added to Conversation API responses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Conversation API now includes a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["company"]}," field in all conversation responses. This field contains the full company object associated with the conversation, making it easier to access company information without additional API calls. This field is nullable and will be populated when available."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example Response:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"type\": \"conversation\",\n  \"id\": \"1295\",\n  \"company\": {\n    \"type\": \"company\",\n    \"id\": \"5f4d3c1c-7b1b-4d7d-a97e-6095715c6632\",\n    \"name\": \"Example Company Inc.\",\n    \"company_id\": \"6\"\n  },\n  // ... other conversation fields\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"company-notes-api","__idx":16},"children":["Company Notes API"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notes"]}," field to all company API endpoint responses"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"contacts-api-language_override-field","__idx":17},"children":["Contacts API: language_override field"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Support for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["language_override"]}," field has been added to both the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/createcontact"},"children":["create contact"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/updatecontact"},"children":["update contact"]}," endpoints in the Contacts API."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["language_override"]}," field allows you to set a preferred language for a contact. When set, Intercom uses this language for Fin AI and the Messenger interface, overriding the browser's language setting."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Field details:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Accepts ISO 639-1 two-letter language codes (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"fr\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"de\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"es\""]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Invalid language codes are automatically set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"conversations-api-conversation_rating-behavior","__idx":18},"children":["Conversations API: conversation_rating behavior"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["conversation_rating"]}," field in conversation responses now returns the latest completed rating (a rating with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rating_index"]}," value) instead of the latest rating overall. If no completed ratings exist for a conversation, the API falls back to returning the latest rating overall."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fin-voice-api","__idx":19},"children":["Fin Voice API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["New API endpoints for managing Fin Voice configurations and interactions."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"workflow-export-api","__idx":20},"children":["Workflow Export API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["New API endpoints for exporting workflow configurations programmatically."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"message-id-in-email-message-metadata","__idx":21},"children":["Message ID in Email Message Metadata"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Email message metadata now includes a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message_id"]}," field for better tracking and correlation of email communications."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"brands-api","__idx":22},"children":["Brands API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We've added a new Brands API that provides read access to workspace brands configuration."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New Endpoints:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /brands"]}," - List all brands for the workspace"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /brands/{id}"]}," - Retrieve a specific brand by ID"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The brand object includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_default"]}," flag to identify the primary brand, associated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["help_center_id"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["default_address_settings_id"]}," for email settings."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"emails-api","__idx":23},"children":["Emails API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We've added a new Emails API that provides read access to sender email address settings configured in your workspace."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New Endpoints:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /emails"]}," - List all email settings for the workspace"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /emails/{id}"]}," - Retrieve a specific email setting by ID"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The email setting object includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verified"]}," status, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["domain"]},", associated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["brand_id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["forwarding_enabled"]}," flag, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["forwarded_email_last_received_at"]}," timestamp."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"help-center-api-enhancements","__idx":24},"children":["Help Center API Enhancements"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Help Center API responses now include two new fields for custom domain support:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["url"]}," - The URL for the help center, if you have a custom domain then this will show the URL using the custom domain. (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://intercom.help/mycompany"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custom_domain"]}," - Custom domain configured for the help center (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["help.mycompany.com"]},")"]}]}]},"headings":[{"value":"Changelog (2.15)","id":"changelog-215","depth":1},{"value":"Content Import Sources: Audience targeting","id":"content-import-sources-audience-targeting","depth":2},{"value":"List Handling Events API","id":"list-handling-events-api","depth":2},{"value":"Activity Log: hide_csat_from_agents_setting_change event type added","id":"activity-log-hide_csat_from_agents_setting_change-event-type-added","depth":2},{"value":"Skip notifications when replying to a Conversation","id":"skip-notifications-when-replying-to-a-conversation","depth":2},{"value":"Breaking Changes","id":"breaking-changes","depth":2},{"value":"New ticket.resolved Webhook Topic","id":"new-ticketresolved-webhook-topic","depth":3},{"value":"Rename of \"Abandoned\" resolution_state to \"negative_feedback\"","id":"rename-of-abandoned-resolution_state-to-negative_feedback","depth":3},{"value":"Rename of \"routed_to_team\" resolution_state to \"escalated\"","id":"rename-of-routed_to_team-resolution_state-to-escalated","depth":3},{"value":"New AI Agent resolution_state value: \"procedure_handoff\"","id":"new-ai-agent-resolution_state-value-procedure_handoff","depth":3},{"value":"Conversation Webhook Serialization Alignment","id":"conversation-webhook-serialization-alignment","depth":3},{"value":"Conversation Parts: Enhanced event_details schemas","id":"conversation-parts-enhanced-event_details-schemas","depth":3},{"value":"New Features","id":"new-features","depth":2},{"value":"New Webhook Topics","id":"new-webhook-topics","depth":3},{"value":"Add Company to Conversation API","id":"add-company-to-conversation-api","depth":3},{"value":"Company field added to Conversation API responses","id":"company-field-added-to-conversation-api-responses","depth":3},{"value":"Company Notes API","id":"company-notes-api","depth":3},{"value":"Contacts API: language_override field","id":"contacts-api-language_override-field","depth":3},{"value":"Conversations API: conversation_rating behavior","id":"conversations-api-conversation_rating-behavior","depth":3},{"value":"Fin Voice API","id":"fin-voice-api","depth":3},{"value":"Workflow Export API","id":"workflow-export-api","depth":3},{"value":"Message ID in Email Message Metadata","id":"message-id-in-email-message-metadata","depth":3},{"value":"Brands API","id":"brands-api","depth":3},{"value":"Emails API","id":"emails-api","depth":3},{"value":"Help Center API Enhancements","id":"help-center-api-enhancements","depth":3}],"frontmatter":{"seo":{"title":"Changelog (2.15)"}},"lastModified":"2026-06-25T15:02:49.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/references/2.15/changelog","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}