The intercom API reference.
The intercom API reference.
Activities performed by Admins.
Details about the Admin involved in the activity.
String representing the object's type. Always has the value admin
.
{ "id": "6", "performed_by": { "type": "admin", "id": "1295", "email": "john@example.com", "ip": "198.51.100.255" }, "metadata": { "sign_in_method": "email_password", "external_id": "f3b87a2e09d514c6c2e79b9a", "away_mode": true, "away_status_reason": "😌 On a break", "reassign_conversations": false, "source": "admin update from web - Admin id: 93", "auto_changed": false, "update_by": 93, "update_by_name": "Joe Bloggs" }, "created_at": 1671028894, "activity_type": "app_name_change", "activity_description": "Admin updated the app's name to \"My App\"." }
A paginated list of activity logs.
String representing the object's type. Always has the value activity_log.list
.
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array of activity logs
Details about the Admin involved in the activity.
String representing the object's type. Always has the value admin
.
Additional data provided about Admin activity.
{ "type": "activity_log.list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "activity_logs": [ { … } ] }
Additional data provided about Admin activity.
The unique identifier for the contact which is provided by the Client.
The away mode status which is set to true when away and false when returned.
Indicates if conversations should be reassigned while an Admin is away.
The action that initiated the status change.
Indicates if the status was changed automatically or manually.
{ "sign_in_method": "email_password", "external_id": "f3b87a2e09d514c6c2e79b9a", "away_mode": true, "away_status_reason": "😌 On a break", "reassign_conversations": false, "source": "admin update from web - Admin id: 93", "auto_changed": false, "update_by": 93, "update_by_name": "Joe Bloggs" }
A list of admins associated with a given workspace.
String representing the object's type. Always has the value admin.list
.
A list of admins associated with a given workspace.
String representing the object's type. Always has the value admin
.
Identifies if this admin is currently set in away mode.
Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.
Identifies if this admin has a paid inbox seat to restrict/allow features that require them.
This object represents the avatar associated with the admin.
Image for the associated team or teammate
{ "type": "admin.list", "admins": [ { … } ] }
Payload of the request to reply on behalf of an admin
The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types.
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.
{ "message_type": "comment", "type": "admin", "body": "Hello there!", "admin_id": "3156780", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ], "attachment_files": [ { … } ] }
Payload of the request to reply on behalf of an admin
The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types.
The time the reply was created. If not provided, the current time will be used.
The quick reply options to display. Must be present for quick_reply message types.
{ "message_type": "comment", "type": "admin", "body": "Hello there!", "admin_id": "3156780", "created_at": 1590000000, "reply_options": [ { … } ], "attachment_urls": [ "http://example.com" ] }
Admins are the teammate accounts that have access to a workspace
String representing the object's type. Always has the value admin
.
Identifies if this admin is currently set in away mode.
Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.
Identifies if this admin has a paid inbox seat to restrict/allow features that require them.
This is a list of ids of the teams that this admin is part of.
{ "type": "admin", "id": "1295", "name": "Hoban Washburne", "email": "wash@serenity.io", "job_title": "Philosopher", "away_mode_enabled": false, "away_mode_reassign": false, "has_inbox_seat": true, "team_ids": [ 814865 ], "avatar": { "type": "avatar", "image_url": "https://example.com/avatar.png" }, "email_verified": true, "app": { "type": "app", "id_code": "xyz789", "name": "ACME", "region": "US", "timezone": "America/Los_Angeles", "created_at": 1671465577, "identity_verification": false } }
The Content of an Article.
The type of object - article_content
.
The description of the article.
Whether the article is published
or is a draft
.
The time when the article was last updated (seconds).
{ "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }
This will return a list of articles for the App.
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array of Article objects
The unique identifier for the article which is given by Intercom.
The id of the workspace which the article belongs to.
The title of the article. For multilingual articles, this will be the title of the default language's content.
The description of the article. For multilingual articles, this will be the description of the default language's content.
The body of the article in HTML. For multilingual articles, this will be the body of the default language's content.
The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace.
Whether the article is published
or is a draft
. For multilingual articles, this will be the state of the default language's content.
The time when the article was created. For multilingual articles, this will be the timestamp of creation of the default language's content in seconds.
The time when the article was last updated. For multilingual articles, this will be the timestamp of last update of the default language's content in seconds.
The URL of the article. For multilingual articles, this will be the URL of the default language's content.
The id of the article's parent collection or section. An article without this field stands alone.
The ids of the article's parent collections or sections. An article without this field stands alone.
The type of parent, which can either be a collection
or section
.
The default locale of the help center. This field is only returned for multilingual help centers.
The Translated Content of an Article. The keys are the locale codes and the values are the translated content of the article.
The type of object - article_translated_content.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 1, "data": [ { … } ] }
The statistics of an article.
The type of object - article_statistics
.
The percentage of happy reactions the article has received against other types of reaction.
The percentage of neutral reactions the article has received against other types of reaction.
{ "type": "article_statistics", "views": 10, "conversions": 0, "reactions": 10, "happy_reaction_percentage": 40, "neutral_reaction_percentage": 40, "sad_reaction_percentage": 20 }
The Translated Content of an Article. The keys are the locale codes and the values are the translated content of the article.
The type of object - article_translated_content.
{ "type": "article_translated_content", "ar": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "bg": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "bs": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "ca": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "cs": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "da": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "de": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "el": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "en": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "es": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "et": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "fi": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "fr": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "he": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "hr": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "hu": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "id": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "it": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "ja": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "ko": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "lt": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "lv": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "mn": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "nb": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "nl": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "pl": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "pt": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "ro": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "ru": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "sl": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "sr": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "sv": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "tr": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "vi": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "pt-BR": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "zh-CN": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }, "zh-TW": { "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" } }
Payload of the request to assign a conversation
The id
of the admin
or team
which will be assigned the conversation. A conversation can be assigned both an admin and a team.\nSet 0
if you want this assign to no admin or team (ie. Unassigned).
{ "message_type": "assignment", "type": "admin", "admin_id": "12345", "assignee_id": "4324241", "body": "Let me pass you over to one of my colleagues." }
This will return a list of Collections for the App.
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array of collection objects
The unique identifier for the collection which is given by Intercom.
The id of the workspace which the collection belongs to.
The name of the collection. For multilingual collections, this will be the name of the default language's content.
The description of the collection. For multilingual help centers, this will be the description of the collection for the default language.
The time when the article was created (seconds). For multilingual articles, this will be the timestamp of creation of the default language's content.
The time when the article was last updated (seconds). For multilingual articles, this will be the timestamp of last update of the default language's content.
The URL of the collection. For multilingual help centers, this will be the URL of the collection for the default language.
The order of the section in relation to others sections within a collection. Values go from 0
upwards. 0
is the default if there's no order.
The default locale of the help center. This field is only returned for multilingual help centers.
The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group.
The id of the parent collection. If null
then it is the first level collection.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 1, "data": [ { … } ] }
A list of Contact Objects
An array containing Contact Objects
The unique identifier for the contact which is given by Intercom.
The unique identifier for the contact which is provided by the Client.
The id of the workspace which the contact belongs to.
The contacts phone number normalized to the E164 format
The id of an admin that has been assigned account ownership of the contact.
Whether the contact has had an email sent to them hard bounce.
Whether the contact has marked an email sent to them as spam.
Whether the contact is unsubscribed from emails.
(UNIX timestamp) The time when the contact was created.
(UNIX timestamp) The time when the contact was last updated.
(UNIX timestamp) The time specified for when a contact signed up.
(UNIX timestamp) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually).
(UNIX timestamp) The time when the contact last messaged in.
(UNIX timestamp) The time when the contact was last messaged.
(UNIX timestamp) The time when the contact last opened an email.
(UNIX timestamp) The time when the contact last clicked a link in an email.
A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change.
The name of the browser which the contact is using.
The version of the browser which the contact is using.
The language set by the browser which the contact is using.
The operating system which the contact is using.
The name of the Android app which the contact is using.
The version of the Android app which the contact is using.
The Android device which the contact is using.
The version of the Android OS which the contact is using.
The version of the Android SDK which the contact is using.
(UNIX timestamp) The time when the contact was last seen on an Android device.
The name of the iOS app which the contact is using.
The version of the iOS app which the contact is using.
The version of iOS which the contact is using.
The version of the iOS SDK which the contact is using.
(UNIX timestamp) The last time the contact used the iOS app.
An object containing tags meta data about the tags that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing notes meta data about the notes that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing companies meta data about the companies that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing location metadata about a Intercom contact.
The country that the contact is located in
The overal region that the contact is located in
An object containing social profiles that a contact has.
A list of social profiles objects associated with the contact.
value is "social_profile"
The name of the Social media profile
{ "type": "list", "data": [ { … } ], "total_count": 100, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }
This will return a list of companies for the App.
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array containing Company Objects.
The Intercom defined id representing the company.
The Intercom defined code of the workspace the company is associated to.
The time the company was created by you.
The time the company last recorded making a request.
How much revenue the company generates for your business.
The custom attributes you have set on the company.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 100, "data": [ { … } ] }
Companies allow you to represent organizations using your product. Each company will have its own description and be associated with contacts. You can fetch, create, update and list companies.
The Intercom defined id representing the company.
The Intercom defined code of the workspace the company is associated to.
The time the company was created by you.
The time the company last recorded making a request.
How much revenue the company generates for your business.
The custom attributes you have set on the company.
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
{ "type": "list", "data": [ { … } ], "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 100, "scroll_param": "25b649f7-4d33-4ef6-88f5-60e5b8244309" }
archived contact object
The unique identifier for the contact which is given by Intercom.
The unique identifier for the contact which is provided by the Client.
{ "type": "contact", "id": "5ba682d23d7cf92bef87bfd4", "external_id": "f3b87a2e09d514c6c2e79b9a", "archived": true }
A list of Company Objects
An array containing Company Objects
The Intercom defined id representing the company.
The Intercom defined code of the workspace the company is associated to.
The time the company was created by you.
The time the company was added in Intercom.
The time the company last recorded making a request.
The URL for the company website.
How much revenue the company generates for your business.
The custom attributes you have set on the company.
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
{ "type": "list", "companies": [ { … } ], "total_count": 100, "pages": { "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 } }
An object containing companies meta data about the companies that a contact has. Up to 10 will be displayed here. Use the url to get more.
Url to get more company resources for this contact
Int representing the total number of companyies attached to this contact
{ "data": [ { … } ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/companies", "total_count": 100, "has_more": true }
deleted contact object
The unique identifier for the contact which is given by Intercom.
The unique identifier for the contact which is provided by the Client.
{ "type": "contact", "id": "5ba682d23d7cf92bef87bfd4", "external_id": "f3b87a2e09d514c6c2e79b9a", "deleted": true }
Contacts are your users in Intercom.
The list of contact objects
The unique identifier for the contact which is given by Intercom.
The unique identifier for the contact which is provided by the Client.
The id of the workspace which the contact belongs to.
The contacts phone number normalized to the E164 format
The id of an admin that has been assigned account ownership of the contact.
Whether the contact has had an email sent to them hard bounce.
Whether the contact has marked an email sent to them as spam.
Whether the contact is unsubscribed from emails.
(UNIX timestamp) The time when the contact was created.
(UNIX timestamp) The time when the contact was last updated.
(UNIX timestamp) The time specified for when a contact signed up.
(UNIX timestamp) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually).
(UNIX timestamp) The time when the contact last messaged in.
(UNIX timestamp) The time when the contact was last messaged.
(UNIX timestamp) The time when the contact last opened an email.
(UNIX timestamp) The time when the contact last clicked a link in an email.
A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change.
The name of the browser which the contact is using.
The version of the browser which the contact is using.
The language set by the browser which the contact is using.
The operating system which the contact is using.
The name of the Android app which the contact is using.
The version of the Android app which the contact is using.
The Android device which the contact is using.
The version of the Android OS which the contact is using.
The version of the Android SDK which the contact is using.
(UNIX timestamp) The time when the contact was last seen on an Android device.
The name of the iOS app which the contact is using.
The version of the iOS app which the contact is using.
The version of iOS which the contact is using.
The version of the iOS SDK which the contact is using.
(UNIX timestamp) The last time the contact used the iOS app.
An object containing tags meta data about the tags that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing notes meta data about the notes that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing companies meta data about the companies that a contact has. Up to 10 will be displayed here. Use the url to get more.
An object containing location metadata about a Intercom contact.
The country that the contact is located in
The overal region that the contact is located in
An object containing social profiles that a contact has.
A list of social profiles objects associated with the contact.
value is "social_profile"
The name of the Social media profile
{ "type": "list", "data": [ { … } ], "total_count": 100, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }
An object containing notes meta data about the notes that a contact has. Up to 10 will be displayed here. Use the url to get more.
This object represents the notes attached to a contact.
Url to get more company resources for this contact
Int representing the total number of companyies attached to this contact
{ "data": [ { … } ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/notes", "total_count": 100, "has_more": true }
Payload of the request to reply on behalf of a contact using their intercom_user_id
A list of files that will be added as attachments.
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "attachment_files": [ { … } ], "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their email
A list of files that will be added as attachments.
The time the reply was created. If not provided, the current time will be used.
{ "email": "string", "attachment_files": [ { … } ], "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their intercom_user_id
A list of files that will be added as attachments.
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "attachment_files": [ { … } ], "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their email
The time the reply was created. If not provided, the current time will be used.
{ "email": "string", "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their intercom_user_id
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their intercom_user_id
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their user_id
The time the reply was created. If not provided, the current time will be used.
{ "user_id": "string", "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Payload of the request to reply on behalf of a contact using their user_id
A list of files that will be added as attachments. You can include up to 10 files.
The time the reply was created. If not provided, the current time will be used.
{ "user_id": "string", "attachment_files": [ { … } ], "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
A list of segments objects attached to a specific contact.
Segment objects associated with the contact.
The unique identifier representing the segment.
Type of the contact: contact (lead) or user.
{ "type": "list", "data": [ { … } ] }
An object containing Subscription Types meta data about the SubscriptionTypes that a contact has.
This object represents the subscriptions attached to a contact.
Url to get more subscription type resources for this contact
Int representing the total number of subscription types attached to this contact
{ "data": [ { … } ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/subscriptions", "total_count": 100, "has_more": true }
unarchived contact object
The unique identifier for the contact which is given by Intercom.
The unique identifier for the contact which is provided by the Client.
{ "type": "contact", "id": "5ba682d23d7cf92bef87bfd4", "external_id": "f3b87a2e09d514c6c2e79b9a", "archived": false }
The total number of content sources used by AI Agent in the conversation.
The content sources used by AI Agent in the conversation.
The type of the content source.
The internal URL linking to the content source for teammates.
The title of the content source.
{ "type": "content_source.list", "total_count": 1, "content_sources": [ { … } ] }
The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.
The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.
The unique identifier for the contact which is given by Intercom.
{ "type": "contact.list", "contacts": [ { … } ] }
Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact.
The list of conversation objects
The title given to the conversation.
The time the conversation was created.
The last time the conversation was updated.
The last time a Contact responded to an Admin. In other words, the time a customer started waiting for a response. Set to null if last reply is from an Admin.
If set this is the time in the future when this conversation will be marked as open. i.e. it will be in a snoozed state until this time. i.e. it will be in a snoozed state until this time.
Indicates whether a conversation is open (true) or closed (false).
Can be set to "open", "closed" or "snoozed".
If marked as priority, it will return priority or else not_priority.
The id of the admin assigned to the conversation. If it's not assigned to an admin it will return null.
The id of the team assigned to the conversation. If it's not assigned to a team it will return null.
The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation.
The type of the conversation part that started this conversation. Can be Contact, Admin, Campaign, Automated or Operator initiated.
This includes conversation, email, facebook, instagram, phone_call, phone_switch, push, sms, twitter and whatsapp.
The conversation's initiation type. Possible values are customer_initiated, campaigns_initiated (legacy campaigns), operator_initiated (Custom bot), automated (Series and other outbounds with dynamic audience message) and admin_initiated (fixed audience message, ticket initiated by an admin, group email).
Optional. The message subject. For Twitter, this will show a generic message regarding why the subject is obscured.
The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured.
The object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank.
A list of attachments for the part.
The URL where the conversation was started. For Twitter, Email, and Bots, this will be blank.
The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.
The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.
always contact
The unique identifier for the contact which is given by Intercom.
The list of teammates who participated in the conversation (wrote at least one conversation part).
The type of the object - admin.list
.
The list of teammates who participated in the conversation (wrote at least one conversation part).
An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models.
An object containing information on the first users message. For a contact initiated message this will represent the users original message.
The SLA Applied object contains the details for which SLA has been applied to this conversation. Important: if there are any canceled sla_events for the conversation - meaning an SLA has been manually removed from a conversation, the sla_status will always be returned as null.
A Statistics object containing all information required for reporting, with timestamps and calculated metrics.
A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts.
An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.
Indicates whether the AI Agent participated in the conversation.
{ "type": "conversation.list", "conversations": [ { … } ], "total_count": 12345, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }
A Conversation Part represents a message in the conversation.
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 object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank.
{ "type": "conversation_part", "id": "3", "part_type": "comment", "body": "<p>Okay!</p>", "created_at": 1663597223, "updated_at": 1663597260, "notified_at": 1663597260, "assigned_to": { "type": "contact", "id": "1a2b3c" }, "author": { "type": "admin", "id": "274", "name": "Operator", "email": "operator+abcd1234@intercom.io" }, "attachments": [ { … } ], "external_id": "abcd1234", "redacted": false }
A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts.
A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts.
Always conversation_part
The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured.
The time the conversation part was created.
The last time the conversation part was updated.
The time the user was notified with the conversation part.
The object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank.
A list of attachments for the part.
The external id of the conversation part
{ "type": "conversation_part.list", "conversation_parts": [ { … } ], "total_count": 2 }
The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation.
An optional field to add a remark to correspond to the number rating
The time the rating was requested in the conversation being rated.
reference to contact object
The unique identifier for the contact which is given by Intercom.
{ "rating": 5, "remark": "", "created_at": 1671028894, "contact": { "type": "contact", "id": "5ba682d23d7cf92bef87bfd4", "external_id": "f3b87a2e09d514c6c2e79b9a" }, "teammate": { "type": "contact", "id": "1a2b3c" } }
The type of the conversation part that started this conversation. Can be Contact, Admin, Campaign, Automated or Operator initiated.
This includes conversation, email, facebook, instagram, phone_call, phone_switch, push, sms, twitter and whatsapp.
The conversation's initiation type. Possible values are customer_initiated, campaigns_initiated (legacy campaigns), operator_initiated (Custom bot), automated (Series and other outbounds with dynamic audience message) and admin_initiated (fixed audience message, ticket initiated by an admin, group email).
Optional. The message subject. For Twitter, this will show a generic message regarding why the subject is obscured.
The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured.
The object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank.
The URL where the conversation was started. For Twitter, Email, and Bots, this will be blank.
{ "type": "conversation", "id": "3", "delivered_as": "operator_initiated", "subject": "", "body": "<p>Hey there!</p>", "author": { "type": "admin", "id": "274", "name": "Operator", "email": "operator+abcd1234@intercom.io" }, "attachments": [ { … } ], "url": null, "redacted": false }
A Statistics object containing all information required for reporting, with timestamps and calculated metrics.
Duration until last assignment before first admin reply. In seconds.
Duration until first admin reply. Subtracts out of business hours. In seconds.
Duration until conversation was closed first time. Subtracts out of business hours. In seconds.
Duration until conversation was closed last time. Subtracts out of business hours. In seconds.
Median based on all admin replies after a contact reply. Subtracts out of business hours. In seconds.
Time of first text conversation part from a contact.
Time of first assignment after first_contact_reply_at.
Time of first admin reply after first_contact_reply_at.
Time of first close after first_contact_reply_at.
Time of last assignment after first_contact_reply_at.
Time of first admin reply since most recent assignment.
Time of the last conversation part from a contact.
Time of the last conversation part from an admin.
The last admin who closed the conversation. Returns a reference to an Admin object.
{ "type": "conversation_statistics", "time_to_assignment": 2310, "time_to_admin_reply": 2310, "time_to_first_close": 2310, "time_to_last_close": 2310, "median_time_to_reply": 2310, "first_contact_reply_at": 1663597233, "first_assignment_at": 1663597233, "first_admin_reply_at": 1663597233, "first_close_at": 1663597233, "last_assignment_at": 1663597233, "last_assignment_admin_reply_at": 1663597233, "last_contact_reply_at": 1663597233, "last_admin_reply_at": 1663597233, "last_close_at": 1663597233, "last_closed_by_id": "c3po", "count_reopens": 1, "count_assignments": 1, "count_conversation_parts": 1 }
You can convert a Conversation to a Ticket
The ID of the type of ticket you want to convert the conversation to
The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are _default_title_
and _default_description_
. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by listing the ticket type. For example, if the ticket type has an attribute called priority
of type list
, the key should be priority
and the value of the attribute should be the guid of the list item (e.g. de1825a0-0164-4070-8ca6-13e22462fa7e
).
{ "ticket_type_id": "1234", "attributes": { "_default_title_": "Found a bug", "_default_description_": "The button is not working" } }
You can merge a Visitor to a Contact of role type lead or user.
The unique identifiers retained after converting or merging.
The unique identifiers retained after converting or merging.
The unique identifier for the contact which is given by Intercom.
A unique identifier for the contact which is given to Intercom, which will be represented as external_id.
The unique identifiers to convert a single Visitor.
The unique identifiers to convert a single Visitor.
The unique identifier for the contact which is given by Intercom.
A unique identifier for the contact which is given to Intercom.
{ "type": "user", "user": { "id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "user_id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "email": "winstonsmith@truth.org" }, "visitor": { "id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "user_id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "email": "winstonsmith@truth.org" } }
You can create an Article
The title of the article.For multilingual articles, this will be the title of the default language's content.
The description of the article. For multilingual articles, this will be the description of the default language's content.
The content of the article. For multilingual articles, this will be the body of the default language's content.
The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace.
Whether the article will be published
or will be a draft
. Defaults to draft. For multilingual articles, this will be the state of the default language's content.
The id of the article's parent collection or section. An article without this field stands alone.
The type of parent, which can either be a collection
or section
.
{ "title": "Thanks for everything", "description": "Description of the Article", "body": "<p>This is the body in html</p>", "author_id": 1295, "state": "draft", "parent_id": 18, "parent_type": "collection", "translated_content": { "type": "article_translated_content", "ar": { … }, "bg": { … }, "bs": { … }, "ca": { … }, "cs": { … }, "da": { … }, "de": { … }, "el": { … }, "en": { … }, "es": { … }, "et": { … }, "fi": { … }, "fr": { … }, "he": { … }, "hr": { … }, "hu": { … }, "id": { … }, "it": { … }, "ja": { … }, "ko": { … }, "lt": { … }, "lv": { … }, "mn": { … }, "nb": { … }, "nl": { … }, "pl": { … }, "pt": { … }, "ro": { … }, "ru": { … }, "sl": { … }, "sr": { … }, "sv": { … }, "tr": { … }, "vi": { … }, "pt-BR": { … }, "zh-CN": { … }, "zh-TW": { … } } }
You can create a collection
The name of the collection. For multilingual collections, this will be the name of the default language's content.
The description of the collection. For multilingual collections, this will be the description of the default language's content.
The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group.
The id of the parent collection. If null
then it will be created as the first level collection.
{ "name": "collection 51", "description": "English description", "translated_content": { "type": "group_translated_content", "ar": { … }, "bg": { … }, "bs": { … }, "ca": { … }, "cs": { … }, "da": { … }, "de": { … }, "el": { … }, "en": { … }, "es": { … }, "et": { … }, "fi": { … }, "fr": { … }, "he": { … }, "hr": { … }, "hu": { … }, "id": { … }, "it": { … }, "ja": { … }, "ko": { … }, "lt": { … }, "lv": { … }, "mn": { … }, "nb": { … }, "nl": { … }, "pl": { … }, "pt": { … }, "ro": { … }, "ru": { … }, "sl": { … }, "sr": { … }, "sv": { … }, "tr": { … }, "vi": { … }, "pt-BR": { … }, "zh-CN": { … }, "zh-TW": { … } }, "parent_id": "6871118", "help_center_id": "123" }
Payload to create a contact
Payload to create a contact
An image URL containing the avatar of a contact
The time specified for when a contact signed up
The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually)
The id of an admin that has been assigned account ownership of the contact
Whether the contact is unsubscribed from emails
{ "role": "string", "external_id": "string", "email": "jdoe@example.com", "phone": "+353871234567", "name": "John Doe", "avatar": "https://www.example.com/avatar_image.jpg", "signed_up_at": 1571672154, "last_seen_at": 1571672154, "owner_id": 123, "unsubscribed_from_emails": true, "custom_attributes": {} }
Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact.
{ "from": { "type": "user", "id": "536e564f316c83104c000020" }, "body": "Hello" }
The model that the data attribute belongs to.
The type of data stored for this attribute.
The readable description you see in the UI for the attribute.
To create list attributes. Provide a set of hashes with value
as the key of the options you want to make. data_type
must be string
.
{ "name": "My Data Attribute", "model": "contact", "data_type": "string", "description": "My Data Attribute Description", "options": [ "option1", "option2" ], "messenger_writable": false }
The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example updated-plan
.
The time the event occurred as a UTC Unix timestamp
The unique identifier for the contact (lead or user) which is given by Intercom.
An email address for your user. An email should only be used where your application uses email to uniquely identify users.
{ "event_name": "invited-friend", "created_at": 1671028894, "user_id": "314159", "id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "email": "frodo.baggins@example.com", "metadata": { "invite_code": "ADDAFRIEND" } }
You can send a list of event summaries for a user. Each event summary should contain the event name, the time the event occurred, and the number of times the event occurred. The event name should be a past tense "verb-noun" combination, to improve readability, for example updated-plan
.
{ "user_id": "314159", "event_summaries": { "event_name": "invited-friend", "count": 1, "first": 1671028894, "last": 1671028894 } }
You can create a message
You can create a message
The kind of message being created. Values: in_app
or email
.
The content of the message. HTML and plaintext are supported.
The style of the outgoing message. Possible values plain
or personal
.
The sender of the message. If not provided, the default sender will be used.
The sender of the message. If not provided, the default sender will be used.
The time the message was created. If not provided, the current time will be used.
{ "message_type": "in_app", "subject": "Thanks for everything", "body": "Hello there", "template": "plain", "from": { "type": "admin", "id": 394051 }, "to": { "type": "user", "id": "536e564f316c83104c000020" }, "created_at": 1590000000, "create_conversation_without_contact_reply": true }
You can create or update a Company
The company id you have defined for the company. Can't be updated
The URL for this company's website. Please note that the value specified here is not validated. Accepts any string.
A hash of key/value pairs containing any other data about the company you want Intercom to store.
{ "name": "Intercom", "company_id": "625e90fc55ab113b6d92175f", "plan": "Enterprise", "size": "100", "website": "https://www.example.com", "industry": "Manufacturing", "custom_attributes": { "paid_subscriber": true, "monthly_spend": 155.5, "team_mates": 9 }, "remote_created_at": 1394531169, "monthly_spend": 1000 }
Payload of the request to reply on behalf of a contact using their intercom_user_id
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
You can create a Ticket
The list of contacts (users or leads) affected by this ticket. Currently only one is allowed
The ID of the company that the ticket is associated with. The ID that you set upon company creation.
The time the ticket was created. If not provided, the current time will be used.
The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are _default_title_
and _default_description_
. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by listing the ticket type. For example, if the ticket type has an attribute called priority
of type list
, the key should be priority
and the value of the attribute should be the guid of the list item (e.g. de1825a0-0164-4070-8ca6-13e22462fa7e
).
{ "ticket_type_id": "1234", "contacts": [ { … } ], "company_id": "1234", "created_at": 1590000000, "ticket_attributes": { "_default_title_": "Found a bug", "_default_description_": "The button is not working" } }
You can create a Ticket Type Attribute
The description of the attribute presented to the teammate or contact
The data type of the attribute
Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox.
Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger.
Whether the attribute is visible to teammates when creating a ticket in Inbox.
Whether the attribute is visible to contacts when creating a ticket in Messenger.
Whether the attribute allows multiple lines of text (only applicable to string attributes)
A comma delimited list of items for the attribute value (only applicable to list attributes)
{ "name": "Bug Priority", "description": "Priority level of the bug", "data_type": "string", "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": true, "visible_to_contacts": true, "multiline": false, "list_items": "Low Priority,Medium Priority,High Priority", "allow_multiple_values": false }
The request payload for creating a ticket type. You can copy the icon
property for your ticket type from Twemoji Cheatsheet
{ "name": "Bug", "description": "Used for tracking bugs", "category": "Customer", "icon": "🐞", "is_internal": false }
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
{ "type": "pages", "page": 1, "next": { "per_page": 2, "starting_after": "your-cursor-from-response" }, "per_page": 2, "total_pages": 13 }
A list of all data attributes belonging to a workspace for contacts, companies or conversations.
A list of data attributes
The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes.
Value is contact
for user/lead attributes and company
for company attributes.
Full name of the attribute. Should match the name unless it's a nested attribute. We can split full_name on .
to access nested user object values.
Readable name of the attribute (i.e. name you see in the UI)
Readable description of the attribute.
The data type of the attribute.
List of predefined options for attribute value.
The time the attribute was created as a UTC Unix timestamp
The time the attribute was last updated as a UTC Unix timestamp
{ "type": "list", "data": [ { … } ] }
This will return a list of data events for the App.
A list of data events
The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example updated-plan
.
The time the event occurred as a UTC Unix timestamp
Your identifier for a lead or a user.
The Intercom identifier for the user.
An email address for your user. An email should only be used where your application uses email to uniquely identify users.
{ "type": "event.list", "events": [ { … } ], "pages": { "next": "https://api.intercom.io/events?per_page=2&before=1389913941064&intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user\"", "since": "https://api.intercom.io/events?intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user&since=1389913941065" } }
This will return a summary of data events for the App.
A summary of data events
The first time the event was sent
The last time the event was sent
{ "type": "event.summary", "email": "Sam.Sung@example.com", "intercom_user_id": "63a0979a5eeebeaf28dd56ba", "user_id": "62b997f288e14803c5006932", "events": [ { … } ] }
A CSV output file
The company ID of the user in relation to the message that was sent. Will return -1 if no company is present.
The specific content that was received. In an A/B test each version has its own Content ID.
As you edit content we record new versions. This ID can help you determine which version of a piece of content that was received.
ID for this receipt. Will be included with any related stats in other files to identify this specific delivery of a message.
The id of the series that this content is part of. Will return -1 if not part of a series.
The id of the series node that this ruleset is associated with. Each block in a series has a corresponding node_id.
The first time a user replied to this message if the content was able to receive replies.
The first time a user completed this message if the content was able to be completed e.g. Tours, Surveys.
The first time the series this message was a part of was completed by the user.
The first time the series this message was a part of was disengaged by the user.
The first time the series this message was a part of was exited by the user.
{ "user_id": "string", "user_external_id": "string", "company_id": "string", "email": "string", "name": "string", "ruleset_id": "string", "content_id": "string", "content_type": "string", "content_title": "string", "ruleset_version_id": "string", "receipt_id": "string", "received_at": 0, "series_id": "string", "series_title": "string", "node_id": "string", "first_reply": 0, "first_completion": 0, "first_series_completion": 0, "first_series_disengagement": 0, "first_series_exit": 0, "first_goal_success": 0, "first_open": 0, "first_click": 0, "first_dismisall": 0, "first_unsubscribe": 0, "first_hard_bounce": 0 }
Response returned when an object is deleted
The unique identifier for the collection which you provided in the URL.
The type of object which was deleted. - collection
{ "id": "6890762", "object": "collection", "deleted": true }
Response returned when an object is deleted
The unique identifier for the company which is given by Intercom.
The type of object which was deleted. - company
{ "id": "5b7e8b2f-7a1a-4e6c-8e1b-4f9d4f4c4d4f", "object": "company", "deleted": true }
The API will return an Error List for a failed request, which will contain one or more Error objects.
An array of one or more error objects
A string indicating the kind of error, used to further qualify the HTTP response code
Optional. Human readable description of the error.
{ "type": "error.list", "request_id": "f93ecfa8-d08a-4325-8694-89aeb89c8f85", "errors": [ { … } ] }
The value describing a file upload set for a custom attribute
The url of the file. This is a temporary URL and will expire after 30 minutes.
{ "type": "upload", "name": "Screenshot.png", "url": "https://intercom-attachments-1.com/.../Screenshot.png", "content_type": "image/png", "filesize": 11308309, "width": 3024, "height": 1964 }
Search using Intercoms Search APIs with a single filter.
The accepted field that you want to search on.
The accepted operators you can use to define how you want to search for the value.
{ "field": "custom_attributes.favorite_color", "operator": ">", "value": "73732934" }
The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group.
The type of object - group_translated_content.
{ "type": "group_translated_content", "ar": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "bg": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "bs": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "ca": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "cs": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "da": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "de": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "el": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "en": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "es": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "et": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "fi": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "fr": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "he": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "hr": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "hu": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "id": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "it": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "ja": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "ko": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "lt": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "lv": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "mn": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "nb": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "nl": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "pl": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "pt": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "ro": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "ru": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "sl": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "sr": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "sv": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "tr": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "vi": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "pt-BR": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "zh-CN": { "type": "group_content", "name": "Collection name", "description": " Collection description" }, "zh-TW": { "type": "group_content", "name": "Collection name", "description": " Collection description" } }
A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers.
The news item body, which may contain HTML.
The id of the sender of the news item. Must be a teammate on the workspace.
News items will not be visible to your users in the assigned newsfeeds until they are set live.
When set to true
, the news item will appear in the messenger newsfeed without showing a notification badge.
Label names displayed to users to categorize the news item.
Ordered list of emoji reactions to the news item. When empty, reactions are disabled.
{ "title": "Halloween is here!", "body": "<p>New costumes in store for this spooky season</p>", "sender_id": 123, "state": "live", "deliver_silently": true, "labels": [ "Product", "Update", "New" ], "reactions": [ "😆", "😅" ], "newsfeed_assignments": [ { … } ] }
A paginated list of notes associated with a contact.
String representing the object's type. Always has the value list
.
An array of notes.
String representing the object's type. Always has the value note
.
Represents the contact that the note was created about.
Admins are teammate accounts that have access to a workspace.
String representing the object's type. Always has the value admin
.
Identifies if this admin is currently set in away mode.
Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.
Identifies if this admin has a paid inbox seat to restrict/allow features that require them.
This object represents the avatar associated with the admin.
Image for the associated team or teammate
{ "type": "list", "data": [ { … } ], "total_count": 1, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
A link to the next page of results. A response that does not contain a next link does not have further data to fetch.
{ "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 }
Paginated News Item Response
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array of News Items
The unique identifier for the news item which is given by Intercom.
The id of the workspace which the news item belongs to.
The news item body, which may contain HTML.
The id of the sender of the news item. Must be a teammate on the workspace.
News items will not be visible to your users in the assigned newsfeeds until they are set live.
A list of newsfeed_assignments to assign to the specified newsfeed.
Label names displayed to users to categorize the news item.
URL of the image used as cover. Must have .jpg or .png extension.
Ordered list of emoji reactions to the news item. When empty, reactions are disabled.
When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.
Timestamp for when the news item was created.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 1, "data": [ { … } ] }
Paginated Newsfeed Response
Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.
An array of Newsfeeds
The unique identifier for the newsfeed which is given by Intercom.
The name of the newsfeed. This name will never be visible to your users.
Timestamp for when the newsfeed was created.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 }, "total_count": 1, "data": [ { … } ] }
Payload of the request to reply on behalf of a contact using their intercom_user_id
A list of files that will be added as attachments.
The time the reply was created. If not provided, the current time will be used.
{ "intercom_user_id": "string", "attachment_files": [ { … } ], "message_type": "comment", "type": "user", "body": "string", "created_at": 1590000000, "attachment_urls": [ "http://example.com" ] }
Search using Intercoms Search APIs.
Search using Intercoms Search APIs with a single filter.
The accepted field that you want to search on.
The accepted operators you can use to define how you want to search for the value.
{ "query": { "field": "custom_attributes.favorite_color", "operator": ">", "value": "73732934" }, "pagination": { "per_page": 2, "starting_after": "your-cursor-from-response" } }
This will return a list of Segment Objects. The result may also have a pages object if the response is paginated.
A list of Segment objects
The unique identifier representing the segment.
Type of the contact: contact (lead) or user.
{ "type": "segment.list", "segments": [ { … } ], "pages": {} }
Search using Intercoms Search APIs with a single filter.
The accepted field that you want to search on.
The accepted operators you can use to define how you want to search for the value.
{ "field": "custom_attributes.favorite_color", "operator": ">", "value": "73732934" }
The SLA Applied object contains the details for which SLA has been applied to this conversation. Important: if there are any canceled sla_events for the conversation - meaning an SLA has been manually removed from a conversation, the sla_status will always be returned as null.
SLA statuses:
hit
: If there’s at least one hit event in the underlying sla_events table, and no “missed” or “canceled” events for the conversation.missed
: If there are any missed sla_events for the conversation and no canceled events. If there’s even a single missed sla event, the status will always be missed. A missed status is not applied when the SLA expires, only the next time a teammate replies.active
: An SLA has been applied to a conversation, but has not yet been fulfilled. SLA status is active only if there are no “hit, “missed”, or “canceled” events.{ "type": "conversation_sla_summary", "sla_name": "", "sla_status": "hit" }
A list of subscription type objects.
A list of subscription type objects associated with the workspace .
The state of the subscription type.
A translation object contains the localised details of a subscription type.
The localised name of the subscription type.
The localised description of the subscription type.
An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.
The localised name of the subscription type.
The localised description of the subscription type.
Describes the type of consent.
{ "type": "list", "data": [ { … } ] }
An object containing the different attributes associated to the ticket as key-value pairs. For the default title and description attributes, the keys are _default_title_
and _default_description_
.
{ "_default_title_": "Found a bug", "_default_description_": "The button's not working" }
Tickets are how you track requests from your users.
The list of ticket objects
The unique identifier for the ticket which is given by Intercom.
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
Category of the Ticket.
An object containing the different attributes associated to the ticket as key-value pairs. For the default title and description attributes, the keys are _default_title_
and _default_description_
.
The state the ticket is currently in
A ticket type, used to define the data fields to be captured in a ticket.
String representing the object's type. Always has the value ticket_type
.
Category of the Ticket Type.
The description of the ticket type
The id of the workspace that the ticket type belongs to.
A list of attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attributes.list
.
A list of ticket type attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attribute
.
The id representing the ticket type attribute.
The id of the workspace that the ticket type attribute belongs to.
The name of the ticket type attribute
The description of the ticket type attribute
The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")
Input options for the attribute
The order of the attribute against other attributes
Whether the attribute is required or not for teammates.
Whether the attribute is required or not for contacts.
Whether the attribute is visible or not to teammates.
Whether the attribute is visible or not to contacts.
Whether the attribute is built in or not.
The id of the ticket type that the attribute belongs to.
Whether the ticket type attribute is archived or not.
Whether the ticket type is archived or not.
The date and time the ticket type was created.
The list of contacts affected by a ticket.
always contact.list
The list of contacts affected by this ticket.
The unique identifier for the contact which is given by Intercom.
The id representing the admin assigned to the ticket.
The id representing the team assigned to the ticket.
The time the ticket was created as a UTC Unix timestamp.
The last time the ticket was updated as a UTC Unix timestamp.
Whether or not the ticket is open. If false, the ticket is closed.
The time the ticket will be snoozed until as a UTC Unix timestamp. If null, the ticket is not currently snoozed.
An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
The state the ticket is currently in, in a human readable form - visible in Intercom
{ "type": "ticket.list", "tickets": [ { … } ], "total_count": 12345, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
A list of Ticket Part objects for each ticket. There is a limit of 500 parts.
The message body, which may contain HTML.
The previous state of the ticket.
The state of the ticket.
The time the ticket part was created.
The last time the ticket part was updated.
The author that wrote or triggered the part. Can be a bot, admin, team or user.
A list of attachments for the part.
{ "type": "ticket_part.list", "ticket_parts": [ { … } ], "total_count": 2 }
A Ticket Part representing a note, comment, or quick_reply on a ticket
The author that wrote or triggered the part. Can be a bot, admin, team or user.
{ "type": "ticket_part", "id": "3", "part_type": "note", "body": "<p>Okay!</p>", "created_at": 1663597223, "updated_at": 1663597260, "author": { "type": "admin", "id": "274", "name": "Operator", "email": "operator+abcd1234@intercom.io" }, "attachments": [ { … } ], "redacted": false }
The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are _default_title_
and _default_description_
. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by listing the ticket type. For example, if the ticket type has an attribute called priority
of type list
, the key should be priority
and the value of the attribute should be the guid of the list item (e.g. de1825a0-0164-4070-8ca6-13e22462fa7e
).
{ "_default_title_": "Found a bug", "_default_description_": "The button is not working" }
Ticket type attribute, used to define each data field to be captured in a ticket.
String representing the object's type. Always has the value ticket_type_attribute
.
The id of the workspace that the ticket type attribute belongs to.
The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")
Whether the attribute is required or not for teammates.
Whether the attribute is required or not for contacts.
Whether the attribute is visible or not to teammates.
Whether the attribute is visible or not to contacts.
{ "type": "ticket_type_attribute", "id": "1", "workspace_id": "ecahpwf5", "name": "Title", "description": "Bug title.", "data_type": "string", "input_options": "multiline: true", "order": 1, "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": false, "visible_to_contacts": false, "default": true, "ticket_type_id": 42, "archived": false, "created_at": 0, "updated_at": 0 }
A list of attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attributes.list
.
A list of ticket type attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attribute
.
The id representing the ticket type attribute.
The id of the workspace that the ticket type attribute belongs to.
The description of the ticket type attribute
The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")
Input options for the attribute
The order of the attribute against other attributes
Whether the attribute is required or not for teammates.
Whether the attribute is required or not for contacts.
Whether the attribute is visible or not to teammates.
Whether the attribute is visible or not to contacts.
Whether the attribute is built in or not.
The id of the ticket type that the attribute belongs to.
Whether the ticket type attribute is archived or not.
The date and time the ticket type attribute was created.
{ "type": "ticket_type_attributes.list", "ticket_type_attributes": [ { … } ] }
A list of ticket types associated with a given workspace.
String representing the object's type. Always has the value ticket_type.list
.
A list of ticket_types associated with a given workspace.
String representing the object's type. Always has the value ticket_type
.
Category of the Ticket Type.
The description of the ticket type
The id of the workspace that the ticket type belongs to.
A list of attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attributes.list
.
A list of ticket type attributes associated with a given ticket type.
String representing the object's type. Always has the value ticket_type_attribute
.
The id representing the ticket type attribute.
The id of the workspace that the ticket type attribute belongs to.
The name of the ticket type attribute
The description of the ticket type attribute
The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")
Input options for the attribute
The order of the attribute against other attributes
Whether the attribute is required or not for teammates.
Whether the attribute is required or not for contacts.
Whether the attribute is visible or not to teammates.
Whether the attribute is visible or not to contacts.
Whether the attribute is built in or not.
The id of the ticket type that the attribute belongs to.
Whether the ticket type attribute is archived or not.
{ "type": "ticket_type_attributes.list", "ticket_types": [ { … } ] }
You can Update an Article
The title of the article.For multilingual articles, this will be the title of the default language's content.
The description of the article. For multilingual articles, this will be the description of the default language's content.
The content of the article. For multilingual articles, this will be the body of the default language's content.
The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace.
Whether the article will be published
or will be a draft
. Defaults to draft. For multilingual articles, this will be the state of the default language's content.
The id of the article's parent collection or section. An article without this field stands alone.
The type of parent, which can either be a collection
or section
.
{ "title": "Thanks for everything", "description": "Description of the Article", "body": "<p>This is the body in html</p>", "author_id": 1295, "state": "draft", "parent_id": "18", "parent_type": "collection", "translated_content": { "type": "article_translated_content", "ar": { … }, "bg": { … }, "bs": { … }, "ca": { … }, "cs": { … }, "da": { … }, "de": { … }, "el": { … }, "en": { … }, "es": { … }, "et": { … }, "fi": { … }, "fr": { … }, "he": { … }, "hr": { … }, "hu": { … }, "id": { … }, "it": { … }, "ja": { … }, "ko": { … }, "lt": { … }, "lv": { … }, "mn": { … }, "nb": { … }, "nl": { … }, "pl": { … }, "pt": { … }, "ro": { … }, "ru": { … }, "sl": { … }, "sr": { … }, "sv": { … }, "tr": { … }, "vi": { … }, "pt-BR": { … }, "zh-CN": { … }, "zh-TW": { … } } }
You can update a collection
The name of the collection. For multilingual collections, this will be the name of the default language's content.
The description of the collection. For multilingual collections, this will be the description of the default language's content.
The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group.
{ "name": "collection 51", "description": "English description", "translated_content": { "type": "group_translated_content", "ar": { … }, "bg": { … }, "bs": { … }, "ca": { … }, "cs": { … }, "da": { … }, "de": { … }, "el": { … }, "en": { … }, "es": { … }, "et": { … }, "fi": { … }, "fr": { … }, "he": { … }, "hr": { … }, "hu": { … }, "id": { … }, "it": { … }, "ja": { … }, "ko": { … }, "lt": { … }, "lv": { … }, "mn": { … }, "nb": { … }, "nl": { … }, "pl": { … }, "pt": { … }, "ro": { … }, "ru": { … }, "sl": { … }, "sr": { … }, "sv": { … }, "tr": { … }, "vi": { … }, "pt-BR": { … }, "zh-CN": { … }, "zh-TW": { … } }, "parent_id": "6871118" }
You can update a contact
An image URL containing the avatar of a contact
The time specified for when a contact signed up
The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually)
The id of an admin that has been assigned account ownership of the contact
Whether the contact is unsubscribed from emails
{ "role": "string", "external_id": "string", "email": "jdoe@example.com", "phone": "+353871234567", "name": "John Doe", "avatar": "https://www.example.com/avatar_image.jpg", "signed_up_at": 1571672154, "last_seen_at": 1571672154, "owner_id": 123, "unsubscribed_from_emails": true, "custom_attributes": {} }
The readable description you see in the UI for the attribute.
To create list attributes. Provide a set of hashes with value
as the key of the options you want to make. data_type
must be string
.
{ "archived": false, "description": "My Data Attribute Description", "options": [ "option1", "option2" ], "messenger_writable": false }
You can update a Ticket
The attributes set on the ticket.
The state of the ticket.
Specify if a ticket is open. Set to false to close a ticket. Closing a ticket will also unsnooze it.
{ "ticket_attributes": { "_default_title_": "example", "_default_description_": "having a problem" }, "state": "submitted", "open": true, "is_shared": true, "snoozed_until": 1673609604, "assignment": { "admin_id": "123", "assignee_id": "123" } }
You can update a Ticket Type Attribute
The description of the attribute presented to the teammate or contact
Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox.
Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger.
Whether the attribute is visible to teammates when creating a ticket in Inbox.
Whether the attribute is visible to contacts when creating a ticket in Messenger.
Whether the attribute allows multiple lines of text (only applicable to string attributes)
A comma delimited list of items for the attribute value (only applicable to list attributes)
Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)
{ "name": "Bug Priority", "description": "Priority level of the bug", "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": true, "visible_to_contacts": true, "multiline": false, "list_items": "Low Priority,Medium Priority,High Priority", "allow_multiple_values": false, "archived": false }
The request payload for updating a ticket type. You can copy the icon
property for your ticket type from Twemoji Cheatsheet
{ "name": "Bug", "description": "A bug has been occured", "category": "Customer", "icon": "🐞", "archived": false, "is_internal": false }
Update an existing visitor.
Update an existing visitor.
A unique identified for the visitor which is given by Intercom.
{ "id": "8a88a590-e", "user_id": "123", "name": "Christian Bale", "custom_attributes": { "paid_subscriber": true, "monthly_spend": 155.5, "team_mates": 9 } }
Visitors are useful for representing anonymous people that have not yet been identified. They usually represent website visitors. Visitors are not visible in Intercom platform. The Visitors resource provides methods to fetch, update, convert and delete.
Automatically generated identifier for the Visitor.
{ "type": "visitor", "id": "530370b477ad7120001d", "user_id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "anonymous": false, "email": "jane.doe@example.com", "phone": "555-555-5555", "name": "Jane Doe", "pseudonym": "Red Duck from Dublin", "avatar": { "type": "avatar", "image_url": "https://example.com/avatar.png" }, "app_id": "hfi1bx4l", "companies": { "type": "company.list", "companies": [ … ] }, "location_data": { "type": "location_data", "city_name": "Dublin", "continent_code": "EU", "country_code": "IRL", "country_name": "Ireland", "postal_code": "D02 N960", "region_name": "Leinster", "timezone": "Europe/Dublin" }, "las_request_at": 1663597260, "created_at": 1663597223, "remote_created_at": 1663597223, "signed_up_at": 1663597223, "updated_at": 1663597260, "session_count": 1, "social_profiles": { "type": "social_profile.list", "social_profiles": [ … ] }, "owner_id": "5169261", "unsubscribed_from_emails": false, "marked_email_as_spam": false, "has_hard_bounced": false, "tags": { "type": "tag.list", "tags": [ … ] }, "segments": { "type": "segment.list", "segments": [ … ] }, "custom_attributes": { "property1": "string", "property2": "string" }, "referrer": "https://www.google.com/", "utm_campaign": "intercom-link", "utm_content": "banner", "utm_medium": "email", "utm_source": "Intercom", "utm_term": "messenger", "do_not_track": false }