Intercom Automation

Automate Intercom customer messaging, support workflows, user engagement, and product tours

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Intercom Automation" with this command: npx skills add claude-office-skills/skills/claude-office-skills-skills-intercom-automation

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

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

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

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

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

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

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

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

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

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

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

// 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

excel-automation

No summary provided by upstream source.

Repository SourceNeeds Review
General

ppt-visual

No summary provided by upstream source.

Repository SourceNeeds Review
General

office-mcp

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

calendar-automation

No summary provided by upstream source.

Repository SourceNeeds Review