So, a while back Circle CI builds and Heroku builds started to fail. From all the threads I read, it seems like the [npm registry rotated it's signing keys](https://github.com/pnpm/pnpm/issues/9014#issuecomment-2616589753) New pnpm versions were signed with the new key. Corepack, however, bundles a static set of trusted keys (from Node’s release), so it continued verifying signatures only against the old key. When it encountered packages signed with the new key, Corepack’s integrity check failed with “Cannot find matching keyid” errors.This mismatch caused Corepack’s integrity check to fail with “Cannot find matching keyid” errors. Workarounds include the following 1. Updating Corepack (to 0.31.0), they [upgraded their package](https://github.com/nodejs/corepack/releases/tag/v0.31.0) to include the new integrity check keys. But we seldom control what's going on with the CI, also, updating this across our scripts is going to be a painful task. Besides Heroku has [made some fixes](https://github.com/heroku/buildpacks-nodejs/pull/1010) around this 2. Disabling integrity checks 🔥 #YOLO 3. Pinning `pnpm` to older versions, or pinning it to a newer version with the checksum in place. Doing the third one here, running `corepack use pnpm@9.15.5` fixes this, [ref](https://github.com/pnpm/pnpm/issues/9014#issuecomment-2623761494) We can get rid of this over time as CDN caches used by build systems are refreshed. But the change in this PR is not disruptive in anyway, only rigidly secure. Fixes: https://github.com/chatwoot/chatwoot/issues/10832 --- Here are the threads to follow - https://github.com/pnpm/pnpm/issues/9014 - https://github.com/pnpm/pnpm/issues/9029 - https://github.com/nodejs/corepack/issues/612 - https://github.com/nodejs/corepack/issues/616 - https://github.com/heroku/buildpacks-nodejs/pull/1010 --------- Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
🚨 Note: This branch is unstable. For the stable branch's source code, please use the branch 3.x
Chatwoot
Customer engagement suite, an open-source alternative to Intercom, Zendesk, Salesforce Service Cloud etc.
Chatwoot is an open-source, self-hosted customer engagement suite. Chatwoot lets you view and manage your customer data, communicate with them irrespective of which medium they use, and re-engage them based on their profile.
Features
Chatwoot supports the following conversation channels:
- Website: Talk to your customers using our live chat widget and make use of our SDK to identify a user and provide contextual support.
- Facebook: Connect your Facebook pages and start replying to the direct messages to your page.
- Instagram: Connect your Instagram profile and start replying to the direct messages.
- Twitter: Connect your Twitter profiles and reply to direct messages or the tweets where you are mentioned.
- Telegram: Connect your Telegram bot and reply to your customers right from a single dashboard.
- WhatsApp: Connect your WhatsApp business account and manage the conversation in Chatwoot.
- Line: Connect your Line account and manage the conversations in Chatwoot.
- SMS: Connect your Twilio SMS account and reply to the SMS queries in Chatwoot.
- API Channel: Build custom communication channels using our API channel.
- Email: Forward all your email queries to Chatwoot and view it in our integrated dashboard.
And more.
Other features include:
- CRM: Save all your customer information right inside Chatwoot, use contact notes to log emails, phone calls, or meeting notes.
- Custom Attributes: Define custom attribute attributes to store information about a contact or a conversation and extend the product to match your workflow.
- Shared multi-brand inboxes: Manage multiple brands or pages using a shared inbox.
- Private notes: Use @mentions and private notes to communicate internally about a conversation.
- Canned responses (Saved replies): Improve the response rate by adding saved replies for frequently asked questions.
- Conversation Labels: Use conversation labels to create custom workflows.
- Auto assignment: Chatwoot intelligently assigns a ticket to the agents who have access to the inbox depending on their availability and load.
- Conversation continuity: If the user has provided an email address through the chat widget, Chatwoot will send an email to the customer under the agent name so that the user can continue the conversation over the email.
- Multi-lingual support: Chatwoot supports 10+ languages.
- Powerful API & Webhooks: Extend the capability of the software using Chatwoot’s webhooks and APIs.
- Integrations: Chatwoot natively integrates with Slack right now. Manage your conversations in Slack without logging into the dashboard.
Documentation
Detailed documentation is available at chatwoot.com/help-center.
Translation process
The translation process for Chatwoot web and mobile app is managed at https://translate.chatwoot.com using Crowdin. Please read the translation guide for contributing to Chatwoot.
Branching model
We use the git-flow branching model. The base branch is develop.
If you are looking for a stable version, please use the master or tags labelled as v1.x.x.
Deployment
Heroku one-click deploy
Deploying Chatwoot to Heroku is a breeze. It's as simple as clicking this button:
Follow this link to understand setting the correct environment variables for the app to work with all the features. There might be breakages if you do not set the relevant environment variables.
DigitalOcean 1-Click Kubernetes deployment
Chatwoot now supports 1-Click deployment to DigitalOcean as a kubernetes app.
Other deployment options
For other supported options, checkout our deployment page.
Security
Looking to report a vulnerability? Please refer our SECURITY.md file.
Community? Questions? Support ?
If you need help or just want to hang out, come, say hi on our Discord server.
Contributors ✨
Thanks goes to all these wonderful people:
Chatwoot © 2017-2025, Chatwoot Inc - Released under the MIT License.