From 84a531f7a118a5b55f6eb3687f454fdc87f00ec1 Mon Sep 17 00:00:00 2001 From: Haitham Alathamneh Date: Tue, 14 Apr 2026 12:12:21 +0100 Subject: [PATCH 1/3] Add sales_agent schema to conversation in Preview spec Adds sales_agent_participated boolean and sales_agent object to both conversation and conversation_list_item schemas. The sales_agent object includes outcome, routing_outcome_identifier, routing_outcome_title, collected_data, source_type, and source_title. Companion to intercom/intercom#495798 Co-Authored-By: Claude Opus 4.6 (1M context) --- descriptions/0/api.intercom.io.yaml | 68 +++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 7ef512d..fdbfbcf 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -18683,6 +18683,60 @@ components: nullable: true content_sources: "$ref": "#/components/schemas/content_sources_list" + sales_agent: + title: Sales Agent + type: object + x-tags: + - Sales Agent + description: Data related to Sales Agent involvement in the conversation. + properties: + outcome: + type: string + nullable: true + description: The fixed outcome of the sales agent interaction, used for + billing and tracking. + enum: + - qualified + - disqualified + - product_discovery + - escalated_to_support + - spam + example: qualified + routing_outcome_identifier: + type: string + nullable: true + description: The identifier of the user-defined routing outcome selected + by the sales agent. + example: sales + routing_outcome_title: + type: string + nullable: true + description: The human-readable title of the user-defined routing outcome. + example: Sales Qualified Lead + collected_data: + type: object + description: A key-value map of data collected by the sales agent during + the conversation. Keys are attribute identifiers, values are the collected + values. + additionalProperties: true + example: + email: user@example.com + custom_data.fin_sdr_phone: "+1234567890" + source_type: + type: string + nullable: true + description: The type of the source that triggered Sales Agent involvement + in the conversation. + enum: + - workflow + - workflow_preview + example: workflow + source_title: + type: string + nullable: true + description: The title of the workflow that triggered Sales Agent involvement + in the conversation. + example: Sales Qualification Workflow ai_subtopic: title: AI Subtopic type: object @@ -21046,6 +21100,13 @@ components: ai_agent: "$ref": "#/components/schemas/ai_agent" nullable: true + sales_agent_participated: + type: boolean + description: Indicates whether the Sales Agent participated in the conversation. + example: false + sales_agent: + "$ref": "#/components/schemas/sales_agent" + nullable: true conversation: title: Conversation type: object @@ -21164,6 +21225,13 @@ components: ai_agent: "$ref": "#/components/schemas/ai_agent" nullable: true + sales_agent_participated: + type: boolean + description: Indicates whether the Sales Agent participated in the conversation. + example: false + sales_agent: + "$ref": "#/components/schemas/sales_agent" + nullable: true conversation_attachment_files: title: Conversation attachment files type: object From 41ec0fdb25025ca2f1b1c137ffe1e37a9631102b Mon Sep 17 00:00:00 2001 From: Haitham Alathamneh Date: Tue, 14 Apr 2026 14:34:11 +0100 Subject: [PATCH 2/3] Remove collected_data and source fields from sales_agent schema Simplified to outcome + routing outcome fields only. Co-Authored-By: Claude Opus 4.6 (1M context) --- descriptions/0/api.intercom.io.yaml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index fdbfbcf..614acca 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -18713,30 +18713,6 @@ components: nullable: true description: The human-readable title of the user-defined routing outcome. example: Sales Qualified Lead - collected_data: - type: object - description: A key-value map of data collected by the sales agent during - the conversation. Keys are attribute identifiers, values are the collected - values. - additionalProperties: true - example: - email: user@example.com - custom_data.fin_sdr_phone: "+1234567890" - source_type: - type: string - nullable: true - description: The type of the source that triggered Sales Agent involvement - in the conversation. - enum: - - workflow - - workflow_preview - example: workflow - source_title: - type: string - nullable: true - description: The title of the workflow that triggered Sales Agent involvement - in the conversation. - example: Sales Qualification Workflow ai_subtopic: title: AI Subtopic type: object From abaed1e8f36ba384142613249ce40accbe1ff784 Mon Sep 17 00:00:00 2001 From: Haitham Alathamneh Date: Wed, 15 Apr 2026 11:06:00 +0100 Subject: [PATCH 3/3] Update sales_agent schema: add collected_data, rename routing_outcome - Rename `routing_outcome_identifier` to `routing_outcome` - Remove `routing_outcome_title` - Add `collected_data` as object with additionalProperties Companion to intercom/intercom#495798 Co-Authored-By: Claude Opus 4.6 (1M context) --- descriptions/0/api.intercom.io.yaml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 614acca..1a55255 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -18702,17 +18702,22 @@ components: - escalated_to_support - spam example: qualified - routing_outcome_identifier: + routing_outcome: type: string nullable: true description: The identifier of the user-defined routing outcome selected by the sales agent. - example: sales - routing_outcome_title: - type: string + example: enterprise_sales + collected_data: + type: object nullable: true - description: The human-readable title of the user-defined routing outcome. - example: Sales Qualified Lead + description: A flat key-value map of memory fields collected by the sales + agent during the conversation. + additionalProperties: + type: string + example: + email: user@example.com + company.name: Acme Inc ai_subtopic: title: AI Subtopic type: object