Raven is open-source chat for teams. Channels, direct messages, threads, files and reactions, with nothing surprising in between. It runs on your own Frappe site, so your conversations stay in your database and there is no per-user pricing.
Raven is built on the Frappe Framework and works alongside ERPNext, HR, CRM and Helpdesk.
- Channels and direct messages: Open, private and public channels, plus one-to-one messages. Group channels into workspaces.
- Threads and replies: Reply inline, or start a thread when a discussion needs its own space.
- Rich messages: Formatting, mentions, links, code blocks, emoji and custom reactions.
- Files and previews: Drag in images and documents. Links and shared documents show a preview card.
- Search: Find messages, files and people across every channel you belong to.
- Notifications: Web push, quiet hours and per-channel preferences. Reminders and scheduled messages.
- Mobile: Works in the browser and as an installable web app on phones.
- Share a document: Paste a link to any document on the site and Raven shows it with its status and key fields.
- Document notifications: Post to a channel when a document is created, changed or submitted. Conditions and templates are configurable without code.
- Workflows from the chat: Approve, reject or send back a document without leaving the conversation.
- Know who is on leave: Frappe HR leave shows up next to a person's name.
- Bots, webhooks and AI agents: Build bots that post and reply, send incoming webhooks into channels, and set up agents backed by your own OpenAI or compatible provider.
- Frappe Framework: A full-stack web application framework.
- Frappe React SDK: React hooks for auth, data fetching and realtime with a Frappe backend.
| Raven branch | Frappe branch |
|---|---|
| develop | version-15 (15.111 or later), version-16, develop |
Install Raven on a site from the Frappe Cloud marketplace. Frappe Cloud takes care of hosting, upgrades, backups and support.
Pilot is the recommended way to run Raven on your own server. It installs Frappe, manages sites and backups, and sets up production with nginx and TLS. Pilot needs Frappe v16 or later.
Install Pilot:
curl -fsSL https://raw.githubusercontent.com/frappe/pilot/develop/install.sh | bashCreate a bench and run the setup wizard. The first start prints the URL of the admin wizard.
pilot new main
pilot -b main startThen add Raven and create a site:
pilot -b main get-app https://github.com/frappe/raven
pilot -b main new-site chat.example.com
pilot -b main install-app chat.example.com ravenRaven opens at https://chat.example.com/raven. See the Pilot production guide for nginx, TLS and process managers.
If you already have a bench, install Raven the usual way:
bench get-app https://github.com/frappe/raven
bench --site your-site install-app ravenSet up a bench with Pilot or bench, get the app and create a site as above, then turn on developer mode and skip CSRF checks for the site. The second setting is for local development only, since the Vite dev server has no CSRF token.
bench set-config -g developer_mode 1
bench --site raven.localhost set-config ignore_csrf 1The web app is a React single page app in apps/web. To work on it with hot reloading, add a .env.local file in apps/web:
VITE_SITE_NAME='raven.localhost'
VITE_SOCKET_PORT=9000
VITE_SOCKET_PORT is the socket.io port of your bench, usually the web port plus 1000. Then start the dev server from the app folder:
cd apps/raven
yarn
yarn devThe app runs at http://raven.localhost:8080 and proxies API calls to your site. Run yarn from the repository root only, not from apps/web.
- GitHub Discussions: Questions, ideas and help.
- GitHub Issues: Bug reports. Include steps to reproduce, screenshots and any console or server errors.
- Report security vulnerabilities
- Translations