CRM & Support
💬 Intercom integration
Access levels: Read-only · Read + write · Full access · Verified
CRM & Support
Access levels: Read-only · Read + write · Full access · Verified
Connect Intercom once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.
You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.
Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.
The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.
| Level | What it allows | |
|---|---|---|
| Read-only | Read conversations, contacts, and admin users. | |
| Read + write | Reply to conversations and create/update contacts. | Recommended |
| Full access | Also log events, manage articles and tickets. |
On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.
The 133 tools agents use in Intercom through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.
| Tool | What it does | Access level |
|---|---|---|
Add subscription to a contactINTERCOM_ADD_SUBSCRIPTION_TO_A_CONTACT | You can add a specific subscription to a contact. | Read + write, Full access |
Add tag to contactINTERCOM_ADD_TAG_TO_CONTACT | Add a tag to a contact in Intercom. Use when you need to attach or add a specific tag to a contact for categorization or tracking purposes. | Read + write, Full access |
Archive contactINTERCOM_ARCHIVE_CONTACT | Archive a single contact in Intercom. Use when you need to archive a contact by their ID. | Full access |
Assign conversationINTERCOM_ASSIGN_CONVERSATION | Assigns a conversation to a specific admin or team in Intercom. | Read + write, Full access |
Attach contact to companyINTERCOM_ATTACH_CONTACT_TO_COMPANY | Attach a contact to a company in Intercom. | Read + write, Full access |
Attach contact to conversationINTERCOM_ATTACH_CONTACT_TO_CONVERSATION | Attach a contact participant to a conversation on behalf of admin or contact. | Read + write, Full access |
Attach tag to conversationINTERCOM_ATTACH_TAG_TO_CONVERSATION | Add a tag to a specific conversation in Intercom. | Read + write, Full access |
Attach tag to ticketINTERCOM_ATTACH_TAG_TO_TICKET | Add a tag to a ticket in Intercom. Use when you need to attach or add a specific tag to a ticket for categorization or tracking purposes. | Read + write, Full access |
Block contactINTERCOM_BLOCK_CONTACT | Block a single contact in Intercom. Use when you need to block a contact, which will also archive their conversations. | Full access |
Cancel data exportINTERCOM_CANCEL_DATA_EXPORT | Cancel an active content data export job. Use when you need to terminate an ongoing export and update its status to 'canceled'. | Full access |
Close conversationINTERCOM_CLOSE_CONVERSATION | Closes a conversation in Intercom, marking it as resolved. | Full access |
Create an articleINTERCOM_CREATE_AN_ARTICLE | You can create a new article by making a POST request to https://api.intercom.io/articles. | Read + write, Full access |
Create a collectionINTERCOM_CREATE_A_COLLECTION | You can create a new collection by making a POST request to https://api.intercom.io/help_center/collections. | Read + write, Full access |
Create a noteINTERCOM_CREATE_A_NOTE | You can add a note to a single contact. | Read + write, Full access |
Create contactINTERCOM_CREATE_CONTACT | Create a new contact in Intercom workspace. | Read + write, Full access |
Create content import sourceINTERCOM_CREATE_CONTENT_IMPORT_SOURCE | Create a new content import source for the Fin Content Library. | Read + write, Full access |
Create conversationINTERCOM_CREATE_CONVERSATION | Creates a new conversation in Intercom. Requires exactly one of from_user_id or from_contact_id, both are schema-optional but at least one must be provided. | Read + write, Full access |
Create data attributeINTERCOM_CREATE_DATA_ATTRIBUTE | Create a custom data attribute for contacts or companies. | Read + write, Full access |
Create data eventINTERCOM_CREATE_DATA_EVENT | Submit a data event to Intercom to track user activities. | Read + write, Full access |
Create data exportINTERCOM_CREATE_DATA_EXPORT | Initiate an async data export job for message content. | Read + write, Full access |
Create external pageINTERCOM_CREATE_EXTERNAL_PAGE | Create an external page in Fin Content Library or update an existing page by external ID. | Read + write, Full access |
Create help center sectionINTERCOM_CREATE_HELP_CENTER_SECTION | Create a new help center section within a collection. | Read + write, Full access |
Create internal articleINTERCOM_CREATE_INTERNAL_ARTICLE | Create a new internal article for team knowledge sharing. | Read + write, Full access |
Create or update a companyINTERCOM_CREATE_OR_UPDATE_A_COMPANY | You can create or update a company. Companies will be only visible in Intercom when there is at least one associated user. Companies are looked up via company_id in a POST request, if not found via company_id, the… | Read + write, Full access |
Create tagINTERCOM_CREATE_TAG | Create or update a tag, and optionally tag/untag companies or tag contacts. | Read + write, Full access |
Create ticketINTERCOM_CREATE_TICKET | Create a ticket in Intercom to track customer requests and issues. | Read + write, Full access |
Create ticket typeINTERCOM_CREATE_TICKET_TYPE | Create a new ticket type that defines the data structure for tracking customer requests. | Read + write, Full access |
Create ticket type attributeINTERCOM_CREATE_TICKET_TYPE_ATTRIBUTE | Create a new attribute for a ticket type in Intercom. | Read + write, Full access |
Data event summariesINTERCOM_DATA_EVENT_SUMMARIES | Create event summaries for a user to track event occurrences. | Read + write, Full access |
Delete an articleINTERCOM_DELETE_AN_ARTICLE | You can delete a single article by making a DELETE request to https://api.intercom.io/articles/<id>. | Full access |
Delete a collectionINTERCOM_DELETE_A_COLLECTION | You can delete a single collection by making a DELETE request to https://api.intercom.io/collections/<id>. | Full access |
Delete a companyINTERCOM_DELETE_A_COMPANY | You can delete a single company. | Full access |
Delete a tag delete tagINTERCOM_DELETE_A_TAG_DELETE_TAG | Delete a tag from Intercom workspace. Use when you need to permanently remove a tag that is no longer needed. | Full access |
Delete a visitorINTERCOM_DELETE_A_VISITOR | Delete a visitor from the Intercom workspace. | Full access |
Delete contactINTERCOM_DELETE_CONTACT | Delete a contact from the Intercom workspace. | Full access |
Delete content import sourceINTERCOM_DELETE_CONTENT_IMPORT_SOURCE | Delete a content import source and all its external pages. | Full access |
Delete external pageINTERCOM_DELETE_EXTERNAL_PAGE | Delete an external page from content library and AI answers. | Full access |
Delete internal articleINTERCOM_DELETE_INTERNAL_ARTICLE | Delete a single internal article by ID. Use when you need to permanently remove an internal article from Intercom. | Full access |
Delete ticketINTERCOM_DELETE_TICKET | Delete a ticket from the Intercom system. Use when you need to permanently remove a ticket. | Full access |
Detach a contactINTERCOM_DETACH_A_CONTACT | Remove a tag from a specific contact in Intercom. | Full access |
Detach contact from companyINTERCOM_DETACH_CONTACT_FROM_COMPANY | Detach a contact from a company in Intercom. | Full access |
Detach tag from conversationINTERCOM_DETACH_TAG_FROM_CONVERSATION | Remove a tag from a specific conversation in Intercom. | Full access |
Detach tag from ticketINTERCOM_DETACH_TAG_FROM_TICKET | Remove a tag from a ticket in Intercom. Use when you need to detach or remove a specific tag from a ticket. | Full access |
Download data exportINTERCOM_DOWNLOAD_DATA_EXPORT | Download content data export from Intercom. | All levels |
Enqueue create ticketINTERCOM_ENQUEUE_CREATE_TICKET | Enqueue ticket creation for asynchronous processing. | Read + write, Full access |
Find tagINTERCOM_FIND_TAG | Retrieve details for a specific tag by its ID. | All levels |
Get a contactINTERCOM_GET_A_CONTACT | You can fetch the details of a single contact. | All levels |
Get content import sourceINTERCOM_GET_CONTENT_IMPORT_SOURCE | Retrieve a content import source by its ID. | All levels |
Get conversationINTERCOM_GET_CONVERSATION | Retrieves a specific conversation by ID with all messages and details. | All levels |
Get countsINTERCOM_GET_COUNTS | Retrieve summary counts for Intercom app entities including companies, users, leads, tags, segments, and conversations. | All levels |
Get custom object instance by external idINTERCOM_GET_CUSTOM_OBJECT_INSTANCE_BY_EXTERNAL_ID | Retrieve a custom object instance by its external_id. | All levels |
Get external pageINTERCOM_GET_EXTERNAL_PAGE | Retrieve an external page from Fin Content Library by ID. | All levels |
Get ticketINTERCOM_GET_TICKET | Retrieve a ticket from Intercom. Use when you need to fetch comprehensive details about a specific ticket including state, type, attributes, and contacts. | All levels |
Get ticket typeINTERCOM_GET_TICKET_TYPE | Retrieve details for a specific ticket type by its ID. | All levels |
Identify an adminINTERCOM_IDENTIFY_AN_ADMIN | You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). | All levels |
Jobs statusINTERCOM_JOBS_STATUS | Retrieve the status of job execution. Use when checking progress and outcome of asynchronous operations like data imports or exports. | All levels |
List all activity logsINTERCOM_LIST_ALL_ACTIVITY_LOGS | You can get a log of activities by all admins in an app. | All levels |
List all adminsINTERCOM_LIST_ALL_ADMINS | You can fetch a list of admins for a given workspace. | All levels |
List all articlesINTERCOM_LIST_ALL_ARTICLES | You can fetch a list of all articles by making a GET request to https://api.intercom.io/articles. | All levels |
List all collectionsINTERCOM_LIST_ALL_COLLECTIONS | You can fetch a list of all collections by making a GET request to https://api.intercom.io/help_center/collections. | All levels |
List all companiesINTERCOM_LIST_ALL_COMPANIES | You can list companies. The company list is sorted by the last_request_at field and by default is ordered descending, most recently requested first. Note that the API does not include companies who have no associated… | All levels |
List all help centersINTERCOM_LIST_ALL_HELP_CENTERS | You can list all Help Centers by making a GET request to https://api.intercom.io/help_center/help_centers. | All levels |
List all macrosINTERCOM_LIST_ALL_MACROS | Fetch a list of all macros (saved replies) in your workspace for use in automating responses. | All levels |
List all notesINTERCOM_LIST_ALL_NOTES | You can fetch a list of notes that are associated to a contact. | All levels |
List attached companies for contactINTERCOM_LIST_ATTACHED_COMPANIES_FOR_CONTACT | You can fetch a list of companies that are associated to a contact. | All levels |
List attached contactsINTERCOM_LIST_ATTACHED_CONTACTS | You can fetch a list of all contacts that belong to a company. | All levels |
List attached segments for companiesINTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES | You can fetch a list of all segments that belong to a company. | All levels |
List attached segments for contactINTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT | You can fetch a list of segments that are associated to a contact. | All levels |
List away status reasonsINTERCOM_LIST_AWAY_STATUS_REASONS | Retrieve all away status reasons for a workspace including deleted ones. | All levels |
List callsINTERCOM_LIST_CALLS | List all phone calls from Intercom with pagination support. | All levels |
List calls with transcriptsINTERCOM_LIST_CALLS_WITH_TRANSCRIPTS | Retrieve calls by conversation IDs with transcripts when available. | All levels |
List company notesINTERCOM_LIST_COMPANY_NOTES | List all notes associated with a specific company. | All levels |
List contactsINTERCOM_LIST_CONTACTS | List all contacts (users or leads) in your Intercom workspace with pagination support. | All levels |
List content import sourcesINTERCOM_LIST_CONTENT_IMPORT_SOURCES | Retrieve all content import sources for the workspace. | All levels |
List conversationsINTERCOM_LIST_CONVERSATIONS | Lists all conversations from Intercom with pagination support. | All levels |
List data attributesINTERCOM_LIST_DATA_ATTRIBUTES | List all data attributes for contacts, companies, and conversations. | All levels |
List data eventsINTERCOM_LIST_DATA_EVENTS | Retrieve a log of data events belonging to a customer. | All levels |
List external pagesINTERCOM_LIST_EXTERNAL_PAGES | List all external pages from Fin Content Library. | All levels |
List help center sectionsINTERCOM_LIST_HELP_CENTER_SECTIONS | Fetch a list of all help center sections in descending order by updated_at. | All levels |
List internal articlesINTERCOM_LIST_INTERNAL_ARTICLES | Fetches one page of internal articles from Intercom. | All levels |
List news itemsINTERCOM_LIST_NEWS_ITEMS | Fetch a list of all news items from Intercom. | All levels |
List segmentsINTERCOM_LIST_SEGMENTS | Retrieve all segments defined within a workspace for filtering and categorizing contacts. | All levels |
List subscriptions for a contactINTERCOM_LIST_SUBSCRIPTIONS_FOR_A_CONTACT | You can fetch a list of subscription types that are attached to a contact. | All levels |
List subscription typesINTERCOM_LIST_SUBSCRIPTION_TYPES | List all subscription types available in the workspace. | All levels |
List tagsINTERCOM_LIST_TAGS | Fetch all tags for the workspace. Use when you need to retrieve all available tags that can be applied to contacts, companies, and conversations. | All levels |
List tags attached to a contactINTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACT | You can fetch a list of all tags that are attached to a specific contact. | All levels |
List teamsINTERCOM_LIST_TEAMS | Retrieve all teams within a workspace. Use when you need to get a list of all available teams, their members, or assignment configurations. | All levels |
List ticket statesINTERCOM_LIST_TICKET_STATES | Fetch all ticket states for the workspace. | All levels |
List ticket typesINTERCOM_LIST_TICKET_TYPES | Retrieve all ticket types for the workspace. | All levels |
Merge a lead and a userINTERCOM_MERGE_A_LEAD_AND_A_USER | You can merge a contact with a role of lead into a contact with a role of user. | Full access |
Register fin voice callINTERCOM_REGISTER_FIN_VOICE_CALL | Register a Fin Voice call with Intercom. Use when you need to create a record of an external voice call in Intercom, enabling AI-powered call analysis and customer interaction tracking. | Read + write, Full access |
Remove subscription from a contactINTERCOM_REMOVE_SUBSCRIPTION_FROM_A_CONTACT | You can remove a specific subscription from a contact. | Full access |
Remove tag from a contactINTERCOM_REMOVE_TAG_FROM_A_CONTACT | You can remove tag from a specific contact. | Full access |
Reopen conversationINTERCOM_REOPEN_CONVERSATION | Reopens a closed conversation in Intercom. | Read + write, Full access |
Reply ticketINTERCOM_REPLY_TICKET | Reply to a ticket with a message from admin or contact, or with a note for admins. | Read + write, Full access |
Reply to conversationINTERCOM_REPLY_TO_CONVERSATION | Sends a reply to an existing conversation in Intercom. | Read + write, Full access |
Retrieve an adminINTERCOM_RETRIEVE_AN_ADMIN | You can retrieve the details of a single admin. | All levels |
Retrieve an articleINTERCOM_RETRIEVE_AN_ARTICLE | You can fetch the details of a single article by making a GET request to https://api.intercom.io/articles/<id>. | All levels |
Retrieve a collectionINTERCOM_RETRIEVE_A_COLLECTION | You can fetch the details of a single collection by making a GET request to https://api.intercom.io/help_center/collections/<id>. | All levels |
Retrieve a company by idINTERCOM_RETRIEVE_A_COMPANY_BY_ID | You can fetch a single company. | All levels |
Retrieve a help centerINTERCOM_RETRIEVE_A_HELP_CENTER | You can fetch the details of a single Help Center by making a GET request to https://api.intercom.io/help_center/help_center/<id>. | All levels |
Retrieve a job statusINTERCOM_RETRIEVE_A_JOB_STATUS | Retrieve the status of a data export job. Use when checking the progress of an export job by providing the job identifier. | All levels |
Retrieve a macroINTERCOM_RETRIEVE_A_MACRO | Fetch a single macro (saved reply) by its ID. | All levels |
Retrieve a segmentINTERCOM_RETRIEVE_A_SEGMENT | Retrieve details for a single segment by its ID. | All levels |
Retrieve companiesINTERCOM_RETRIEVE_COMPANIES | You can fetch a single company by passing in company_id or name. | All levels |
Retrieve internal articleINTERCOM_RETRIEVE_INTERNAL_ARTICLE | Retrieve an internal article by ID from Intercom. | All levels |
Retrieve noteINTERCOM_RETRIEVE_NOTE | Retrieve details of a single note by its identifier. | All levels |
Retrieve teamINTERCOM_RETRIEVE_TEAM | Retrieve detailed information about a specific team by ID. | All levels |
Retrieve visitor with user idINTERCOM_RETRIEVE_VISITOR_WITH_USER_ID | Retrieve a specific visitor's details using their user_id. | All levels |
Scroll over all companiesINTERCOM_SCROLL_OVER_ALL_COMPANIES | The list all companies functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. | All levels |
Search contactsINTERCOM_SEARCH_CONTACTS | Search for contacts using query filters with operators. | All levels |
Search conversationsINTERCOM_SEARCH_CONVERSATIONS | Searches for conversations using query string with support for filtering and sorting | All levels |
Search for articlesINTERCOM_SEARCH_FOR_ARTICLES | You can search for articles by making a GET request to https://api.intercom.io/articles/search. | All levels |
Search internal articlesINTERCOM_SEARCH_INTERNAL_ARTICLES | Searches one page of internal articles in Intercom. | All levels |
Search ticketsINTERCOM_SEARCH_TICKETS | Search tickets in Intercom by filtering attribute values. | All levels |
Set admin to awayINTERCOM_SET_ADMIN_TO_AWAY | Set an admin to away status in Intercom. Use when you need to mark an admin as away, optionally with a specific reason and reassignment behavior. | Read + write, Full access |
Set an admin to awayINTERCOM_SET_AN_ADMIN_TO_AWAY | You can set an Admin as away for the Inbox. | Read + write, Full access |
Show callINTERCOM_SHOW_CALL | Retrieve a single call by ID from Intercom. | All levels |
Show call transcriptINTERCOM_SHOW_CALL_TRANSCRIPT | Get call transcript by call ID. Use when you need to retrieve the transcript text from a recorded call. | All levels |
Show contact by external idINTERCOM_SHOW_CONTACT_BY_EXTERNAL_ID | Retrieve a contact by their external ID. Use when you need to fetch contact details using an identifier from your external system rather than Intercom's internal ID. Only supports users, not leads. | All levels |
Unarchive contactINTERCOM_UNARCHIVE_CONTACT | Unarchive a previously archived contact in Intercom. | Read + write, Full access |
Update an articleINTERCOM_UPDATE_AN_ARTICLE | You can update the details of a single article by making a PUT request to https://api.intercom.io/articles/<id>. | Read + write, Full access |
Update a collectionINTERCOM_UPDATE_A_COLLECTION | You can update the details of a single collection by making a PUT request to https://api.intercom.io/collections/<id>. | Read + write, Full access |
Update a companyINTERCOM_UPDATE_A_COMPANY | You can update a single company using the Intercom provisioned id. | Read + write, Full access |
Update a contactINTERCOM_UPDATE_A_CONTACT | You can update an existing contact (ie. user or lead). | Read + write, Full access |
Update contactINTERCOM_UPDATE_CONTACT | Update an existing contact in Intercom. Use when you need to modify contact information such as name, email, custom attributes, or other properties. | Read + write, Full access |
Update content import sourceINTERCOM_UPDATE_CONTENT_IMPORT_SOURCE | Update an existing content import source in Fin Content Library. | Read + write, Full access |
Update data attributeINTERCOM_UPDATE_DATA_ATTRIBUTE | Update an existing data attribute in Intercom. | Read + write, Full access |
Update external pageINTERCOM_UPDATE_EXTERNAL_PAGE | Update an existing external page in Fin Content Library. | Read + write, Full access |
Update internal articleINTERCOM_UPDATE_INTERNAL_ARTICLE | Update an internal article with new title, body, author or owner information. | Read + write, Full access |
Update ticketINTERCOM_UPDATE_TICKET | Update an existing ticket in Intercom. Use when you need to modify ticket attributes, state, assignment, or other properties. | Read + write, Full access |
Update ticket typeINTERCOM_UPDATE_TICKET_TYPE | Update an existing ticket type in the workspace. | Read + write, Full access |
Update ticket type attributeINTERCOM_UPDATE_TICKET_TYPE_ATTRIBUTE | Update an existing attribute for a ticket type. | Read + write, Full access |
Just ask in plain language: “check Intercom for …”, “create … in Intercom”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.
| Agent says | What's happening | Fix |
|---|---|---|
| "Intercom isn't connected" | No active connection (or this agent is denied) | Connect on the Integrations page; check the agent's per-app policy |
| "The connection has expired" | Intercom ended the authorization (they all do periodically) | Click Reconnect on the account, same settings, one click |
| "I'm not allowed to do that" | The action is above the account's access level, or the agent is scoped down | Raise the level under Manage, or adjust that agent's policy |
| It did something unexpected | The ask was ambiguous (e.g. matched an existing item) | Be explicit, "create a NEW …", and give agents a working folder where relevant |