Provides integration patterns for Intercom customer messaging and support services.
Install
mkdir -p .claude/skills/intercom && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14543" && unzip -o skill.zip -d .claude/skills/intercom && rm skill.zipInstalls to .claude/skills/intercom
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Add customer messaging and support with Intercom. Use when a user asks to add in-app messaging, build a help center, set up customer onboarding flows, create product tours, or implement a support ticketing system.Key capabilities
- →Install Intercom Messenger in web apps
- →Initialize Intercom with user data
- →Track events for user segmentation
- →Create React components for Intercom integration
- →Perform server-side Intercom operations (create/update users, send messages)
- →Use custom attributes to segment users
How it works
The skill provides code examples and guidelines for integrating Intercom into web applications, including client-side messenger installation, React component wrapping, and server-side API interactions for user management and messaging.
Inputs & outputs
When to use intercom
- →Adding in-app chat
- →Building help centers
- →Creating product onboarding tours
About this skill
Intercom
Overview
Intercom is a customer messaging platform for support, onboarding, and engagement. Includes live chat, help center, product tours, chatbots, and a shared inbox. Industry standard for SaaS customer communication.
Instructions
Step 1: Install Messenger
// lib/intercom.ts — Initialize Intercom in a web app
export function initIntercom(user?: { id: string; email: string; name: string }) {
window.Intercom('boot', {
app_id: process.env.NEXT_PUBLIC_INTERCOM_APP_ID,
...(user && {
user_id: user.id,
email: user.email,
name: user.name,
created_at: Math.floor(Date.now() / 1000),
}),
})
}
// Update when user navigates (SPA)
window.Intercom('update', { last_request_at: Math.floor(Date.now() / 1000) })
// Track events for targeting
window.Intercom('trackEvent', 'completed-onboarding', {
plan: 'pro',
team_size: 5,
})
Step 2: React Component
// components/IntercomProvider.tsx — React wrapper
'use client'
import { useEffect } from 'react'
import { useUser } from '@/hooks/useUser'
export function IntercomProvider({ children }) {
const { user } = useUser()
useEffect(() => {
// Load Intercom script
const script = document.createElement('script')
script.innerHTML = `(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/${process.env.NEXT_PUBLIC_INTERCOM_APP_ID}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};l();}})();`
document.body.appendChild(script)
if (user) {
window.Intercom('boot', {
app_id: process.env.NEXT_PUBLIC_INTERCOM_APP_ID,
user_id: user.id,
email: user.email,
name: user.name,
})
}
}, [user])
return children
}
Step 3: Server-Side API
// lib/intercom-api.ts — Server-side Intercom operations
const INTERCOM_TOKEN = process.env.INTERCOM_ACCESS_TOKEN!
// Create or update a user
await fetch('https://api.intercom.io/contacts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${INTERCOM_TOKEN}`,
},
body: JSON.stringify({
role: 'user',
external_id: userId,
email: '[email protected]',
name: 'John Doe',
custom_attributes: { plan: 'pro', mrr: 49, company_size: 10 },
}),
})
// Send a message
await fetch('https://api.intercom.io/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${INTERCOM_TOKEN}`,
},
body: JSON.stringify({
from: { type: 'admin', id: 'admin_id' },
to: { type: 'user', id: 'user_id' },
message_type: 'inapp',
body: 'Hey! How are you finding the new dashboard?',
}),
})
Guidelines
- Intercom starts at $39/seat/month — expensive but full-featured.
- Use custom attributes to segment users (plan, MRR, feature usage).
- Product tours and onboarding flows reduce support tickets significantly.
- For budget alternative, consider Crisp (free tier) or Chatwoot (open-source).
When not to use it
- →When a budget alternative like Crisp or Chatwoot is preferred
- →When not needing a full-featured customer messaging platform
Limitations
- →Intercom starts at $39/seat/month
- →Requires an Intercom app_id and access token
- →Does not cover budget alternatives like Crisp or Chatwoot
How it compares
This skill offers specific code implementations and guidelines for Intercom, facilitating its integration for customer communication, unlike general messaging platform setup.
Compared to similar skills
intercom side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| intercom (this skill) | 0 | — | Review | Intermediate |
| telegram-mini-app | 62 | 6mo | Review | Advanced |
| create-mcp-app | 3 | 5mo | Review | Advanced |
| telegram-dev | 2 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by eliferjunior
View all by eliferjunior →You might also like
telegram-mini-app
davila7
Expert in building Telegram Mini Apps (TWA) - web apps that run inside Telegram with native-like experience. Covers the TON ecosystem, Telegram Web App API, payments, user authentication, and building viral mini apps that monetize. Use when: telegram mini app, TWA, telegram web app, TON app, mini app.
create-mcp-app
modelcontextprotocol
This skill should be used when the user asks to "create an MCP App", "add a UI to an MCP tool", "build an interactive MCP View", "scaffold an MCP App", or needs guidance on MCP Apps SDK patterns, UI-resource registration, MCP App lifecycle, or host integration. Provides comprehensive guidance for building MCP Apps with interactive UIs.
telegram-dev
2025Emma
Telegram 生态开发全栈指南 - 涵盖 Bot API、Mini Apps (Web Apps)、MTProto 客户端开发。包括消息处理、支付、内联模式、Webhook、认证、存储、传感器 API 等完整开发资源。
templ-htmx
Xe
Build interactive hypermedia-driven applications with templ and HTMX. Use when creating dynamic UIs, real-time updates, AJAX interactions, mentions 'HTMX', 'dynamic content', or 'interactive templ app'.
shopify-apps
alinaqi
Shopify app development - Remix, Admin API, checkout extensions
ai-model-wechat
TencentCloudBase
Use this skill when developing WeChat Mini Programs (小程序, 企业微信小程序, wx.cloud-based apps) that need AI capabilities. Features text generation (generateText) and streaming (streamText) with callback support (onText, onEvent, onFinish) via wx.cloud.extend.AI. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). API differs from JS/Node SDK - streamText requires data wrapper, generateText returns raw response. NOT for browser/Web apps (use ai-model-web), Node.js backend (use ai-model-nodejs), or image generation (not supported).