Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
opendesk is the open-source helpdesk and team inbox: shared support inboxes, team mail with private and shared accounts, live chat in 14 languages, AI drafts and translation, a knowledge base, automat
BusinessGo · TypeScriptGitHub @useopendeskOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The open-source support inbox + live chat and inbox collaboration for teams
Loading the full README.
Read the full README ↗opendesk brings your support email, live chat and help center into one shared inbox, and every change shows up live for everyone on the team. It ships as a hosted service at opendesk.sh and as a self-hosted install, and the two run the same code. Ollie, the built-in AI, drafts, triages and answers alongside your team, with any Anthropic or OpenAI-compatible provider, including local models.
opendesk is one Go binary (the API, background jobs and the event relay), an Elixir realtime gateway that holds no database connection, and Postgres. Every change that someone else should see is written as an event in the same transaction as the change; the relay publishes it to NATS, the gateway pushes it to browsers, and webhooks deliver it to your endpoints. There is no Redis and no Kafka.
flowchart LR
B["Browsers · apps"] --> C["Caddy"]
C -- "/socket" --> RT["Realtime gateway"]
C --> OD["opendesk<br/>API · jobs · web app"]
OD --> DB[("Postgres")]
OD -- "events" --> N{{"NATS"}}
N --> RT
OD --> WH["Webhooks"]
OD --> M["Google · Microsoft · SMTP"]
Self-hosted, NATS runs embedded in the opendesk binary and the whole stack sits behind Caddy on one domain. The hosted service splits the same binary into API and worker roles. Full write-up in the introduction and the cloud architecture.
You need Go, Node.js with pnpm, Elixir, and Docker for Postgres.
git clone https://github.com/useopendesk/opendesk && cd opendesk
cp .env.example .env
make dev-db # Postgres on localhost:55432
make api # the Go API and workers, with embedded NATS on :4222
make realtime # the Elixir gateway on :4000
make web # the web app on :5173
Open http://localhost:5173 and sign up. Until you configure a mail driver,
verification and invitation emails are printed to the API log. make site and
make docs run the marketing site and the docs. More in the
contributing guide.
Self-hosted opendesk is free forever, with no limits, and runs the same code as the hosted service. One command installs it on any Linux server with Docker:
curl -fsSL https://opendesk.sh/install.sh | sh
It asks for your domain and an email for the TLS certificate, generates every
secret, pins a release, verifies each file against the release's checksums,
and serves opendesk over HTTPS with Caddy. Open your domain and sign up; the
first account becomes the workspace owner. Add --wizard and it also asks about
email, storage, inbound mail, AI and sign-ups. The script is checksummed at
install.sh.sha256 if you would rather read and verify it first, and
--dry-run prints the .env it would write without touching anything. Every
flag: install script.
To build it from source instead:
git clone https://github.com/useopendesk/opendesk && cd opendesk
make selfhost-up
[!WARNING] The installer writes
/opt/opendesk/.env, which holds the only copy ofCREDENTIALS_KEY, the key that encrypts mailbox credentials. Lose it and every stored credential is unreadable.opendesk-ctl backupsaves it with the database.
opendesk-ctl in the install directory runs the instance: status, logs,
backup, restore, upgrade, start and stop. From here the
self-hosting guide covers email,
Google and Microsoft sign-in, storage, AI, hardening, scaling and backups.
The full docs live at docs.opendesk.sh.
This is the beginning of the README. Read the rest at the original. Read the full README ↗