{"skill":{"slug":"intercom-support","displayName":"Intercom","summary":"Manage Intercom workspaces for customer support. Handle conversations, contacts, companies, tickets, and help center content. Automate replies, assign conver...","description":"---\nname: intercom-support\ndescription: Manage Intercom workspaces for customer support. Handle conversations, contacts, companies, tickets, and help center content. Automate replies, assign conversations to teams, manage articles, and track team performance.\n---\n\n# Intercom\n\n![Intercom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/intercom.svg?v=2)\n\nManage 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.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=intercom-support) for hosted connection flows and credentials so you do not need to configure Intercom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Intercom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Intercom API    │\n│   (User Chat)   │     │   (OAuth)    │     │   (v2.17)       │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin  │                       │\n         │  2. Pair Device   │                       │\n         │  3. Connect Intercom│                       │\n         │                   │  4. Secure Token      │\n         │                   │  5. Proxy Requests    │\n         │                   │                       │\n         ▼                   ▼                       ▼\n   ┌──────────┐      ┌──────────┐           ┌──────────┐\n   │  SKILL   │      │ Dashboard│           │ Intercom │\n   │  File    │      │ Auth     │           │ Workspace│\n   └──────────┘      └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Intercom again.\"\n\n## Quick Start\n\n```bash\n# List open conversations\nclawlink_call_tool --tool \"intercom_list_conversations\" --params '{}'\n\n# Get a contact by email\nclawlink_call_tool --tool \"intercom_search_contacts\" --params '{\"query\": {\"field\": \"email\", \"operator\": \"=\", \"value\": \"user@example.com\"}}'\n\n# Get workspace admins\nclawlink_call_tool --tool \"intercom_list_all_admins\" --params '{}'\n```\n\n## Authentication\n\nAll Intercom tool calls are authenticated automatically by ClawLink using the user's connected Intercom workspace.\n\n**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.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=intercom and connect Intercom (requires an active Intercom workspace).\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `intercom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration intercom\n```\n\n**Response:** Returns the live tool catalog for Intercom.\n\n### Reconnect\n\nIf Intercom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=intercom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration intercom`\n\n## Security & Permissions\n\n- Access is scoped to the connected Intercom workspace only.\n- **All write operations require explicit user confirmation.** Before executing any conversation, contact, or content action, confirm the target resource and intended effect with the user.\n- Destructive actions (delete contact, delete company, delete article) are marked as high-impact and must be confirmed.\n- Conversation state changes (close, reopen, assign) affect live customer conversations — confirm before executing.\n- Admin-only operations require the authenticated user to have admin permissions in the workspace.\n\n## Tool Reference\n\n### Conversations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_conversations` | List all conversations with pagination support | Read |\n| `intercom_get_conversation` | Get full conversation details with all messages and parts | Read |\n| `intercom_search_conversations` | Search conversations using query filters | Read |\n| `intercom_create_conversation` | Create a new conversation with user or contact | Write |\n| `intercom_reply_to_conversation` | Send a reply to an existing conversation | Write |\n| `intercom_close_conversation` | Close a conversation marking it as resolved | Write |\n| `intercom_reopen_conversation` | Reopen a closed conversation | Write |\n| `intercom_assign_conversation` | Assign a conversation to an admin or team | Write |\n| `intercom_attach_contact_to_conversation` | Add a participant to an existing conversation | Write |\n\n### Contacts & Visitors\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_contacts` | List all contacts (users and leads) with pagination | Read |\n| `intercom_get_a_contact` | Get details of a single contact | Read |\n| `intercom_search_contacts` | Search contacts using query filters | Read |\n| `intercom_show_contact_by_external_id` | Get contact by external ID from your system | Read |\n| `intercom_create_contact` | Create a new contact (user or lead) | Write |\n| `intercom_update_contact` | Update an existing contact's information | Write |\n| `intercom_update_a_contact` | Update an existing contact | Write |\n| `intercom_archive_contact` | Archive a contact | Write |\n| `intercom_unarchive_contact` | Restore an archived contact | Write |\n| `intercom_block_contact` | Block a contact and archive their conversations | Write |\n| `intercom_delete_contact` | Permanently delete a contact | Write |\n| `intercom_merge_a_lead_and_a_user` | Merge a lead into a user contact | Write |\n| `intercom_list_tags_attached_to_a_contact` | List all tags attached to a specific contact | Read |\n| `intercom_add_tag_to_contact` | Add a tag to a contact | Write |\n| `intercom_remove_tag_from_a_contact` | Remove a tag from a contact | Write |\n| `intercom_add_subscription_to_a_contact` | Add a subscription type to a contact | Write |\n| `intercom_remove_subscription_from_a_contact` | Remove a subscription from a contact | Write |\n| `intercom_list_subscriptions_for_a_contact` | List all subscription types for a contact | Read |\n| `intercom_list_attached_companies_for_contact` | List companies associated with a contact | Read |\n| `intercom_list_attached_segments_for_contact` | List segments for a contact | Read |\n| `intercom_attach_contact_to_company` | Associate a contact with a company | Write |\n| `intercom_detach_contact_from_company` | Remove company association from a contact | Write |\n| `intercom_list_all_notes` | List all notes for a contact | Read |\n| `intercom_create_a_note` | Add a note to a contact | Write |\n| `intercom_retrieve_visitor_with_user_id` | Get visitor details by user ID | Read |\n| `intercom_delete_a_visitor` | Permanently delete a visitor | Write |\n\n### Companies\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_companies` | List all companies sorted by last request | Read |\n| `intercom_retrieve_a_company_by_id` | Get a single company by ID | Read |\n| `intercom_retrieve_companies` | Get company by company_id or name, or filter by tag/segment | Read |\n| `intercom_scroll_over_all_companies` | Iterate over all companies using scroll API | Read |\n| `intercom_list_attached_contacts` | List contacts belonging to a company | Read |\n| `intercom_list_attached_segments_for_companies` | List segments for a company | Read |\n| `intercom_list_company_notes` | List all notes associated with a company | Read |\n| `intercom_create_or_update_a_company` | Create or update a company by company_id | Write |\n| `intercom_update_a_company` | Update a company's details | Write |\n| `intercom_delete_a_company` | Permanently delete a company | Write |\n\n### Tags & Labeling\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_tags` | List all tags in the workspace | Read |\n| `intercom_find_tag` | Get details of a specific tag by ID | Read |\n| `intercom_create_tag` | Create or update a tag and optionally tag/untag contacts | Write |\n| `intercom_update_tag` | Update a tag's name by ID | Write |\n| `intercom_delete_a_tag_delete_tag` | Permanently delete a tag from the workspace | Write |\n| `intercom_attach_tag_to_conversation` | Add a tag to a conversation | Write |\n| `intercom_detach_tag_from_conversation` | Remove a tag from a conversation | Write |\n| `intercom_attach_tag_to_ticket` | Add a tag to a ticket | Write |\n| `intercom_detach_tag_from_ticket` | Remove a tag from a ticket | Write |\n\n### Help Center & Articles\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_articles` | List all articles sorted by last updated | Read |\n| `intercom_retrieve_an_article` | Get article details by ID | Read |\n| `intercom_create_an_article` | Create a new help center article | Write |\n| `intercom_update_an_article` | Update an article's content and settings | Write |\n| `intercom_delete_an_article` | Permanently delete an article | Write |\n| `intercom_search_for_articles` | Search articles by query | Read |\n\n### Collections & Sections\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_collections` | List all help center collections | Read |\n| `intercom_retrieve_a_collection` | Get collection details by ID | Read |\n| `intercom_create_a_collection` | Create a new collection in the help center | Write |\n| `intercom_update_a_collection` | Update a collection's settings | Write |\n| `intercom_delete_a_collection` | Permanently delete a collection | Write |\n| `intercom_list_help_center_sections` | List all help center sections | Read |\n| `intercom_create_help_center_section` | Create a new section within a collection | Write |\n\n### Help Centers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_help_centers` | List all Help Centers | Read |\n| `intercom_retrieve_a_help_center` | Get Help Center details by ID | Read |\n\n### Internal Articles\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_internal_articles` | List all internal articles | Read |\n| `intercom_retrieve_internal_article` | Get internal article details by ID | Read |\n| `intercom_create_internal_article` | Create a new internal article | Write |\n| `intercom_update_internal_article` | Update an internal article's content | Write |\n| `intercom_delete_internal_article` | Permanently delete an internal article | Write |\n| `intercom_search_internal_articles` | Search internal articles with optional folder filter | Read |\n\n### External Pages & Content Import\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_external_pages` | List all external pages from Fin Content Library | Read |\n| `intercom_get_external_page` | Get external page details by ID | Read |\n| `intercom_create_external_page` | Create or update an external page in Fin Content Library | Write |\n| `intercom_update_external_page` | Update an existing external page | Write |\n| `intercom_delete_external_page` | Remove an external page from content library | Write |\n| `intercom_list_content_import_sources` | List all content import sources | Read |\n| `intercom_get_content_import_source` | Get content import source details | Read |\n| `intercom_create_content_import_source` | Create a new content import source for Fin | Write |\n| `intercom_update_content_import_source` | Update an existing content import source | Write |\n| `intercom_delete_content_import_source` | Delete a content import source and its pages | Write |\n\n### News\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_news_items` | List all news items from the workspace | Read |\n\n### Tickets\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_search_tickets` | Search tickets by attribute filters | Read |\n| `intercom_get_ticket` | Get ticket details by ID | Read |\n| `intercom_create_ticket` | Create a new support ticket | Write |\n| `intercom_update_ticket` | Update an existing ticket's attributes and state | Write |\n| `intercom_delete_ticket` | Permanently delete a ticket | Write |\n| `intercom_reply_ticket` | Reply to a ticket with message or note | Write |\n| `intercom_enqueue_create_ticket` | Enqueue ticket creation for async processing | Write |\n\n### Ticket Types & States\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_ticket_types` | List all configured ticket types | Read |\n| `intercom_get_ticket_type` | Get ticket type details by ID | Read |\n| `intercom_create_ticket_type` | Create a new ticket type with specific fields | Write |\n| `intercom_update_ticket_type` | Update a ticket type's name, description, or icon | Write |\n| `intercom_create_ticket_type_attribute` | Add a custom attribute to a ticket type | Write |\n| `intercom_update_ticket_type_attribute` | Update a ticket type attribute's properties | Write |\n| `intercom_list_ticket_states` | List all ticket states including archived ones | Read |\n\n### Admins & Teams\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_admins` | List all admins in the workspace | Read |\n| `intercom_retrieve_an_admin` | Get admin details by ID | Read |\n| `intercom_identify_an_admin` | Get currently authenticated admin | Read |\n| `intercom_list_all_activity_logs` | Get activity logs for all admins | Read |\n| `intercom_set_admin_to_away` | Set an admin to away status | Write |\n| `intercom_set_an_admin_to_away` | Set an admin to away for the inbox | Write |\n| `intercom_list_teams` | List all teams in the workspace | Read |\n| `intercom_retrieve_team` | Get team details by ID | Read |\n| `intercom_list_away_status_reasons` | Get all away status reasons including deleted ones | Read |\n\n### Macros\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_all_macros` | List all macros (saved replies) in workspace | Read |\n| `intercom_retrieve_a_macro` | Get macro details by ID | Read |\n\n### Segments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_segments` | List all segments defined in the workspace | Read |\n| `intercom_retrieve_a_segment` | Get segment details by ID | Read |\n\n### Data, Events & Analytics\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_data_attributes` | List all data attributes for contacts and companies | Read |\n| `intercom_create_data_attribute` | Create a custom data attribute | Write |\n| `intercom_update_data_attribute` | Update a data attribute's description or archive status | Write |\n| `intercom_list_data_events` | List events for a specific contact (last 90 days) | Read |\n| `intercom_create_data_event` | Submit a data event to track user activity | Write |\n| `intercom_data_event_summaries` | Bulk update event counts for a user | Write |\n| `intercom_get_counts` | Get summary counts for entities in the workspace | Read |\n\n### Data Exports\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_create_data_export` | Initiate async export of message content | Write |\n| `intercom_download_data_export` | Download completed data export as gzipped CSV | Read |\n| `intercom_cancel_data_export` | Cancel an active data export job | Write |\n| `intercom_retrieve_a_job_status` | Check status of a data export job | Read |\n\n### Custom Objects\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_get_custom_object_instance_by_external_id` | Get custom object instance by external ID | Read |\n| `intercom_jobs_status` | Check status of asynchronous job execution | Read |\n\n### Calls & Transcripts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_calls` | List all phone calls with pagination | Read |\n| `intercom_list_calls_with_transcripts` | Get calls with transcripts by conversation IDs | Read |\n| `intercom_show_call` | Get call details by ID | Read |\n| `intercom_show_call_transcript` | Get transcript text from a call | Read |\n| `intercom_register_fin_voice_call` | Register a Fin Voice call for AI-powered analysis | Write |\n\n### Subscription Types\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_list_subscription_types` | List all subscription types in the workspace | Read |\n\n### Signup Forms & Customization\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `intercom_customize_signup_form` | Customize the appearance of a list's signup form | Write |\n\n## Code Examples\n\n### List open conversations\n\n```bash\nclawlink_call_tool --tool \"intercom_list_conversations\" \\\n  --params '{}'\n```\n\n### Search for a contact by email\n\n```bash\nclawlink_call_tool --tool \"intercom_search_contacts\" \\\n  --params '{\"query\": {\"field\": \"email\", \"operator\": \"=\", \"value\": \"user@example.com\"}}'\n```\n\n### Create a new contact\n\n```bash\nclawlink_call_tool --tool \"intercom_create_contact\" \\\n  --params '{\"email\": \"newuser@example.com\", \"role\": \"user\", \"name\": \"New User\"}'\n```\n\n### Reply to a conversation\n\n```bash\nclawlink_call_tool --tool \"intercom_reply_to_conversation\" \\\n  --params '{\"conversation_id\": \"CONVERSATION_ID\", \"message_type\": \"comment\", \"body\": \"Thank you for reaching out! We will get back to you shortly.\"}'\n```\n\n### Create a help center article\n\n```bash\nclawlink_call_tool --tool \"intercom_create_an_article\" \\\n  --params '{\"title\": \"How to reset your password\", \"body\": \"<p>Follow these steps to reset your password...</p>\", \"state\": \"draft\"}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Intercom is connected.\n2. Call `clawlink_list_tools --integration intercom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `intercom`.\n5. If no Intercom tools appear, direct the user to https://claw-link.dev/dashboard?add=intercom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List conversations → Get details → Show results   │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                     │\n│  list → get → describe → preview → confirm → call          │\n│                                                             │\n│  Example: Preview reply → User approves → Execute            │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Conversation `conversation_parts` are paginated — walk all cursors for complete transcripts.\n- Fields like `title`, `subject`, `source.body`, `conversation_parts.body`, and `statistics` can be null in responses.\n- System/workflow events appear in `conversation_parts` with null `body` or `author`.\n- `first_admin_reply_at` may be null despite actual replies — use `last_admin_reply_at` for SLA calculations.\n- Attachment URLs in `conversation_parts` are short-lived — download promptly.\n- The `state` field and `open` boolean can diverge — re-fetch to verify state before assign/reply/close actions.\n- Only events less than 90 days old can be listed via `intercom_list_data_events`.\n- Company list does not include companies with no associated users.\n- Scroll API for companies has a limit of 10,000 companies per scroll session.\n- Custom data attribute type changes must be done through the Intercom UI.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration intercom`. |\n| Missing connection | Intercom is not connected. Direct the user to https://claw-link.dev/dashboard?add=intercom. |\n| Permission error | The authenticated admin lacks permission for this operation. Check admin roles in Intercom. |\n| Conversation not found | The conversation ID does not exist or is not accessible. |\n| Contact not found | The contact email or ID does not exist in the workspace. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n| 429 Rate limit | Too many requests. Wait before retrying. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Conversation State Issues\n\n1. If close/reopen actions produce unexpected results, verify conversation state via `intercom_get_conversation` first.\n2. Always send reply before closing a conversation — never parallelize `INTERCOM_REPLY_TO_CONVERSATION` with `INTERCOM_CLOSE_CONVERSATION` on the same conversation.\n3. If a conversation appears to be open but state differs, re-fetch to verify current state.\n\n## Resources\n\n- [Intercom API Documentation](https://developers.intercom.com/)\n- [Intercom Articles API](https://developers.intercom.com/reference/list-articles)\n- [Intercom Conversations API](https://developers.intercom.com/reference/conversations)\n- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=intercom-support\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Jotform Forms](https://clawhub.ai/hith3sh/jotform-forms) — For form submissions and lead capture\n- [Monday Workflows](https://clawhub.ai/hith3sh/monday-workflows) — For project management and task tracking\n- [Slack](https://clawhub.ai/hith3sh/slack) — For team communication and notifications\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=intercom-support)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)","tags":{"latest":"1.0.6"},"stats":{"comments":0,"downloads":1681,"installsAllTime":1,"installsCurrent":1,"stars":6,"versions":6},"createdAt":1778077319601,"updatedAt":1780989124687},"latestVersion":{"version":"1.0.6","createdAt":1780989124687,"changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","license":"MIT-0"},"metadata":null,"owner":{"handle":"hith3sh","userId":"s173vws87a7ss71xf9rq53k5gd8568kv","displayName":"Jay","image":"https://avatars.githubusercontent.com/u/83839061?v=4"},"moderation":null}