Manage a Intercom workspace for customer support operations. Handle conversations, manage contacts and companies, create and update tickets, organize help center articles, and automate support workflows.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Intercom API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Intercom
App-specific connection GIF coming soon
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Intercom API │
│ (User Chat) │ │ (OAuth) │ │ (v2.17) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Intercom│ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Intercom │
│ File │ │ Auth │ │ Workspace│
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Intercom again."
bash
# List open conversations
clawlink_call_tool --tool "intercom_list_conversations" --params '{}'
# Get a contact by email
clawlink_call_tool --tool "intercom_search_contacts" --params '{"query": {"field": "email", "operator": "=", "value": "user@example.com"}}'
# Get workspace admins
clawlink_call_tool --tool "intercom_list_all_admins" --params '{}'
All Intercom tool calls are authenticated automatically by ClawLink using the user's connected Intercom workspace.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Intercom API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for intercom in the list.
bash
clawlink_list_tools --integration intercom
Response: Returns the live tool catalog for Intercom.
If Intercom tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration intercomToolDescriptionModeintercom_list_conversationsList all conversations with pagination supportReadintercom_get_conversationGet full conversation details with all messages and partsReadintercom_search_conversationsSearch conversations using query filtersReadintercom_create_conversationCreate a new conversation with user or contactWriteintercom_reply_to_conversationSend a reply to an existing conversationWriteintercom_close_conversationClose a conversation marking it as resolvedWriteintercom_reopen_conversationReopen a closed conversationWriteintercom_assign_conversationAssign a conversation to an admin or teamWriteintercom_attach_contact_to_conversationAdd a participant to an existing conversationWrite
ToolDescriptionModeintercom_list_contactsList all contacts (users and leads) with paginationReadintercom_get_a_contactGet details of a single contactReadintercom_search_contactsSearch contacts using query filtersReadintercom_show_contact_by_external_idGet contact by external ID from your systemReadintercom_create_contactCreate a new contact (user or lead)Writeintercom_update_contactUpdate an existing contact's informationWriteintercom_update_a_contactUpdate an existing contactWriteintercom_archive_contactArchive a contactWriteintercom_unarchive_contactRestore an archived contactWriteintercom_block_contactBlock a contact and archive their conversationsWriteintercom_delete_contactPermanently delete a contactWriteintercom_merge_a_lead_and_a_userMerge a lead into a user contactWriteintercom_list_tags_attached_to_a_contactList all tags attached to a specific contactReadintercom_add_tag_to_contactAdd a tag to a contactWriteintercom_remove_tag_from_a_contactRemove a tag from a contactWriteintercom_add_subscription_to_a_contactAdd a subscription type to a contactWriteintercom_remove_subscription_from_a_contactRemove a subscription from a contactWriteintercom_list_subscriptions_for_a_contactList all subscription types for a contactReadintercom_list_attached_companies_for_contactList companies associated with a contactReadintercom_list_attached_segments_for_contactList segments for a contactReadintercom_attach_contact_to_companyAssociate a contact with a companyWriteintercom_detach_contact_from_companyRemove company association from a contactWriteintercom_list_all_notesList all notes for a contactReadintercom_create_a_noteAdd a note to a contactWriteintercom_retrieve_visitor_with_user_idGet visitor details by user IDReadintercom_delete_a_visitorPermanently delete a visitorWrite
ToolDescriptionModeintercom_list_all_companiesList all companies sorted by last requestReadintercom_retrieve_a_company_by_idGet a single company by IDReadintercom_retrieve_companiesGet company by company_id or name, or filter by tag/segmentReadintercom_scroll_over_all_companiesIterate over all companies using scroll APIReadintercom_list_attached_contactsList contacts belonging to a companyReadintercom_list_attached_segments_for_companiesList segments for a companyReadintercom_list_company_notesList all notes associated with a companyReadintercom_create_or_update_a_companyCreate or update a company by company_idWriteintercom_update_a_companyUpdate a company's detailsWriteintercom_delete_a_companyPermanently delete a companyWrite
ToolDescriptionModeintercom_list_tagsList all tags in the workspaceReadintercom_find_tagGet details of a specific tag by IDReadintercom_create_tagCreate or update a tag and optionally tag/untag contactsWriteintercom_update_tagUpdate a tag's name by IDWriteintercom_delete_a_tag_delete_tagPermanently delete a tag from the workspaceWriteintercom_attach_tag_to_conversationAdd a tag to a conversationWriteintercom_detach_tag_from_conversationRemove a tag from a conversationWriteintercom_attach_tag_to_ticketAdd a tag to a ticketWriteintercom_detach_tag_from_ticketRemove a tag from a ticketWrite
ToolDescriptionModeintercom_list_all_articlesList all articles sorted by last updatedReadintercom_retrieve_an_articleGet article details by IDReadintercom_create_an_articleCreate a new help center articleWriteintercom_update_an_articleUpdate an article's content and settingsWriteintercom_delete_an_articlePermanently delete an articleWriteintercom_search_for_articlesSearch articles by queryRead
ToolDescriptionModeintercom_list_all_collectionsList all help center collectionsReadintercom_retrieve_a_collectionGet collection details by IDReadintercom_create_a_collectionCreate a new collection in the help centerWriteintercom_update_a_collectionUpdate a collection's settingsWriteintercom_delete_a_collectionPermanently delete a collectionWriteintercom_list_help_center_sectionsList all help center sectionsReadintercom_create_help_center_sectionCreate a new section within a collectionWrite
ToolDescriptionModeintercom_list_all_help_centersList all Help CentersReadintercom_retrieve_a_help_centerGet Help Center details by IDRead
ToolDescriptionModeintercom_list_internal_articlesList all internal articlesReadintercom_retrieve_internal_articleGet internal article details by IDReadintercom_create_internal_articleCreate a new internal articleWriteintercom_update_internal_articleUpdate an internal article's contentWriteintercom_delete_internal_articlePermanently delete an internal articleWriteintercom_search_internal_articlesSearch internal articles with optional folder filterRead
ToolDescriptionModeintercom_list_external_pagesList all external pages from Fin Content LibraryReadintercom_get_external_pageGet external page details by IDReadintercom_create_external_pageCreate or update an external page in Fin Content LibraryWriteintercom_update_external_pageUpdate an existing external pageWriteintercom_delete_external_pageRemove an external page from content libraryWriteintercom_list_content_import_sourcesList all content import sourcesReadintercom_get_content_import_sourceGet content import source detailsReadintercom_create_content_import_sourceCreate a new content import source for FinWriteintercom_update_content_import_sourceUpdate an existing content import sourceWriteintercom_delete_content_import_sourceDelete a content import source and its pagesWrite
ToolDescriptionModeintercom_list_news_itemsList all news items from the workspaceRead
ToolDescriptionModeintercom_search_ticketsSearch tickets by attribute filtersReadintercom_get_ticketGet ticket details by IDReadintercom_create_ticketCreate a new support ticketWriteintercom_update_ticketUpdate an existing ticket's attributes and stateWriteintercom_delete_ticketPermanently delete a ticketWriteintercom_reply_ticketReply to a ticket with message or noteWriteintercom_enqueue_create_ticketEnqueue ticket creation for async processingWrite
ToolDescriptionModeintercom_list_ticket_typesList all configured ticket typesReadintercom_get_ticket_typeGet ticket type details by IDReadintercom_create_ticket_typeCreate a new ticket type with specific fieldsWriteintercom_update_ticket_typeUpdate a ticket type's name, description, or iconWriteintercom_create_ticket_type_attributeAdd a custom attribute to a ticket typeWriteintercom_update_ticket_type_attributeUpdate a ticket type attribute's propertiesWriteintercom_list_ticket_statesList all ticket states including archived onesRead
ToolDescriptionModeintercom_list_all_adminsList all admins in the workspaceReadintercom_retrieve_an_adminGet admin details by IDReadintercom_identify_an_adminGet currently authenticated adminReadintercom_list_all_activity_logsGet activity logs for all adminsReadintercom_set_admin_to_awaySet an admin to away statusWriteintercom_set_an_admin_to_awaySet an admin to away for the inboxWriteintercom_list_teamsList all teams in the workspaceReadintercom_retrieve_teamGet team details by IDReadintercom_list_away_status_reasonsGet all away status reasons including deleted onesRead
ToolDescriptionModeintercom_list_all_macrosList all macros (saved replies) in workspaceReadintercom_retrieve_a_macroGet macro details by IDRead
ToolDescriptionModeintercom_list_segmentsList all segments defined in the workspaceReadintercom_retrieve_a_segmentGet segment details by IDRead
ToolDescriptionModeintercom_list_data_attributesList all data attributes for contacts and companiesReadintercom_create_data_attributeCreate a custom data attributeWriteintercom_update_data_attributeUpdate a data attribute's description or archive statusWriteintercom_list_data_eventsList events for a specific contact (last 90 days)Readintercom_create_data_eventSubmit a data event to track user activityWriteintercom_data_event_summariesBulk update event counts for a userWriteintercom_get_countsGet summary counts for entities in the workspaceRead
ToolDescriptionModeintercom_create_data_exportInitiate async export of message contentWriteintercom_download_data_exportDownload completed data export as gzipped CSVReadintercom_cancel_data_exportCancel an active data export jobWriteintercom_retrieve_a_job_statusCheck status of a data export jobRead
ToolDescriptionModeintercom_get_custom_object_instance_by_external_idGet custom object instance by external IDReadintercom_jobs_statusCheck status of asynchronous job executionRead
ToolDescriptionModeintercom_list_callsList all phone calls with paginationReadintercom_list_calls_with_transcriptsGet calls with transcripts by conversation IDsReadintercom_show_callGet call details by IDReadintercom_show_call_transcriptGet transcript text from a callReadintercom_register_fin_voice_callRegister a Fin Voice call for AI-powered analysisWrite
ToolDescriptionModeintercom_list_subscription_typesList all subscription types in the workspaceRead
ToolDescriptionModeintercom_customize_signup_formCustomize the appearance of a list's signup formWrite
bash
clawlink_call_tool --tool "intercom_list_conversations" \
--params '{}'
bash
clawlink_call_tool --tool "intercom_search_contacts" \
--params '{"query": {"field": "email", "operator": "=", "value": "user@example.com"}}'
bash
clawlink_call_tool --tool "intercom_create_contact" \
--params '{"email": "newuser@example.com", "role": "user", "name": "New User"}'
bash
clawlink_call_tool --tool "intercom_reply_to_conversation" \
--params '{"conversation_id": "CONVERSATION_ID", "message_type": "comment", "body": "Thank you for reaching out! We will get back to you shortly."}'
bash
clawlink_call_tool --tool "intercom_create_an_article" \
--params '{"title": "How to reset your password", "body": "<p>Follow these steps to reset your password...</p>", "state": "draft"}'
clawlink_list_integrations to confirm Intercom is connected.clawlink_list_tools --integration intercom to see the live catalog.clawlink_search_tools with a short query and integration intercom.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → search → describe → call │
│ │
│ Example: List conversations → Get details → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ list → get → describe → preview → confirm → call │
│ │
│ Example: Preview reply → User approves → Execute │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.conversation_parts are paginated — walk all cursors for complete transcripts.title, subject, source.body, conversation_parts.body, and statistics can be null in responses.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.conversation_parts are short-lived — download promptly.state field and open boolean can diverge — re-fetch to verify state before assign/reply/close actions.intercom_list_data_events.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration intercom.Missing connectionIntercom is not connected. Direct the user to https://claw-link.dev/dashboard?add=intercom.Permission errorThe authenticated admin lacks permission for this operation. Check admin roles in Intercom.Conversation not foundThe conversation ID does not exist or is not accessible.Contact not foundThe contact email or ID does not exist in the workspace.Write rejectedUser did not confirm a write action. Always confirm before executing writes.429 Rate limitToo many requests. Wait before retrying.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
intercom_get_conversation first.INTERCOM_REPLY_TO_CONVERSATION with INTERCOM_CLOSE_CONVERSATION on the same conversation.Powered by ClawLink — an integration hub for OpenClaw
