Intercom Automation
Claude Office SkillsAutomate Intercom customer messaging, bots, and support workflows.
intercomsupportmessaging
# Intercom Automation
Comprehensive skill for automating Intercom customer communication and support workflows.
## Core Workflows
### 1. Conversation Flow
```
CUSTOMER CONVERSATION FLOW:
โโโโโโโโโโโโโโโโโโโ
โ User Message โ
โ (Inbound) โ
โโโโโโโโโโฌโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Bot Triage โ
โ - Intent โ
โ - Route โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโดโโโโโ
โผ โผ
โโโโโโโโโ โโโโโโโโโ
โ Bot โ โ Human โ
โ Reply โ โ Agent โ
โโโโโฌโโโโ โโโโโฌโโโโ
โ โ
โโโโโโฌโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Resolution โ
โ - Close โ
โ - Follow-up โ
โโโโโโโโโโโโโโโโโโโ
```
### 2. Automation Rules
```yaml
automations:
- name: welcome_new_users
trigger:
event: user.created
conditions:
- signed_up_at: within_last_hour
action:
send_message:
type: chat
delay: 5_minutes
message: |
Hey {{first_name}}! ๐
Welcome to {{company_name}}! I'm here to help you
get started. What brings you here today?
buttons:
- "Explore features"
- "I have a question"
- "Just looking around"
- name: trial_expiring
trigger:
event: user.attribute_changed
attribute: trial_days_remaining
value: 3
action:
send_message:
type: email
template: trial_expiring
- name: feature_announcement
trigger:
segment: power_users
event: feature_released
action:
send_message:
type: in_app
message: "๐ New Feature: {{feature_name}}"
```
## User Segmentation
### Segment Definitions
```yaml
segments:
- name: trial_users
filter:
subscription_status: trial
- name: power_users
filter:
sessions_count: "> 50"
last_seen: "< 7 days"
features_used: "> 5"
- name: at_risk_users
filter:
subscription_status: active
last_seen: "> 30 days"
- name: enterprise_prospects
filter:
company_size: "> 100"
plan: free
- name: feature_requesters
filter:
tag: feature_request
conversations_count: "> 0"
```
### Dynamic Attributes
```yaml
custom_attributes:
- name: health_score
type: number
compute: |
(sessions_last_30_days * 2) +
(features_used * 3) +
(team_members_active * 5)
- name: lifecycle_stage
type: string
rules:
- condition: signed_up_at < 7_days
value: "onboarding"
- condition: subscription_status == "trial"
value: "trial"
- condition: subscription_status == "active"
value: "customer"
- condition: subscription_status == "cancelled"
value: "churned"
- name: account_tier
type: string
source: company.plan
```
## Messaging Campaigns
### Onboarding Series
```yaml
onboarding_campaign:
name: "New User Onboarding"
audience:
segment: new_signups
messages:
- day: 0
channel: in_app
content: |
Welcome to {{company}}! ๐
Let me show you around. Click below to take a
quick 2-minute tour.
cta: "Start Tour"
- day: 1
channel: email
subject: "Quick tip: {{feature_1}}"
content: |
Hi {{first_name}},
Did you know you can {{feature_1_benefit}}?
Here's how: {{feature_1_tutorial_link}}
- day: 3
channel: in_app
trigger:
not_completed: "setup_wizard"
content: |
Hey {{first_name}}, I noticed you haven't
finished setting up. Need any help?
- day: 7
channel: email
subject: "How's it going?"
content: |
Hi {{first_name}},
You've been using {{company}} for a week now.
Any questions or feedback? Just reply to this email!
```
### Product Tours
```yaml
product_tours:
- name: "Welcome Tour"
trigger:
event: first_login
steps:
- element: "#dashboard"
title: "Your Dashboard"
body: "This is where you'll see your key metrics"
position: bottom
- element: "#create-button"
title: "Create New"
body: "Click here to create your first project"
position: left
- element: "#help-menu"
title: "Need Help?"
body: "Find docs and contact support here"
position: bottom
- name: "Feature Tour: Reports"
trigger:
event: page_viewed
url: "/reports"
first_time: true
steps:
- element: "#date-picker"
title: "Date Range"
body: "Select your reporting period"
```
## Support Workflows
### Conversation Routing
```yaml
routing_rules:
- name: vip_priority
conditions:
- company.plan: enterprise
actions:
- set_priority: urgent
- assign_team: enterprise_support
- send_notification: slack_vip
- name: billing_issues
conditions:
- message_contains: ["billing", "charge", "invoice", "refund"]
actions:
- add_tag: billing
- assign_team: billing_support
- name: technical_support
conditions:
- message_contains: ["error", "bug", "not working", "broken"]
actions:
- add_tag: technical
- assign_team: tech_support
- create_ticket: jira
```
### Bot Responses
```yaml
bot_responses:
- intent: greeting
patterns: ["hi", "hello", "hey"]
response: |
Hi there! ๐ How can I help you today?
- intent: pricing
patterns: ["pricing", "cost", "how much", "plans"]
response: |
Great question! Here's our pricing:
โข **Starter**: $29/mo
โข **Growth**: $79/mo
โข **Enterprise**: Custom
Would you like me to connect you with sales?
buttons:
- "Yes, talk to sales"
- "See full comparison"
- intent: password_reset
patterns: ["forgot password", "reset password", "can't login"]
response: |
No problem! You can reset your password here:
{{password_reset_link}}
The link will expire in 24 hours.
auto_close: true
```
## Analytics & Reporting
### Conversation Metrics
```
SUPPORT METRICS - THIS WEEK
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Conversations:
New: 234 (+12%)
Closed: 256 (+8%)
Open: 45
Response Times:
First Reply: 2.3 min (target: 5 min) โ
Median: 8 min
Resolution: 2.4 hours
CSAT Score: 4.7/5 โญ (+0.2)
BY CHANNEL:
Chat โโโโโโโโโโโโโโโโ 156
Email โโโโโโโโโโโโโโโโ 58
In-App โโโโโโโโโโโโโโโโ 20
TOP TOPICS:
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโ
โ Topic โ Count โ
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโค
โ Billing questions โ 45 โ
โ Feature requests โ 38 โ
โ Bug reports โ 32 โ
โ How-to questions โ 28 โ
โโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโ
```
### Engagement Dashboard
```yaml
engagement_metrics:
- name: message_open_rate
formula: opened / sent * 100
target: 40%
- name: click_through_rate
formula: clicked / opened * 100
target: 10%
- name: tour_completion_rate
formula: completed / started * 100
target: 60%
- name: bot_resolution_rate
formula: resolved_by_bot / total * 100
target: 30%
```
## Integration Workflows
### CRM Sync
```yaml
crm_integration:
salesforce:
sync_fields:
- intercom: company.name
salesforce: Account.Name
- intercom: user.email
salesforce: Contact.Email
- intercom: custom.mrr
salesforce: Account.MRR__c
events:
- trigger: conversation_closed
action: log_activity
type: "Support Interaction"
- trigger: user.tag_added
tag: "sales_qualified"
action: create_lead
```
### Slack Integration
```yaml
slack_integration:
notifications:
- trigger: new_conversation
channel: "#support-inbox"
conditions:
- priority: urgent
message: "๐จ Urgent: {{user.name}} needs help"
- trigger: conversation_assigned
notify: assignee_dm
message: "New conversation assigned to you"
commands:
/intercom:
- lookup_user
- send_message
- add_tag
```
## API Examples
### Create or Update User
```javascript
// Create/Update User
const user = await intercom.users.create({
user_id: "12345",
email: "user@example.com",
name: "John Doe",
signed_up_at: Math.floor(Date.now() / 1000),
custom_attributes: {
plan: "pro",
team_size: 10,
onboarding_complete: true
}
});
// Send Message
await intercom.messages.create({
message_type: "inapp",
body: "Hey! New feature alert ๐",
from: {
type: "admin",
id: "admin_id"
},
to: {
type: "user",
user_id: "12345"
}
});
// Search Conversations
const conversations = await intercom.conversations.search({
query: {
field: "state",
operator: "=",
value: "open"
}
});
```
## Best Practices
1. **Personalize Messages**: Use user attributes
2. **Time Appropriately**: Consider user timezone
3. **Don't Over-Message**: Respect frequency limits
4. **Bot + Human**: Know when to escalate
5. **Track Everything**: Measure message effectiveness
6. **Segment Thoughtfully**: Target the right users
7. **A/B Test**: Optimize message content
8. **Quick Resolution**: Minimize response time๐งช Found this useful?
The $SKILL experiment is building the agent skill distribution layer. Every skill you discover through this directory is part of the experiment.