Top Related Projects
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc from cience.com
Source available experience management infrastructure. Pioneering the future of experiences with XOS (Experience Operating System). Hubspot + Qualtrics alternative
🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free.
Quick Overview
Papercups is an open-source live customer chat application designed for businesses. It provides a customizable widget that can be embedded into websites, allowing companies to engage with their customers in real-time. Papercups offers features like team inbox, Slack integration, and analytics, making it a versatile solution for customer support and engagement.
Pros
- Open-source and self-hostable, providing full control over data and customization
- Integrates with popular platforms like Slack for seamless team communication
- Offers a user-friendly interface for both customers and support agents
- Includes analytics and reporting features to track customer interactions
Cons
- May require technical expertise for setup and self-hosting
- Limited third-party integrations compared to some commercial alternatives
- Community support might be less robust than paid solutions
- Ongoing maintenance and updates may be necessary for self-hosted instances
Code Examples
# Creating a new customer in Papercups
customer = %{
name: "John Doe",
email: "john@example.com",
external_id: "123456"
}
{:ok, created_customer} = Papercups.Customers.create_customer(customer)
# Sending a message through the Papercups API
message = %{
body: "Hello! How can I help you today?",
conversation_id: conversation.id,
account_id: account.id,
user_id: user.id
}
{:ok, sent_message} = Papercups.Messages.create_message(message)
# Retrieving conversation history
{:ok, conversations} = Papercups.Conversations.list_conversations(%{
account_id: account.id,
status: "closed",
limit: 10,
offset: 0
})
Getting Started
To get started with Papercups, follow these steps:
-
Clone the repository:
git clone https://github.com/papercups-io/papercups.git cd papercups
-
Set up the environment:
mix deps.get npm install --prefix assets
-
Create and migrate the database:
mix ecto.setup
-
Start the Phoenix server:
mix phx.server
-
Visit
http://localhost:4000
in your browser to access the Papercups dashboard.
For more detailed instructions and configuration options, refer to the project's documentation on GitHub.
Competitor Comparisons
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬
Pros of Chatwoot
- More comprehensive feature set, including multi-channel support (email, WhatsApp, etc.)
- Larger and more active community, with frequent updates and contributions
- Better documentation and easier setup process for beginners
Cons of Chatwoot
- Higher resource requirements due to its more extensive feature set
- Steeper learning curve for developers looking to customize or extend functionality
- Less focus on developer-friendly integrations compared to Papercups
Code Comparison
Chatwoot (Ruby on Rails):
class ConversationsController < ApplicationController
def index
@conversations = Current.account.conversations.includes(
:assignee, :contact, :taggings
).page(params[:page])
end
end
Papercups (Elixir/Phoenix):
defmodule PapercupsWeb.ConversationController do
use PapercupsWeb, :controller
def index(conn, params) do
conversations = Conversations.list_conversations(params)
render(conn, "index.json", conversations: conversations)
end
end
Both projects use modern web frameworks, but Chatwoot's Ruby on Rails codebase may be more familiar to a wider range of developers. Papercups' Elixir/Phoenix stack offers potential performance benefits for high-concurrency scenarios. Chatwoot's controller includes more eager loading, which could improve performance for complex queries, while Papercups' approach is more straightforward.
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc from cience.com
Pros of Chaskiq
- More comprehensive feature set, including email campaigns and automation
- Supports multiple languages out of the box
- Offers a visual conversation builder for complex workflows
Cons of Chaskiq
- Steeper learning curve due to more complex architecture
- Requires more resources to run and maintain
- Less focused on simplicity compared to Papercups
Code Comparison
Chaskiq (Ruby on Rails):
class ConversationsController < ApplicationController
def create
@conversation = Conversation.new(conversation_params)
if @conversation.save
render json: @conversation, status: :created
else
render json: @conversation.errors, status: :unprocessable_entity
end
end
end
Papercups (Elixir):
defmodule PapercupsWeb.ConversationController do
use PapercupsWeb, :controller
def create(conn, %{"conversation" => conversation_params}) do
with {:ok, %Conversation{} = conversation} <- Conversations.create_conversation(conversation_params) do
conn
|> put_status(:created)
|> render("show.json", conversation: conversation)
end
end
end
Both projects use a similar MVC structure, but Chaskiq uses Ruby on Rails while Papercups is built with Elixir and Phoenix. Chaskiq's codebase is more extensive due to its broader feature set, while Papercups maintains a simpler and more focused approach to customer messaging.
Source available experience management infrastructure. Pioneering the future of experiences with XOS (Experience Operating System). Hubspot + Qualtrics alternative
Pros of erxes
- More comprehensive CRM features, including sales, marketing, and customer support tools
- Larger community and more frequent updates
- Supports multiple languages and has a more extensive plugin ecosystem
Cons of erxes
- Steeper learning curve due to its broader feature set
- Potentially higher resource requirements for hosting and maintenance
- Less focused on live chat functionality compared to Papercups
Code Comparison
Papercups (Elixir):
defmodule Papercups.Conversation do
use Ecto.Schema
import Ecto.Changeset
schema "conversations" do
field :status, :string, default: "open"
field :read, :boolean, default: false
timestamps()
end
end
erxes (TypeScript):
export interface IConversation {
_id: string;
content: string;
customerId: string;
integrationId: string;
status: string;
readUserIds: string[];
createdAt: Date;
updatedAt: Date;
}
Both projects use different programming languages and have distinct approaches to handling conversations. Papercups uses Elixir with Ecto for schema definition, while erxes employs TypeScript with interfaces. The erxes implementation includes more fields and appears to have a more complex data structure, reflecting its broader feature set.
🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free.
Pros of PostHog
- More comprehensive analytics platform with features like session recording, feature flags, and A/B testing
- Larger and more active community, with more frequent updates and contributions
- Supports multiple data storage options, including ClickHouse for high-performance analytics
Cons of PostHog
- More complex setup and configuration compared to Papercups
- Higher resource requirements due to its broader feature set
- Steeper learning curve for new users
Code Comparison
PostHog (Python):
from posthog import Posthog
posthog = Posthog(project_api_key='your_project_api_key', host='https://app.posthog.com')
posthog.capture('distinct_id', 'event_name', {'property1': 'value1'})
Papercups (Elixir):
alias Papercups.{Conversations, Messages}
{:ok, conversation} = Conversations.create_conversation(%{account_id: account_id})
{:ok, message} = Messages.create_message(%{conversation_id: conversation.id, body: "Hello!"})
Both repositories offer customer engagement solutions, but PostHog focuses on product analytics and experimentation, while Papercups is primarily a customer support chat platform. PostHog provides a more extensive set of features for tracking user behavior and improving product performance, whereas Papercups offers a simpler, more focused solution for customer communication.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
:warning: Maintenance Mode
Papercups is in maintenance mode. This means there won't be any major new features in the near future. We will still accept pull requests and conduct major bug fixes. Read more here
Papercups
Papercups is an open source live customer support tool web app written in Elixir. We offer a hosted version at app.papercups.io.
You can check out how our chat widget looks and play around with customizing it on our demo page. The chat widget component is also open sourced at github.com/papercups-io/chat-widget.
Watch how easy it is to get set up with our Slack integration ð :
One click Heroku deployment
The fastest way to get started is one click deploy on Heroku with:
Philosophy
We wanted to make a self-hosted customer support tool like Zendesk and Intercom for companies that have privacy and security concerns about having customer data going to third party services.
Features
- Reply from email - use Papercups to answer support tickets via email
- Reply from SMS - forward Twilio conversations and respond to SMS requests from Papercups
- Custom chat widget - a customizable chat widget you can embed on your website to talk to your customers
- React support - embed the chat widget as a React component, or a simple HTML snippet
- React Native support - embed the chat widget in your React Native app
- Flutter support - embed the chat widget in your Flutter app (courtesy of @aguilaair :heart:)
- Slack integration - connect with Slack, so you can view and reply to messages directly from a Slack channel
- Mattermost integration - connect with Mattermost, so you can view and reply to messages directly from Mattermost
- Markdown and emoji support - use markdown and emoji to add character to your messages!
- Invite your team - send invite links to your teammates to join your account
- Conversation management - close, assign, and prioritize conversations
- Built on Elixir - optimized for responsiveness, fault-tolerance, and support for realtime updates
Demo
We set up a simple page that demonstrates how Papercups works.
Try sending us a message to see what the chat experience is like!
Blog
Check out our blog for more updates and learnings
Documentation
Check out our docs at docs.papercups.io
Contributing
We :heart: contributions big or small. See CONTRIBUTING.md for a guide on how to get started.
Thanks to all of our contributors!
License
MIT © Papercups
Top Related Projects
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc from cience.com
Source available experience management infrastructure. Pioneering the future of experiences with XOS (Experience Operating System). Hubspot + Qualtrics alternative
🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot