Intercom Component
Manage companies, contacts and tags on the Intercom platform
Component key: intercomDescription
Intercom is a tool purpose-built for sales, marketing, and support to use together.
Connections
Intercom
To connect to Intercom you will need to create a new app in their Developer Hub.
Click "New App" and select "Public app" (you can use "Internal integration" if you do not need to connect to customer Intercom workspaces).
To enable OAuth you need to navigate to "Authentication", click the "Edit" button, and check "Use OAuth". Click "Add redirect URL" and enter Prismatic's callback URL: https://oauth2.prismatic.io/callback
You can also use this opportunity to reduce the selected Permissions (scopes) if desired. Once complete, click "Save".
Next, collect the Client ID and Client secret from the "Basic information" page.
You are now ready to create the OAuth 2.0 connection to Intercom within Prismatic:
- Enter the Client ID and Client secret values into the same named fields.
Save your integration and you should now be able to authenticate to Intercom.
Note that you will need to submit your Intercom app for review when it is ready for production.
Intercom Access Token
You should use the given access Access Token if:
- You want to use the API to interact with your own Intercom app
- You have scripts to push or extract data from your Intercom app
- You want to use the API to programmatically automate certain actions in your own Intercom app
- The data you interact with programmatically is your own customer data
How to get your Access Token
Intercom provide you with an Access Token as soon as you create an app on your workspace. You can find your Access Token in the Configure > Authentication section in your app within the Developer Hub.
You will also see it in your Test & Publish > Your Workspaces page of your app in the Developer Hub. This lists out all of your workspaces that have the app installed. More about how this works can be found in their Installing & Uninstalling Apps guide.
Never give your Access Token to a third party
Your Access Token can give access to your private Intercom data and should be treated like a password. If an app provider asks you for your Access Token, please do not provide it. Instead, let us know - apps are required to use OAuth rather than asking users for Access Tokens.
Actions
Archive Contact
Archive an existing Contact | key: archiveContact
Output Example Payload
{
"data": {
"id": "5ba682d23d7cf92bef87bfd4",
"object": "contact",
"archived": true
}
}
Attach Company to Contact
Attach Company to Contact | key: attachCompany
Attach Tag to Contact
Attach a Tag to a Contact | key: attachTag
Create Company
Create a new Company | key: createCompany
Output Example Payload
{
"data": {
"type": "company",
"id": "531ee472cce572a6ec000006",
"name": "Blue Sun",
"plan": "plan1",
"company_id": "6",
"remote_created_at": 1394531169,
"created_at": 1394533506,
"updated_at": 1396874658,
"size": 85,
"website": "http://www.example.com",
"industry": "Manufacturing",
"monthly_spend": 49,
"session_count": 26,
"user_count": 10,
"custom_attributes": {
"paid_subscriber": true,
"team_mates": 0
}
}
}
Create Contact
Create a new Contact | key: createContact
Output Example Payload
{
"data": {
"type": "contact",
"id": "5ba682d23d7cf92bef87bfd4",
"workspace_id": "ecahpwf5",
"external_id": "25",
"role": "user",
"email": "wash@serenity.io",
"phone": "+1123456789",
"name": "Hoban Washburn",
"avatar": "https://example.org/128Wash.jpg",
"owner_id": 127,
"social_profiles": {
"type": "list",
"data": [
{
"type": "social_profile",
"name": "Twitter",
"url": "http://twitter.com/th1sland"
}
]
},
"unsubscribed_from_emails": false,
"created_at": 1571672154,
"updated_at": 1571672158,
"signed_up_at": 1571069751,
"last_seen_at": 1571069751,
"last_replied_at": 1571672158,
"last_contacted_at": 1571672158,
"last_email_opened_at": 1571673478,
"last_email_clicked_at": 1571676789,
"language_override": null,
"browser": "chrome",
"browser_version": "77.0.3865.90",
"browser_language": "en",
"os": "OS X 10.14.6",
"location": {
"type": "location",
"country": "Ireland",
"region": "Dublin",
"city": "Dublin"
},
"android_app_name": null,
"android_app_version": null,
"android_device": null,
"android_os_version": null,
"android_sdk_version": null,
"android_last_seen_at": null,
"ios_app_name": null,
"ios_app_version": null,
"ios_device": null,
"ios_os_version": null,
"ios_sdk_version": null,
"ios_last_seen_at": null,
"custom_attributes": {
"paid_subscriber": true,
"monthly_spend": 155.5,
"team_mates": 1
},
"tags": {
"type": "list",
"data": [
{
"type": "tag",
"id": "2",
"url": "/tags/2"
},
{
"type": "tag",
"id": "4",
"url": "/tags/4"
},
{
"type": "tag",
"id": "5",
"url": "/tags/5"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/tags"
},
"notes": {
"type": "list",
"data": [
{
"type": "note",
"id": "20114858",
"url": "/notes/20114858"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/notes"
},
"companies": {
"type": "list",
"data": [
{
"type": "company",
"id": "5ba686093d7cf93552a3dc99",
"url": "/companies/5ba686093d7cf93552a3dc99"
},
{
"type": "company",
"id": "5cee64a03d7cf90c51b36f19",
"url": "/companies/5cee64a03d7cf90c51b36f19"
},
{
"type": "company",
"id": "5d7668883d7cf944dbc5c791",
"url": "/companies/5d7668883d7cf944dbc5c791"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/companies"
}
}
}
Create Tag
Create a new Tag | key: createTag
Output Example Payload
{
"data": {
"id": "17513",
"name": "independent",
"type": "tag"
}
}
Create Ticket
Create a new Ticket | key: createTicket
Output Example Payload
{
"data": {
"type": "ticket",
"id": "773",
"ticket_id": "35",
"ticket_attributes": {
"_default_title_": "example",
"_default_description_": "there is a problem"
},
"ticket_state": "submitted",
"ticket_state_internal_label": "Submitted",
"ticket_state_external_label": "Submitted",
"ticket_type": {
"type": "ticket_type",
"id": "147",
"name": "my-ticket-type-15",
"description": "my ticket type description is awesome.",
"icon": "🦁",
"workspace_id": "this_is_an_id648_that_should_be_at_least_",
"archived": false,
"created_at": 1717022465,
"updated_at": 1717022465,
"is_internal": false,
"ticket_type_attributes": {
"type": "list",
"data": [
{
"type": "ticket_type_attribute",
"id": "388",
"workspace_id": "this_is_an_id648_that_should_be_at_least_",
"name": "_default_title_",
"description": "ola",
"data_type": "string",
"input_options": null,
"order": 0,
"required_to_create": true,
"required_to_create_for_contacts": false,
"visible_on_create": true,
"visible_to_contacts": false,
"default": false,
"ticket_type_id": 147,
"archived": false,
"created_at": 1717022465,
"updated_at": 1717022465
},
{
"type": "ticket_type_attribute",
"id": "389",
"workspace_id": "this_is_an_id648_that_should_be_at_least_",
"name": "_default_description_",
"description": "ola",
"data_type": "string",
"input_options": null,
"order": 0,
"required_to_create": true,
"required_to_create_for_contacts": false,
"visible_on_create": true,
"visible_to_contacts": false,
"default": false,
"ticket_type_id": 147,
"archived": false,
"created_at": 1717022465,
"updated_at": 1717022465
}
]
},
"category": "Back-office"
},
"contacts": {
"type": "contact.list",
"contacts": [
{
"type": "contact",
"id": "6657af026abd0167d9419def",
"external_id": "70"
}
]
},
"admin_assignee_id": "0",
"team_assignee_id": "0",
"created_at": 1717022466,
"updated_at": 1717022466,
"ticket_parts": {
"type": "ticket_part.list",
"ticket_parts": [
{
"type": "ticket_part",
"id": "199",
"part_type": "ticket_state_updated_by_admin",
"ticket_state": "submitted",
"previous_ticket_state": "submitted",
"created_at": 1717022466,
"updated_at": 1717022466,
"author": {
"id": "991268827",
"type": "bot",
"name": "Operator",
"email": "operator+this_is_an_id648_that_should_be_at_least_@intercom.io"
},
"attachments": [],
"redacted": false
}
],
"total_count": 1
},
"open": true,
"linked_objects": {
"type": "list",
"data": [],
"total_count": 0,
"has_more": false
},
"category": "Back-office",
"is_shared": false
}
}
Delete Company
Delete an existing Company | key: deleteCompany
Output Example Payload
{
"data": {
"id": "5ba682d23d7cf92bef87bfd4",
"object": "company",
"deleted": "true"
}
}
Delete Contact
Delete an existing Contact | key: deleteContact
Output Example Payload
{
"data": {
"id": "5ba682d23d7cf92bef87bfd4",
"object": "contact",
"deleted": true
}
}
Delete Tag
Delete an existing Tag | key: deleteTag
Output Example Payload
{
"data": {
"id": "17513",
"name": "independent",
"type": "tag"
}
}
Detach Company from Contact
Detach Company from Contact | key: detachCompany
Detach Tag from Contact
Detach a Tag from a Contact | key: detachTag
List Companies
Page through all Companies | key: listCompanies
Output Example Payload
{
"data": {
"data": [
{
"type": "company",
"company_id": "remote_companies_scroll_2",
"id": "6657add06abd0167d9419cc3",
"app_id": "this_is_an_id158_that_should_be_at_least_",
"name": "IntercomQATest1",
"remote_created_at": 1717022160,
"created_at": 1717022160,
"updated_at": 1717022160,
"monthly_spend": 0,
"session_count": 0,
"user_count": 4,
"tags": {
"type": "tag.list",
"tags": []
},
"segments": {
"type": "segment.list",
"segments": []
},
"plan": {},
"custom_attributes": {}
}
],
"pages": {
"type": "companies",
"next": null,
"page": 1,
"per_page": 15,
"total_pages": 1
}
}
}
List Contacts
Page through all Contacts | key: listContacts
Output Example Payload
{
"data": {
"data": [
{
"type": "contact",
"id": "5ba682d23d7cf92bef87bfd4",
"external_id": "f3b87a2e09d514c6c2e79b9a",
"workspace_id": "ecahpwf5",
"role": "user",
"email": "joe@example.com",
"email_domain": "example.com",
"phone": "+1123456789",
"formatted_phone": "+1123456789",
"name": "John Doe",
"owner_id": 123,
"has_hard_bounced": true,
"marked_email_as_spam": true,
"unsubscribed_from_emails": true,
"created_at": 1571672154,
"updated_at": 1571672154,
"signed_up_at": 1571672154,
"last_seen_at": 1571672154,
"last_replied_at": 1571672154,
"last_contacted_at": 1571672154,
"last_email_opened_at": 1571672154,
"last_email_clicked_at": 1571672154,
"language_override": "en",
"browser": "Chrome",
"browser_version": "80.0.3987.132",
"browser_language": "en-US",
"os": "Mac OS X",
"android_app_name": "Intercom",
"android_app_version": "5.0.0",
"android_device": "Pixel 3",
"android_os_version": "10",
"android_sdk_version": "28",
"android_last_seen_at": 1571672154,
"ios_app_name": "Intercom",
"ios_app_version": "5.0.0",
"ios_device": "iPhone 11",
"ios_os_version": "13.3.1",
"ios_sdk_version": "13.3.1",
"ios_last_seen_at": 1571672154,
"custom_attributes": {},
"avatar": {
"type": "avatar",
"image_url": "https://example.org/128Wash.jpg"
},
"tags": {
"data": [
{
"type": "note",
"id": "123",
"url": "/contacts/5ba682d23d7cf92bef87bfd4/notes"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/tags",
"total_count": 100,
"has_more": true
},
"notes": {
"data": [
{
"type": "note",
"id": "123",
"url": "/contacts/5ba682d23d7cf92bef87bfd4/notes"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/notes",
"total_count": 100,
"has_more": true
},
"companies": {
"url": "/contacts/5ba682d23d7cf92bef87bfd4/companies",
"total_count": 100,
"has_more": true
},
"location": {
"type": "location",
"country": "Ireland",
"region": "Dublin",
"city": "Dublin"
},
"social_profiles": {
"data": [
{
"type": "social_profile",
"name": "Facebook",
"url": "http://twitter.com/th1sland"
}
]
}
}
],
"total_count": 100,
"pages": {
"type": "pages",
"page": 1,
"next": {
"per_page": 2,
"starting_after": "your-cursor-from-response"
},
"per_page": 2,
"total_pages": 13
}
}
}
List Tags
List all Tags | key: listTags
Output Example Payload
{
"data": [
{
"id": "17513",
"name": "independent",
"type": "tag"
}
]
}
List Ticket Types
Get a list of all ticket types for a workspace. | key: listTicketTypes
Output Example Payload
{
"data": {
"type": "list",
"data": [
{
"type": "ticket_type",
"id": "126",
"name": "Bug Report",
"description": "Bug Report Template",
"icon": "🎟️",
"workspace_id": "this_is_an_id608_that_should_be_at_least_",
"archived": false,
"created_at": 1717022435,
"updated_at": 1717022435,
"is_internal": false,
"ticket_type_attributes": {
"type": "list",
"data": [
{
"type": "ticket_type_attribute",
"id": "354",
"workspace_id": "this_is_an_id608_that_should_be_at_least_",
"name": "_default_title_",
"description": "",
"data_type": "string",
"input_options": {
"multiline": false
},
"order": 0,
"required_to_create": false,
"required_to_create_for_contacts": false,
"visible_on_create": true,
"visible_to_contacts": true,
"default": true,
"ticket_type_id": 126,
"archived": false,
"created_at": 1717022435,
"updated_at": 1717022435
},
{
"type": "ticket_type_attribute",
"id": "356",
"workspace_id": "this_is_an_id608_that_should_be_at_least_",
"name": "name",
"description": "description",
"data_type": "string",
"input_options": null,
"order": 0,
"required_to_create": false,
"required_to_create_for_contacts": false,
"visible_on_create": false,
"visible_to_contacts": false,
"default": false,
"ticket_type_id": 126,
"archived": false,
"created_at": 1717022435,
"updated_at": 1717022435
},
{
"type": "ticket_type_attribute",
"id": "355",
"workspace_id": "this_is_an_id608_that_should_be_at_least_",
"name": "_default_description_",
"description": "",
"data_type": "string",
"input_options": {
"multiline": true
},
"order": 1,
"required_to_create": false,
"required_to_create_for_contacts": false,
"visible_on_create": true,
"visible_to_contacts": true,
"default": true,
"ticket_type_id": 126,
"archived": false,
"created_at": 1717022435,
"updated_at": 1717022435
}
]
},
"category": "Customer"
}
]
}
}
Raw Request
Send raw HTTP request to Intercom | key: rawRequest
Search Contacts
Search through all Contacts | key: searchContacts
Unarchive Contact
Unarchive an archived Contact | key: unarchiveContact
Output Example Payload
{
"data": {
"id": "5ba682d23d7cf92bef87bfd4",
"object": "contact",
"archived": false
}
}
Update Company
Update an existing Company | key: updateCompany
Output Example Payload
{
"data": {
"type": "company",
"id": "531ee472cce572a6ec000006",
"name": "Blue Sun",
"plan": "plan1",
"company_id": "6",
"remote_created_at": 1394531169,
"created_at": 1394533506,
"updated_at": 1396874658,
"size": 85,
"website": "http://www.example.com",
"industry": "Manufacturing",
"monthly_spend": 49,
"session_count": 26,
"user_count": 10,
"custom_attributes": {
"paid_subscriber": true,
"team_mates": 0
}
}
}
Update Contact
Update an existing Contact | key: updateContact
Output Example Payload
{
"data": {
"type": "contact",
"id": "5ba682d23d7cf92bef87bfd4",
"workspace_id": "ecahpwf5",
"external_id": "25",
"role": "user",
"email": "wash@serenity.io",
"phone": "+1123456789",
"name": "Hoban Washburn",
"avatar": "https://example.org/128Wash.jpg",
"owner_id": 127,
"social_profiles": {
"type": "list",
"data": [
{
"type": "social_profile",
"name": "Twitter",
"url": "http://twitter.com/th1sland"
}
]
},
"unsubscribed_from_emails": false,
"created_at": 1571672154,
"updated_at": 1571672158,
"signed_up_at": 1571069751,
"last_seen_at": 1571069751,
"last_replied_at": 1571672158,
"last_contacted_at": 1571672158,
"last_email_opened_at": 1571673478,
"last_email_clicked_at": 1571676789,
"language_override": null,
"browser": "chrome",
"browser_version": "77.0.3865.90",
"browser_language": "en",
"os": "OS X 10.14.6",
"location": {
"type": "location",
"country": "Ireland",
"region": "Dublin",
"city": "Dublin"
},
"android_app_name": null,
"android_app_version": null,
"android_device": null,
"android_os_version": null,
"android_sdk_version": null,
"android_last_seen_at": null,
"ios_app_name": null,
"ios_app_version": null,
"ios_device": null,
"ios_os_version": null,
"ios_sdk_version": null,
"ios_last_seen_at": null,
"custom_attributes": {
"paid_subscriber": true,
"monthly_spend": 155.5,
"team_mates": 1
},
"tags": {
"type": "list",
"data": [
{
"type": "tag",
"id": "2",
"url": "/tags/2"
},
{
"type": "tag",
"id": "4",
"url": "/tags/4"
},
{
"type": "tag",
"id": "5",
"url": "/tags/5"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/tags"
},
"notes": {
"type": "list",
"data": [
{
"type": "note",
"id": "20114858",
"url": "/notes/20114858"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/notes"
},
"companies": {
"type": "list",
"data": [
{
"type": "company",
"id": "5ba686093d7cf93552a3dc99",
"url": "/companies/5ba686093d7cf93552a3dc99"
},
{
"type": "company",
"id": "5cee64a03d7cf90c51b36f19",
"url": "/companies/5cee64a03d7cf90c51b36f19"
},
{
"type": "company",
"id": "5d7668883d7cf944dbc5c791",
"url": "/companies/5d7668883d7cf944dbc5c791"
}
],
"url": "/contacts/5ba682d23d7cf92bef87bfd4/companies"
}
}
}
Update Tag
Update an existing Tag | key: updateTag
Output Example Payload
{
"data": {
"id": "17513",
"name": "independent",
"type": "tag"
}
}