Skip to main content

Open Source Intercom Alternatives 2026

·OSSAlt Team
intercomlive-chatcustomer-supporthelp-deskself-hostedopen-source2026

TL;DR

Intercom's Essential plan is $74/month — and the features you actually need (live chat widget, shared inbox, basic automation) are all in open source alternatives. The best: Chatwoot (most complete, used by thousands of companies), Papercups (developer-focused, cleanest code), and Tawk.to (free cloud option, not OSS). Intercom's AI features (Fin, Resolution Bot) don't have a perfect OSS equivalent yet — but basic bot workflows via Botpress or n8n cover most use cases.

Key Takeaways

  • Intercom pricing: $74/month Essential, $169/month Advanced, $374+/month Expert
  • Chatwoot: most mature OSS alternative — live chat, email, Telegram, Twitter unified inbox
  • Papercups: developer-focused, simple, cleanest architecture
  • Chaskiq: feature-rich with marketing automation
  • Tawk.to: free cloud option (not OSS) — excellent for budget-conscious
  • Self-hosting cost: ~$10-20/month vs $74+/month minimum for Intercom

What Intercom Does

Intercom's product covers three main areas:

  1. Messenger — live chat widget on your website/app
  2. Inbox — shared team inbox for all conversations
  3. Outbound — proactive messages, email campaigns, in-app tours
  4. Help Center — self-service knowledge base
  5. Reporting — CSAT, response times, team performance

The most-used feature: live chat widget + shared inbox. This is what most teams actually pay $74+/month for.


The Alternatives

1. Chatwoot — Most Complete Alternative

Best for: Teams wanting the closest Intercom replacement with channel unification.

Chatwoot is the most mature open source customer support platform. It started as a live chat tool and expanded to unify all communication channels.

# Self-host with Docker:
git clone https://github.com/chatwoot/chatwoot
cd chatwoot

# Configure:
cp .env.example .env
# Edit .env: set SECRET_KEY_BASE, POSTGRES_*, REDIS_URL, SMTP settings

# Launch:
docker compose up -d

# Access at http://localhost:3000
# Setup wizard → create admin account → configure inboxes

Chatwoot channel support (unified inbox):

  • Website live chat (embed widget)
  • Email (connect IMAP/SMTP inbox)
  • WhatsApp Business API
  • Telegram
  • Facebook Messenger
  • Twitter/X DMs
  • Instagram
  • Slack (two-way)
  • Line, Viber
  • SMS via Twilio/Bandwidth

Adding the Chatwoot widget to your site:

<!-- Same as Intercom messenger widget: -->
<script>
  window.chatwootSettings = {
    hideMessageBubble: false,
    position: 'right',
    locale: 'en',
    type: 'standard',  // 'standard' | 'expanded_bubble'
  };

  (function(d,t) {
    var BASE_URL = "https://your-chatwoot.company.com";
    var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
    g.src = BASE_URL + "/packs/js/sdk.js";
    g.defer = true;
    g.async = true;
    s.parentNode.insertBefore(g, s);
    g.onload = function(){
      window.chatwootSDK.run({
        websiteToken: 'your-website-token',
        baseUrl: BASE_URL
      })
    }
  })(document,"script");
</script>

// Identify users (like Intercom's identify):
window.$chatwoot.setUser('user-123', {
  name: 'John Doe',
  email: 'john@example.com',
  avatar_url: 'https://example.com/avatar.png',
  // Custom attributes:
  plan: 'pro',
  company: 'Acme Corp',
  mrr: 99,
});

Automation (Chatwoot Automation Rules):

Trigger: New conversation created
Condition: Conversation source = Live Chat
Actions:
  → Assign to: Sales team
  → Add label: sales-qualified
  → Send message: "Hi! How can I help you today?"

Trigger: Conversation status = Open, Created > 2 hours ago
Condition: No assignee
Actions:
  → Assign to: Support team
  → Add label: needs-attention

Chatwoot vs Intercom:

  • Live chat: ✅ (equivalent)
  • Shared inbox: ✅ (equivalent)
  • Email campaigns: ❌ (no Intercom Outbound equivalent)
  • Help center: ✅ (Articles feature)
  • AI chatbot: ❌ (no Fin equivalent — use Botpress separately)
  • Self-hosted: ✅ free vs $74/month minimum

GitHub: chatwoot/chatwoot — 22K+ stars


2. Papercups — Developer-Focused

Best for: Developer tools, SaaS products, teams who want simple live chat without complexity.

Papercups is simpler than Chatwoot — focused purely on live chat + inbox. It's the "developer-made, developer-loved" option.

# Docker:
docker run -d \
  -p 4000:4000 \
  -e DATABASE_URL=ecto://postgres:pass@db/papercups \
  -e SECRET_KEY_BASE=your-secret-key \
  papercups/papercups:latest
<!-- Widget (React): -->
import {ChatWidget} from '@papercups-io/chat-widget';

export default function App() {
  return (
    <>
      <YourApp />
      <ChatWidget
        accountId="your-account-id"
        baseUrl="https://your-papercups.company.com"
        title="Welcome to Acme"
        subtitle="Ask us anything 👋"
        primaryColor="#1890ff"
        greeting="Hi there! How can we help?"
        newMessagePlaceholder="Start typing..."
        customer={{
          name: user.name,
          email: user.email,
          external_id: user.id,
          metadata: { plan: user.plan },
        }}
      />
    </>
  );
}

Papercups strengths:

  • Clean, simple codebase (Elixir/Phoenix)
  • Good Slack integration (reply from Slack)
  • API-first design
  • No bloat — just the core features

Papercups limitations:

  • Single inbox (no multi-channel like Chatwoot)
  • Less actively maintained in 2025-2026
  • No built-in automation rules

GitHub: papercups-io/papercups — 5K+ stars


Best for: Teams wanting Intercom's outbound/marketing features too.

Chaskiq is the most ambitious Intercom clone — it tries to replicate Intercom's full platform including outbound campaigns, bots, and in-app messages.

# Docker Compose:
git clone https://github.com/chaskiq/chaskiq
cd chaskiq
cp .env.example .env
docker compose up -d

Chaskiq features:

  • Live chat with bots
  • Email campaigns
  • In-app messages and tours
  • Help center / knowledge base
  • Campaign automation
  • Bot builder

More features than Chatwoot, but also more complex to maintain.

GitHub: chaskiq/chaskiq — 3K+ stars


4. Adding AI Bot (Missing Intercom Fin Equivalent)

The biggest gap in OSS alternatives is Intercom Fin — the AI chatbot that automatically resolves conversations. Build the equivalent:

// Next.js API route: AI bot for Chatwoot
// When Chatwoot receives a new message, auto-respond with AI

app.post('/webhook/chatwoot', async (req, res) => {
  const { event, data } = req.body;

  // Only respond to new messages from customers:
  if (event !== 'message_created' || data.message_type !== 'incoming') {
    return res.sendStatus(200);
  }

  const conversationId = data.conversation.id;
  const message = data.content;

  // Search knowledge base for relevant answer:
  const relevantDocs = await searchHelpCenter(message);

  // Generate response with local LLM (Ollama):
  const response = await ollama.chat({
    model: 'llama3.2',
    messages: [
      {
        role: 'system',
        content: `You are a helpful support assistant for Acme Corp.
          Answer questions using this knowledge base context:
          ${relevantDocs.map(d => d.content).join('\n\n')}
          If you cannot answer from the context, say you'll connect them with a human.`,
      },
      { role: 'user', content: message },
    ],
  });

  // Send response via Chatwoot API:
  await chatwoot.createMessage(conversationId, {
    content: response.message.content,
    message_type: 'outgoing',
    private: false,
  });

  // If bot not confident, escalate to human:
  if (response.confidence < 0.7) {
    await chatwoot.assignConversation(conversationId, 'human-team');
  }

  res.sendStatus(200);
});

This pattern — Chatwoot webhook → LLM → Chatwoot API response — gives you the core Fin behavior for the cost of a VPS + Ollama.


Intercom Feature Coverage

Intercom FeatureOSS Solution
Live chat widgetChatwoot ✅
Shared inboxChatwoot ✅
Email inboxChatwoot ✅
WhatsAppChatwoot ✅
Help centerChatwoot Articles ✅
CSAT surveysChatwoot ✅
Automation rulesChatwoot ✅
In-app messagesChaskiq ✅
Email campaignsChaskiq ✅ / Listmonk
AI chatbot (Fin)Chatwoot + Ollama ⚡
Product tours❌ (no OSS equivalent)
Usage trackingPostHog ✅

Migration: Intercom → Chatwoot

# 1. Export Intercom data:
# Intercom → Settings → Export
# Downloads: users.csv, companies.csv, conversations.csv

# 2. Import to Chatwoot:
# Currently no built-in Intercom importer
# Use Chatwoot API to batch import contacts:
for contact in intercom_contacts:
    curl -X POST https://your-chatwoot.com/api/v1/accounts/1/contacts \
      -H "api_access_token: your-token" \
      -d '{"name": "...", "email": "...", "phone_number": "..."}'

# 3. Replace Intercom widget with Chatwoot widget:
# 5-minute swap — same embed pattern

# 4. Configure email inbox:
# Chatwoot → Settings → Inboxes → Add Email
# IMAP/SMTP credentials

# 5. Verify integrations:
# Slack, Telegram, etc. via Chatwoot integrations page

Cost Comparison

Solution5-Seat Team/MonthChannelsAI Bot
Intercom Essential$37010+✅ Fin
Chatwoot self-hosted~$15 VPS15+DIY
Chatwoot Cloud$0 (300 conv)Limited
Papercups self-hosted~$10 VPSWeb onlyDIY
Tawk.to (not OSS)$0Web + email

Annual savings at 5 users: ~$4,260/year vs Intercom Essential.


Explore more open source alternatives at OSSAlt.

Comments