Skip to content

Commit 3538c69

Browse files
VarshSureshclaude
andcommitted
Add email history to conversation source (Unstable spec)
Implements four schema changes to support email history in conversation sources: 1. Add `include_email_history` query parameter to GET /conversations/{id} 2. Add response example showing email conversation with history metadata 3. Add `email_message_metadata` field to conversation_source schema 4. Add new `source_email_message_metadata` schema with history field This enables API clients to retrieve quoted/forwarded email threads when fetching conversation details with `?include_email_history=true`. Aligns with intercom/developer-docs#795 and intercom/intercom#467590. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
1 parent 33aa1ec commit 3538c69

File tree

1 file changed

+210
-0
lines changed

1 file changed

+210
-0
lines changed

descriptions/0/api.intercom.io.yaml

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6799,6 +6799,13 @@ paths:
67996799
example: true
68006800
schema:
68016801
type: boolean
6802+
- name: include_email_history
6803+
in: query
6804+
required: false
6805+
description: If set to true, the source of the conversation will include the email history.
6806+
example: true
6807+
schema:
6808+
type: boolean
68026809
tags:
68036810
- Conversations
68046811
operationId: retrieveConversation
@@ -6982,6 +6989,183 @@ paths:
69826989
result: success
69836990
app_package_code: null
69846991
total_count: 4
6992+
email conversation with history found:
6993+
value:
6994+
type: conversation
6995+
id: '504'
6996+
created_at: 1774370019
6997+
updated_at: 1774370019
6998+
waiting_since: 1774370020
6999+
snoozed_until: null
7000+
source:
7001+
type: email
7002+
id: '403918334'
7003+
delivered_as: customer_initiated
7004+
subject: '<p>Re: Bug query</p>'
7005+
body: '<p>This is the message body</p>'
7006+
recipients:
7007+
- type: to
7008+
email: testing-workspace@email.com
7009+
author:
7010+
type: lead
7011+
id: '991267645'
7012+
name: Ciaran176 Lee
7013+
email: admin176@email.com
7014+
attachments: []
7015+
url: null
7016+
redacted: false
7017+
email_message_metadata:
7018+
message_id: 'abc-123@mail.example.com'
7019+
subject: 'Re: Bug query'
7020+
email_address_headers:
7021+
- type: from
7022+
name: User Name
7023+
email_address: user@example.com
7024+
- type: to
7025+
name: Another Name
7026+
email_address: anotheruser@example.com
7027+
history: '<div><span>On Jan 28, wrote:</span><blockquote>Previous thread</blockquote></div>'
7028+
contacts:
7029+
type: contact.list
7030+
contacts:
7031+
- type: contact
7032+
id: 6762f1261bb69f9f2193bba7
7033+
external_id: '70'
7034+
first_contact_reply:
7035+
admin_assignee_id:
7036+
team_assignee_id:
7037+
open: false
7038+
state: closed
7039+
read: false
7040+
tags:
7041+
type: tag.list
7042+
tags:
7043+
- type: tag
7044+
id: '123456'
7045+
name: Test tag
7046+
applied_at: 1663597223
7047+
applied_by:
7048+
type: contact
7049+
id: '1a2b3c'
7050+
priority: not_priority
7051+
sla_applied:
7052+
statistics:
7053+
conversation_rating:
7054+
teammates:
7055+
title:
7056+
custom_attributes: {}
7057+
topics: {}
7058+
ticket:
7059+
linked_objects:
7060+
type: list
7061+
data: []
7062+
total_count: 0
7063+
has_more: false
7064+
ai_topics:
7065+
ai_agent:
7066+
ai_agent_participated: false
7067+
conversation_parts:
7068+
type: conversation_part.list
7069+
conversation_parts:
7070+
- type: conversation_part
7071+
id: 1
7072+
part_type: comment
7073+
body: <p>Okay!</p>
7074+
created_at: 1663597223
7075+
updated_at: 1663597260
7076+
notified_at: 1663597260
7077+
assigned_to:
7078+
type: contact
7079+
id: '1a2b3c'
7080+
author:
7081+
type: admin
7082+
id: '274'
7083+
name: Operator
7084+
email: operator+abcd1234@intercom.io
7085+
attachments: []
7086+
external_id: 'abcd1234'
7087+
redacted: false
7088+
email_message_metadata: null
7089+
state: open
7090+
tags:
7091+
- type: tag
7092+
id: '123456'
7093+
name: Test tag
7094+
event_details:
7095+
app_package_code: null
7096+
- type: conversation_part
7097+
id: 2
7098+
part_type: custom_action_started
7099+
body:
7100+
created_at: 1740141842
7101+
updated_at: 1740141842
7102+
notified_at: 1740141842
7103+
assigned_to:
7104+
author:
7105+
type: admin
7106+
id: '274'
7107+
name: Jamie Oliver
7108+
email: jamie+abcd1234@intercom.io
7109+
attachments: []
7110+
external_id:
7111+
redacted: false
7112+
email_message_metadata: null
7113+
state: open
7114+
tags: []
7115+
event_details:
7116+
action:
7117+
name: Jira Create Issue
7118+
app_package_code: test-integration
7119+
- type: conversation_part
7120+
id: 3
7121+
part_type: conversation_attribute_updated_by_admin
7122+
body:
7123+
created_at: 1740141851
7124+
updated_at: 1740141851
7125+
notified_at: 1740141851
7126+
assigned_to:
7127+
author:
7128+
type: bot
7129+
id: '278'
7130+
name: Fin
7131+
email: operator+abcd1234@intercom.io
7132+
attachments: []
7133+
external_id:
7134+
redacted: false
7135+
email_message_metadata: null
7136+
state: open
7137+
tags: []
7138+
event_details:
7139+
attribute:
7140+
name: jira_issue_key
7141+
value:
7142+
name: PROJ-007
7143+
app_package_code: null
7144+
- type: conversation_part
7145+
id: 4
7146+
part_type: custom_action_finished
7147+
body:
7148+
created_at: 1740141857
7149+
updated_at: 1740141857
7150+
notified_at: 1740141857
7151+
assigned_to:
7152+
author:
7153+
type: admin
7154+
id: '274'
7155+
name: Jamie Oliver
7156+
email: jamie+abcd1234@intercom.io
7157+
attachments: []
7158+
external_id:
7159+
redacted: false
7160+
email_message_metadata: null
7161+
state: closed
7162+
tags: []
7163+
event_details:
7164+
action:
7165+
name: Jira Create Issue
7166+
result: success
7167+
app_package_code: null
7168+
total_count: 4
69857169
schema:
69867170
"$ref": "#/components/schemas/conversation"
69877171
'404':
@@ -20544,6 +20728,8 @@ components:
2054420728
description: Whether or not the source message has been redacted. Only applicable
2054520729
for contact initiated messages.
2054620730
example: false
20731+
email_message_metadata:
20732+
"$ref": "#/components/schemas/source_email_message_metadata"
2054720733
conversation_statistics:
2054820734
title: Conversation statistics
2054920735
type: object
@@ -23100,6 +23286,30 @@ components:
2310023286
nullable: true
2310123287
description: The unique identifier for the email message as specified in the Message-ID header
2310223288
example: "<CADKw7xrXzqSn8v3mP8K8Q8yZ6K8Q8yZ6@mail.gmail.com>"
23289+
source_email_message_metadata:
23290+
title: Email Message Metadata
23291+
type: object
23292+
description: Contains metadata if the message was sent as an email
23293+
properties:
23294+
message_id:
23295+
type: string
23296+
nullable: true
23297+
description: The unique identifier for the email message as specified in the Message-ID header
23298+
example: "<CADKw7xrXzqSn8v3mP8K8Q8yZ6K8Q8yZ6@mail.gmail.com>"
23299+
subject:
23300+
type: string
23301+
description: The subject of the email
23302+
example: Question about my order
23303+
email_address_headers:
23304+
title: Email Address Headers
23305+
type: array
23306+
description: A list of an email address headers.
23307+
items:
23308+
"$ref": "#/components/schemas/email_address_header"
23309+
history:
23310+
type: string
23311+
description: The HTML content of any quoted or forwarded email history from the initial inbound message
23312+
example: '<div><span>On Jan 28, wrote:</span><blockquote>Previous thread</blockquote></div>'
2310323313
metadata:
2310423314
"$ref": "#/components/schemas/conversation_part_metadata"
2310523315
conversation_attribute_updated_by_workflow:

0 commit comments

Comments
 (0)