Intercom MCP
for AI agents
FloConnector is a hosted Intercom MCP server. Securely connect Claude, ChatGPT and other AI clients to Intercom. Ask in plain English; it runs the 133 tools for you, behind one endpoint, with you deciding what it can touch.
Tools
Everything your AI can do in Intercom
133 tools your agent gets the moment Intercom is connected.
133 tools
- add_subscription_to_a_contact write
Add subscription to a contact
You can add a specific subscription to a contact. In Intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.Attaching a contact to an opt-out subscription type will opt that user out from receiving messages related to that subscription type. 2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type. This will return a subscription type model for the subscription type that was added to the contact.
- add_tag_to_contact write
Add tag to contact
Tool to 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.
- archive_contact write
Archive contact
Tool to archive a single contact in Intercom. Use when you need to archive a contact by their ID.
- assign_conversation write
Assign conversation
Assigns a conversation to a specific admin or team in Intercom. Mutates live conversation state; confirm intent before bulk-assigning multiple conversations.
- attach_contact_to_company write
Attach contact to company
Tool to attach a contact to a company in Intercom. Use when you need to associate a contact with a company.
- attach_contact_to_conversation write
Attach contact to conversation
Tool to attach a contact participant to a conversation on behalf of admin or contact. Use when you need to add a new participant to an existing conversation.
- attach_tag_to_conversation write
Attach tag to conversation
Tool to add a tag to a specific conversation in Intercom. Use when you need to attach or tag a conversation.
- attach_tag_to_ticket write
Attach tag to ticket
Tool to 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.
- block_contact write
Block contact
Tool to block a single contact in Intercom. Use when you need to block a contact, which will also archive their conversations.
- cancel_data_export write
Cancel data export
Tool to cancel an active content data export job. Use when you need to terminate an ongoing export and update its status to 'canceled'.
- close_conversation write
Close conversation
Closes a conversation in Intercom, marking it as resolved. Requires explicit user confirmation before calling; closing is irreversible without a separate reopen action. Send any reply via INTERCOM_REPLY_TO_CONVERSATION before calling this tool — parallel execution on the same conversation causes conflicts.
- create_a_collection write
Create a collection
You can create a new collection by making a POST request to `https://api.intercom.io/help_center/collections.`
- create_an_article write
Create an article
You can create a new article by making a POST request to `https://api.intercom.io/articles`.
- create_a_note write
Create a note
You can add a note to a single contact.
- create_contact write
Create contact
Tool to create a new contact in Intercom workspace. Use when you need to add a user or lead to Intercom. At least one identifier (email, external_id, or role) must be provided.
- create_content_import_source write
Create content import source
Tool to create a new content import source for the Fin Content Library. Use when you need to create a container for External Pages to be ingested into Intercom's AI content system.
- create_conversation write
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.
- create_data_attribute write
Create data attribute
Tool to create a custom data attribute for contacts or companies. Use when you need to define a new attribute to track additional information beyond standard fields.
- create_data_event write
Create data event
Tool to submit a data event to Intercom to track user activities. Use when you need to notify Intercom of user actions and changes. Events are detected as duplicates using workspace ID, contact identifier, event name, and timestamp.
- create_data_export read
Create data export
Tool to initiate an async data export job for message content. Use when you need to export messages created within a specific timeframe. Only one active job per workspace is allowed; exceeding this limit triggers a 429 error. Jobs expire two days after completion.
- create_external_page write
Create external page
Tool to create an external page in Fin Content Library or update an existing page by external ID. Use when you need to ingest new content or update existing content for AI-generated answers. Supports upsert behavior: if a page with the same source_id and external_id exists, it will be updated instead of creating a new one.
- create_help_center_section write
Create help center section
Tool to create a new help center section within a collection. Use when you need to add a new section to organize articles in the help center hierarchy (Help Center → Collections → Sections → Articles). Supports multilingual content via translated_content parameter.
- create_internal_article write
Create internal article
Tool to create a new internal article for team knowledge sharing. Use when you need to add new internal documentation or knowledge base articles for team members.
- create_or_update_a_company write
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 new company will be created, if found, that company will be updated. {% admonition type="attention" name="Using `company_id`" %} You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. {% /admonition %}
- create_tag write
Create or update tag
Tool to create or update a tag, and optionally tag/untag companies or tag contacts. Use when you need to create a new tag, update an existing tag, or apply/remove tags to/from companies or users.
- create_ticket write
Create ticket
Tool to create a ticket in Intercom to track customer requests and issues. Use when you need to create a new support ticket with specified type, contacts, and attributes.
- create_ticket_type write
Create a ticket type
Tool to create a new ticket type that defines the data structure for tracking customer requests. Use when you need to establish a new category of tickets with specific fields and states.
- create_ticket_type_attribute write
Create ticket type attribute
Tool to create a new attribute for a ticket type in Intercom. Use when you need to add custom attributes to ticket types for data collection.
- data_event_summaries write
Create event summaries
Tool to create event summaries for a user to track event occurrences. Use when you need to bulk update event counts for a user.
- delete_a_collection write
Delete a collection
You can delete a single collection by making a DELETE request to `https://api.intercom.io/collections/<id>`.
- delete_a_company write
Delete a company
You can delete a single company.
- delete_an_article write
Delete an article
You can delete a single article by making a DELETE request to `https://api.intercom.io/articles/<id>`.
- delete_a_tag_delete_tag write
Delete a tag
Tool to delete a tag from Intercom workspace. Use when you need to permanently remove a tag that is no longer needed.
- delete_a_visitor write
Delete a visitor
Tool to delete a visitor from the Intercom workspace. Use when you need to permanently remove a visitor record.
- delete_contact write
Delete a contact
Tool to delete a contact from the Intercom workspace. Use when you need to permanently remove a contact record.
- delete_content_import_source write
Delete content import source
Tool to delete a content import source and all its external pages. Use when you need to remove a content import source from Intercom. This operation is permanent and cannot be undone.
- delete_external_page write
Delete external page
Tool to delete an external page from content library and AI answers. Use when you need to remove an external page from Intercom's AI knowledge base.
- delete_internal_article write
Delete internal article
Tool to delete a single internal article by ID. Use when you need to permanently remove an internal article from Intercom.
- delete_ticket write
Delete ticket
Tool to delete a ticket from the Intercom system. Use when you need to permanently remove a ticket.
- detach_a_contact write
Detach a contact from tag
Tool to remove a tag from a specific contact in Intercom. Use when you need to detach or untag a contact.
- detach_contact_from_company write
Detach contact from company
Tool to detach a contact from a company in Intercom. Use when you need to remove a company association from a contact.
- detach_tag_from_conversation write
Detach tag from conversation
Tool to remove a tag from a specific conversation in Intercom. Use when you need to detach or untag a conversation.
- detach_tag_from_ticket write
Detach tag from ticket
Tool to remove a tag from a ticket in Intercom. Use when you need to detach or remove a specific tag from a ticket.
- download_data_export read
Download data export
Tool to download content data export from Intercom. Use when you need to retrieve exported message data from a completed data export job. The data is returned as a gzipped CSV file stream.
- enqueue_create_ticket write
Enqueue create ticket
Tool to enqueue ticket creation for asynchronous processing. Use when you need to create a ticket in Intercom. The system attempts validation on inputs before tasks are enqueued.
- find_tag read
Find a tag
Tool to retrieve details for a specific tag by its ID. Use when you need to get information about a particular tag in the workspace.
- get_a_contact read
Get a contact
You can fetch the details of a single contact.
- get_content_import_source read
Get content import source
Tool to retrieve a content import source by its ID. Use when you need to fetch details about a specific content import source from Intercom's AI features.
- get_conversation read
Get conversation
Retrieves a specific conversation by ID with all messages and details. Key response caveats: `conversation_parts` are paginated — walk all cursors for complete transcripts. Fields `title`, `subject`, `source.body`, `conversation_parts.body`, `statistics`, and some contact properties can be null. System/workflow events appear in `conversation_parts` with null `body` or `author`; `first_admin_reply_at` may be null despite actual replies — use `last_admin_reply_at` for SLA calculations. Attachment URLs in `conversation_parts` are short-lived — download promptly. The `state` field and `open` boolean can diverge — re-fetch to verify state before assign/reply/close actions. Timestamps are Unix epoch seconds UTC. Use this tool (not INTERCOM_SEARCH_CONVERSATIONS) when full message context is required.
- get_counts read
Get entity counts
Tool to retrieve summary counts for Intercom app entities including companies, users, leads, tags, segments, and conversations. Use when you need to get statistics about the total number of entities in the workspace or conversation counts.
- get_custom_object_instance_by_external_id read
Get custom object instance by external ID
Tool to retrieve a custom object instance by its external_id. Use when you need to fetch a specific custom object instance from Intercom using an identifier from your external system rather than Intercom's internal ID.
- get_external_page read
Get external page
Tool to retrieve an external page from Fin Content Library by ID. Use when you need to fetch details of a specific external page including its content, metadata, and AI availability settings.
- get_ticket read
Get ticket
Tool to retrieve a ticket from Intercom. Use when you need to fetch comprehensive details about a specific ticket including state, type, attributes, and contacts.
- get_ticket_type read
Get a ticket type
Tool to retrieve details for a specific ticket type by its ID. Use when you need to get complete information about a ticket type including its attributes and states.
- identify_an_admin read
Identify an admin
You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). > 🚧 Single Sign On > > If you are building a custom "Log in with Intercom" flow for your site, and you call the `/me` endpoint to identify the logged-in user, you should not accept any sign-ins from users with unverified email addresses as it poses a potential impersonation security risk.
- jobs_status read
Retrieve job status
Tool to retrieve the status of job execution. Use when checking progress and outcome of asynchronous operations like data imports or exports.
- list_all_activity_logs read
List all activity logs
You can get a log of activities by all admins in an app.
- list_all_admins read
List all admins
You can fetch a list of admins for a given workspace.
- list_all_articles read
List all articles
You can fetch a list of all articles by making a GET request to `https://api.intercom.io/articles`. > 📘 How are the articles sorted and ordered? > > Articles will be returned in descending order on the `updated_at` attribute. This means if you need to iterate through results then we'll show the most recently updated articles first.
- list_all_collections read
List all collections
You can fetch a list of all collections by making a GET request to `https://api.intercom.io/help_center/collections`. Collections will be returned in descending order on the `updated_at` attribute. This means if you need to iterate through results then we'll show the most recently updated collections first.
- list_all_companies read
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 users in list responses. When using the Companies endpoint and the pages object to iterate through the returned companies, there is a limit of 10,000 Companies that can be returned. If you need to list or iterate on more than 10,000 Companies, please use the [Scroll API](https://developers.intercom.com/reference#iterating-over-all-companies). {% admonition type="warning" name="Pagination" %} You can use pagination to limit the number of results returned. The default is `20` results per page. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. {% /admonition %}
- list_all_help_centers read
List all help centers
You can list all Help Centers by making a GET request to `https://api.intercom.io/help_center/help_centers`.
- list_all_macros read
List all macros
Tool to fetch a list of all macros (saved replies) in your workspace for use in automating responses. The macros are returned in descending order by updated_at. Use when you need to retrieve available macros or sync macro data.
- list_all_notes read
List all notes
You can fetch a list of notes that are associated to a contact.
- list_attached_companies_for_contact read
List attached companies for contact
You can fetch a list of companies that are associated to a contact.
- list_attached_contacts read
List attached contacts
You can fetch a list of all contacts that belong to a company.
- list_attached_segments_for_companies read
List attached segments for companies
You can fetch a list of all segments that belong to a company.
- list_attached_segments_for_contact read
List attached segments for contact
You can fetch a list of segments that are associated to a contact.
- list_away_status_reasons read
List away status reasons
Tool to retrieve all away status reasons for a workspace including deleted ones. Use when you need to list available away status options for team members.
- list_calls read
List calls
Tool to list all phone calls from Intercom with pagination support. Use when you need to retrieve call records, view call history, or iterate through calls.
- list_calls_with_transcripts read
List calls with transcripts
Tool to retrieve calls by conversation IDs with transcripts when available. Use when you need to get call records with their transcripts for specific conversations. Maximum 20 conversation IDs per request.
- list_company_notes read
List company notes
Tool to list all notes associated with a specific company. Use when you need to retrieve all notes that have been added to a company record.
- list_contacts read
List all contacts
Tool to list all contacts (users or leads) in your Intercom workspace with pagination support. Use when you need to retrieve multiple contacts or iterate through all contacts in the workspace.
- list_content_import_sources read
List content import sources
Tool to retrieve all content import sources for the workspace. Use when you need to list all content sources for Fin Content Library.
- list_conversations read
List conversations
Lists all conversations from Intercom with pagination support. This endpoint does not support filtering by state, assignee, or other attributes - use INTERCOM_SEARCH_CONVERSATIONS for filtering. Paginate by reading pages.next.starting_after from each response and passing it as starting_after until pages.next is absent. Response fields including title, source.body, conversation_parts.body, and statistics may be null; guard before string operations.
- list_data_attributes read
List data attributes
Tool to list all data attributes for contacts, companies, and conversations. Use when you need to retrieve metadata about available data attributes.
- list_data_events read
List data events
Tool to retrieve a log of data events belonging to a customer. Use when you need to list events for a specific user. Note: Only events less than 90 days old can be listed.
- list_external_pages read
List external pages
Tool to list all external pages from Fin Content Library. Use when you need to retrieve external pages used for AI-generated answers in Intercom.
- list_help_center_sections read
List help center sections
Tool to fetch a list of all help center sections in descending order by updated_at. Use when you need to retrieve sections from the help center hierarchy (Help Center → Collections → Sections → Articles).
- list_internal_articles read
List internal articles
Fetches one page of internal articles from Intercom. Uses Intercom's cursor-based pagination via `starting_after`. ONE Intercom API call is made per invocation; pagination is caller-driven via the `starting_after` request parameter and the `next_starting_after` field in the response.
- list_news_items read
List all news items
Tool to fetch a list of all news items from Intercom. Use when you need to retrieve news items posted in the workspace.
- list_segments read
List all segments
Tool to retrieve all segments defined within a workspace for filtering and categorizing contacts. Use when you need to get a list of all available segments or check segment counts.
- list_subscriptions_for_a_contact read
List subscriptions for a contact
You can fetch a list of subscription types that are attached to a contact. These can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. This will return a list of Subscription Type objects that the contact is associated with. The data property will show a combined list of: 1.Opt-out subscription types that the user has opted-out from. 2.Opt-in subscription types that the user has opted-in to receiving.
- list_subscription_types read
List subscription types
Tool to list all subscription types available in the workspace. Use when you need to retrieve subscription configuration details including state, translations, consent type, and supported content types.
- list_tags read
List all tags
Tool to fetch all tags for the workspace. Use when you need to retrieve all available tags that can be applied to contacts, companies, and conversations.
- list_tags_attached_to_a_contact read
List tags attached to a contact
You can fetch a list of all tags that are attached to a specific contact.
- list_teams read
List all teams
Tool to retrieve all teams within a workspace. Use when you need to get a list of all available teams, their members, or assignment configurations.
- list_ticket_states read
List all ticket states
Tool to fetch all ticket states for the workspace. Use when you need to retrieve all configured ticket states, including both active and archived ones.
- list_ticket_types read
List all ticket types
Tool to retrieve all ticket types for the workspace. Use when you need to get all available ticket type configurations including attributes and states.
- merge_a_lead_and_a_user write
Merge a lead and a user
You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`.
- register_fin_voice_call write
Register Fin Voice call
Tool to 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.
- remove_subscription_from_a_contact write
Remove subscription from a contact
You can remove a specific subscription from a contact. This will return a subscription type model for the subscription type that was removed from the contact.
- remove_tag_from_a_contact write
Remove tag from a contact
You can remove tag from a specific contact. This will return a tag object for the tag that was removed from the contact.
- reopen_conversation write
Reopen conversation
Reopens a closed conversation in Intercom. Only operates correctly on conversations in a closed state; verify state via INTERCOM_GET_CONVERSATION before calling, as using on open or snoozed conversations may produce unexpected results.
- reply_ticket write
Reply to ticket
Tool to reply to a ticket with a message from admin or contact, or with a note for admins. Use when you need to add a response or comment to an existing ticket.
- reply_to_conversation write
Reply to conversation
Sends a reply to an existing conversation in Intercom. Always send reply before closing a conversation — never parallelize with INTERCOM_CLOSE_CONVERSATION on the same conversation. Verify conversation state via INTERCOM_GET_CONVERSATION before replying, as open/snoozed/closed states may diverge from cached values.
- retrieve_a_collection read
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>`.
- retrieve_a_company_by_id read
Retrieve a company by id
You can fetch a single company.
- retrieve_a_help_center read
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>`.
- retrieve_a_job_status read
Retrieve job status
Tool to retrieve the status of a data export job. Use when checking the progress of an export job by providing the job identifier.
- retrieve_a_macro read
Retrieve a macro
Tool to fetch a single macro (saved reply) by its ID. The macro will only be returned if it is visible to the authenticated user based on its visibility settings.
- retrieve_an_admin read
Retrieve an admin
You can retrieve the details of a single admin.
- retrieve_an_article read
Retrieve an article
You can fetch the details of a single article by making a GET request to `https://api.intercom.io/articles/<id>`.
- retrieve_a_segment read
Retrieve a segment
Tool to retrieve details for a single segment by its ID. Use when you need to get information about a specific segment including its name, type, and optionally the count of items.
- retrieve_companies read
Retrieve companies
You can fetch a single company by passing in `company_id` or `name`. `https://api.intercom.io/companies?name={name}` `https://api.intercom.io/companies?company_id={company_id}` You can fetch all companies and filter by `segment_id` or `tag_id` as a query parameter. `https://api.intercom.io/companies?tag_id={tag_id}` `https://api.intercom.io/companies?segment_id={segment_id}`
- retrieve_internal_article read
Retrieve internal article
Tool to retrieve an internal article by ID from Intercom. Use when you need to fetch details of a specific internal article including its title, body content, and metadata.
- retrieve_note read
Retrieve note
Tool to retrieve details of a single note by its identifier. Use when you need to fetch the complete information about a specific note.
- retrieve_team read
Retrieve a team
Tool to retrieve detailed information about a specific team by ID. Use when you need to get team details including members and assignment configuration.
- retrieve_visitor_with_user_id read
Retrieve visitor with user ID
Tool to retrieve a specific visitor's details using their user_id. Use when you need to fetch comprehensive visitor information including profile data, location, and activity metrics.
- scroll_over_all_companies read
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. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. - Each app can only have 1 scroll open at a time. You'll get an error message if you try to have more than one open per app. You can get the first page of companies by simply sending a GET request to the scroll endpoint. For subsequent requests you will need to use the scroll parameter from the response type="danger" name="Scroll network timeouts". Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: "Request failed due to an internal network error. Please restart the scroll operation." If this happens, you will need to restart your scroll query.
- search_contacts read
Search contacts
Tool to search for contacts using query filters with operators. Use when finding contacts by role, email, name, or attributes. Response entries may include null or non-dictionary values; guard against missing/null fields before accessing nested properties. A contact may have multiple emails or contact_ids; deduplicate when aggregating across searches.
- search_conversations read
Search conversations
Searches for conversations using query string with support for filtering and sorting
- search_for_articles read
Search for articles
You can search for articles by making a GET request to `https://api.intercom.io/articles/search`.
- search_internal_articles read
Search internal articles
Searches one page of internal articles in Intercom. Uses Intercom's cursor-based pagination via `starting_after`. ONE Intercom API call is made per invocation; pagination is caller-driven via the `starting_after` request parameter and the `next_starting_after` field in the response. Optionally filtered by `folder_id`.
- search_tickets read
Search tickets
Tool to search tickets in Intercom by filtering attribute values. Use when you need to find tickets matching specific criteria like state, creation date, assignment, or custom attributes.
- set_admin_to_away write
Set admin to away
Tool to 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.
- set_an_admin_to_away write
Set an admin to away
You can set an Admin as away for the Inbox.
- show_call read
Show call
Tool to retrieve a single call by ID from Intercom. Use when you need to get detailed information about a specific phone call.
- show_call_transcript read
Show call transcript
Tool to get call transcript by call ID. Use when you need to retrieve the transcript text from a recorded call.
- show_contact_by_external_id read
Show contact by external ID
Tool to 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.
- unarchive_contact write
Unarchive contact
Tool to unarchive a previously archived contact in Intercom. Use when you need to restore an archived contact by their ID.
- update_a_collection write
Update a collection
You can update the details of a single collection by making a PUT request to `https://api.intercom.io/collections/<id>`.
- update_a_company write
Update a company
You can update a single company using the Intercom provisioned `id`. {% admonition type="attention" name="Using `company_id`" %} When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. {% /admonition %}
- update_a_contact write
Update a contact
You can update an existing contact (ie. user or lead).
- update_an_article write
Update an article
You can update the details of a single article by making a PUT request to `https://api.intercom.io/articles/<id>`.
- update_contact write
Update contact
Tool to update an existing contact in Intercom. Use when you need to modify contact information such as name, email, custom attributes, or other properties.
- update_content_import_source write
Update content import source
Tool to update an existing content import source in Fin Content Library. Use when you need to modify the URL, sync behavior, or status of an existing content import source.
- update_data_attribute write
Update data attribute
Tool to update an existing data attribute in Intercom. Use when you need to modify a data attribute's description, archive status, or messenger writability. Note: Changing a data attribute's type via the API is restricted and must be done through the UI.
- update_external_page write
Update external page
Tool to update an existing external page in Fin Content Library. Use when you need to modify the content, metadata, or availability settings of an external page. Only pages created through the API can be updated.
- update_internal_article write
Update internal article
Tool to update an internal article with new title, body, author or owner information. Use when you need to modify an existing internal article in Intercom.
- update_ticket write
Update ticket
Tool to update an existing ticket in Intercom. Use when you need to modify ticket attributes, state, assignment, or other properties.
- update_ticket_type write
Update a ticket type
Tool to update an existing ticket type in the workspace. Use when you need to modify a ticket type's name, description, category, icon, or archive status.
- update_ticket_type_attribute write
Update ticket type attribute
Tool to update an existing attribute for a ticket type. Use when you need to modify properties like description, visibility, or requirements for a ticket type attribute.
No tools match your search.






