Skip to main content

Open-source alternatives guide

Open Source Intercom Alternatives 2026

Intercom costs $74-374+/month. Chatwoot, Papercups, and Chaskiq are open source customer messaging tools that replace Intercom's live chat, inbox, and help.

·OSSAlt Team
Share:

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.

See open source alternatives to Intercom on OSSAlt.

Communication Tools Become Core Infrastructure Faster Than Expected

Email, chat, newsletters, and customer communication systems look lightweight until they become the delivery path for contracts, password resets, invoices, or support obligations. That is why communication tooling deserves more rigor than many self-hosting articles give it. Reliability, sender reputation, role-based access, and retention policies matter as much as UI polish. Before migrating, teams should decide whether they need transactional delivery, team collaboration, public campaigns, or knowledge sharing, because each workload has different operational constraints and failure modes.

Related services help define the right boundary. Stalwart guide matters when mail delivery and mailbox hosting are the core problem. Listmonk guide matters when the real requirement is campaign management, segments, and high-volume newsletter sending rather than general mailboxes. Outline guide often belongs nearby because communication breakdowns are frequently documentation breakdowns in disguise. A durable stack gives each tool a narrow role and avoids turning one service into a catch-all portal for every message type.

What to Validate Before You Migrate Users

The migration test should focus on user-visible failure points: SPF, DKIM, and DMARC alignment for email; permission inheritance for shared workspaces; export and archival rules for regulated environments; and mobile access for teams that do not live at desks. It is better to discover one blocked password-reset flow in staging than during a live cutover. The same goes for operations. Know how to rotate credentials, pause sending, or reroute outbound notifications before adoption.

The strongest self-hosted communication setups are boring in the best sense. They have clear DNS ownership, standard TLS handling, predictable backup routines, and a documented answer to legal hold or unsubscribe requests. Articles that emphasize those boring details help readers pick tools they can keep, not just tools they can install.

Decision Framework for Picking the Right Fit

The simplest way to make a durable decision is to score the options against the constraints you cannot change: who will operate the system, how often it will be upgraded, whether the workload is business critical, and what kinds of failures are tolerable. That sounds obvious, but many migrations still start with screenshots and end with painful surprises around permissions, backup windows, or missing audit trails. A short written scorecard forces the trade-offs into the open. It also keeps the project grounded when stakeholders ask for new requirements halfway through rollout.

One more practical rule helps: optimize for reversibility. A good self-hosted choice preserves export paths, avoids proprietary lock-in inside the replacement itself, and can be documented well enough that another engineer could take over without archaeology. The teams that get the most value from self-hosting are not necessarily the teams with the fanciest infrastructure. They are the teams that keep their systems legible, replaceable, and easy to reason about.

Communication Tools Become Core Infrastructure Faster Than Expected

Email, chat, newsletters, and customer communication systems look lightweight until they become the delivery path for contracts, password resets, invoices, or support obligations. That is why communication tooling deserves more rigor than many self-hosting articles give it. Reliability, sender reputation, role-based access, and retention policies matter as much as UI polish. Before migrating, teams should decide whether they need transactional delivery, team collaboration, public campaigns, or knowledge sharing, because each workload has different operational constraints and failure modes.

Related services help define the right boundary. Stalwart guide matters when mail delivery and mailbox hosting are the core problem. Listmonk guide matters when the real requirement is campaign management, segments, and high-volume newsletter sending rather than general mailboxes. Outline guide often belongs nearby because communication breakdowns are frequently documentation breakdowns in disguise. A durable stack gives each tool a narrow role and avoids turning one service into a catch-all portal for every message type.

What to Validate Before You Migrate Users

The migration test should focus on user-visible failure points: SPF, DKIM, and DMARC alignment for email; permission inheritance for shared workspaces; export and archival rules for regulated environments; and mobile access for teams that do not live at desks. It is better to discover one blocked password-reset flow in staging than during a live cutover. The same goes for operations. Know how to rotate credentials, pause sending, or reroute outbound notifications before adoption.

The strongest self-hosted communication setups are boring in the best sense. They have clear DNS ownership, standard TLS handling, predictable backup routines, and a documented answer to legal hold or unsubscribe requests. Articles that emphasize those boring details help readers pick tools they can keep, not just tools they can install.

Deliverability and Retention Notes

Communication tooling needs documented retention, account lifecycle handling, and deliverability validation. Those operational basics matter more than cosmetic interface differences once real users depend on the system.

Communication Tools Become Core Infrastructure Faster Than Expected

Email, chat, newsletters, and customer communication systems look lightweight until they become the delivery path for contracts, password resets, invoices, or support obligations. That is why communication tooling deserves more rigor than many self-hosting articles give it. Reliability, sender reputation, role-based access, and retention policies matter as much as UI polish. Before migrating, teams should decide whether they need transactional delivery, team collaboration, public campaigns, or knowledge sharing, because each workload has different operational constraints and failure modes.

Related services help define the right boundary. Stalwart guide matters when mail delivery and mailbox hosting are the core problem. Listmonk guide matters when the real requirement is campaign management, segments, and high-volume newsletter sending rather than general mailboxes. Outline guide often belongs nearby because communication breakdowns are frequently documentation breakdowns in disguise. A durable stack gives each tool a narrow role and avoids turning one service into a catch-all portal for every message type.

What to Validate Before You Migrate Users

The migration test should focus on user-visible failure points: SPF, DKIM, and DMARC alignment for email; permission inheritance for shared workspaces; export and archival rules for regulated environments; and mobile access for teams that do not live at desks. It is better to discover one blocked password-reset flow in staging than during a live cutover. The same goes for operations. Know how to rotate credentials, pause sending, or reroute outbound notifications before adoption.

The strongest self-hosted communication setups are boring in the best sense. They have clear DNS ownership, standard TLS handling, predictable backup routines, and a documented answer to legal hold or unsubscribe requests. Articles that emphasize those boring details help readers pick tools they can keep, not just tools they can install.

The SaaS-to-Self-Hosted Migration Guide (Free PDF)

Step-by-step: infrastructure setup, data migration, backups, and security for 15+ common SaaS replacements. Used by 300+ developers.

Join 300+ self-hosters. Unsubscribe in one click.