Desk + comm — the sales desk

Your whole sales operation on one desk.
And nothing dies on it.

AI agents answer on WhatsApp, qualify the lead and move the pipeline — every action recorded and auditable. On your own server, with no per-seat pricing.

MIT licence · no paid tier · 4 GB of RAM

A operação comercial como uma mesa única: conversa, funil, agente de IA, follow-up e registro, ligados por trilhas.

You're not losing deals for lack of leads.

A desk with disconnected modules, grooves that stop before reaching anything, and a hole a lead is falling through.

The CRM that's a pretty spreadsheet

A lead arrives, someone types it in, and nothing happens. By the time you notice, it's gone — and no one can say when, or why. The system kept the name and lost the story.

An isolated module emitting waves over a desk fragment that ends abruptly, with grooves leading nowhere.

The bot that replies and vanishes

Fast to answer, happy to say anything, then gone. If it promised a deadline that doesn't exist, your customer tells you. You can't audit what it said — let alone why it said it.

Both share one root cause: the system isn't responsible for what happens next.

The category

A living.

Living has a definition — and it was written in the repository before it was written on this page. Five rules every part of the system must satisfy to ship.

  1. 01

    Nothing is an island

    Every piece has an input and an output. The architecture map is public in the repo.

  2. 02

    No lead dies undiagnosed

    A stalled request shows up in the Radar, classified by risk — before it becomes a loss.

  3. 03

    Every AI action is auditable

    Seven guardrails before each send. Each one becomes a record — including the ones that block.

  4. 04

    An invisible log is a dead log

    Every meaningful mutation becomes an activity on the timeline, visible on screen.

  5. 05

    Follow-up is the anti-death mechanism

    An open request with no defined next step is treated as a leak in the system.

This isn't what we promise — it's the bar a change has to clear to enter the system. It lives in docs/doctrine/sistema-vivo.md, and the seven-question checklist is answered before every merge.

The life of a lead

What happens between the message and the sale.

  1. 01

    09:41 — a message arrives

    “Do you deliver to Salvador?” Before any reply, the system already knows who this is: history, orders, what was agreed last time.

    01 — 09:41 — a message arrives
  2. 02

    The agent reads before it speaks

    It searches your company's knowledge base — your lead times, your policy, your catalogue. It doesn't invent.

    02 — The agent reads before it speaks
  3. 03

    Seven checks before sending

    Opt-out, privacy, anti-ban, copy variation, deterministic promise, semantic promise and automation disclosure. In that order, always.

    03 — Seven checks before sending
  4. 04

    Including what it decided not to send

    The agent was about to promise 24-hour delivery. The guardrail blocked it: that lead time doesn't exist in your catalogue. What it was going to say — and why it didn't — is on the record.

    04 — Including what it decided not to send
  5. 05

    The lead moves on its own

    Once qualified, it changes pipeline stage. The tag lands, the owner is set — and every move carries a recorded reason.

    05 — The lead moves on its own
  6. 06

    When it's the human's turn, they get context

    Not the raw thread: a summary of what happened, what was agreed, which objections came up and what the next step is.

    06 — When it's the human's turn, they get context
  7. 07

    And if nobody replies, it doesn't die

    A follow-up is scheduled. If it goes cold, the lead appears in the Radar classified by risk — before it turns into a loss.

    07 — And if nobody replies, it doesn't die

Installation

One command. Then it's yours.

The script checks dependencies, generates every secret, applies the database, creates the first admin, brings the containers up and wires the scheduled task that fires automations.

4 GB of RAM recommended
The server compiles nothing — it pulls a prebuilt image. The stack boots on 2 GB but runs at the edge: seven containers, and each WhatsApp session costs about 150 MB.
Automatic HTTPS
The certificate is issued on first access. You don't configure TLS by hand.
Stuck? There's an assistant
Open Claude Code inside the VPS and it walks you through the install in conversation, with nine environment traps already mapped.
vps · bash
# 1. get the project
git clone https://github.com/melgarafael/DeskcommCRM.git
cd DeskcommCRM/hostgator-setup-kit

# 2. install
bash install.sh

After that: open your domain, enrol the admin's two-factor and scan the WhatsApp QR. All from the screen.

Updating doesn't break it

bash update.sh backs up the database first, reapplies the schema idempotently and health-checks at the end. The upgrade path is tested in CI — not merely documented.

Pricing

The software is free. You pay for the server.

There's no paid tier, no gated feature, no per-seat charge. What you pay for is the VPS it runs on and the AI keys you consume.

MIT licence

Use it, modify it, resell it. Commercially too, without asking permission.

No paid tier

What you install today is the complete product. There's no tier waiting for you to grow.

Your bill doesn't grow with the team

Five people in sales or fifty cost the same VPS.

Closed platforms charge per seat: the cost climbs with the team, in the same year you hire. Here the cost belongs to the server, and the server doesn't know how many people use it.

Proof

Don't take our word for it.

Every claim on this page points at a file in the public repository. If one of them doesn't hold, that's a bug — and worth an issue.

Tenant isolation is tested on every change. CI boots a clean Postgres and runs 364 invariant tests. One of them creates two organizations and proves that one sees zero rows of the other — and a control case first proves those rows exist, otherwise the test would pass against an empty table.

tests/invariants/rls-isolation.test.ts

Updating doesn't break: the schema is applied to a fresh database and reapplied to an existing one, proving idempotency. The upgrade path is tested, not merely documented.

scripts/test-db.sh

MIT licence, no paid tier, no gated features. What you install is the complete product.

LICENSE
Star it on GitHubit's what helps other people find the project

Anti-death

How many leads are dying right now?

The Radar answers that. Every open request is classified by time without interaction and by what's still pending. Not last month's report — the state right now.

A number on screen that doesn't change a decision is noise. This one does.

  • critical
  • at risk
  • in flight

Multi-vertical

The same system serves a clinic and a sneaker store.

Pipeline vocabulary is configurable. It's not a theme, not a fork, not a “clinics edition” — it's the same core, configured.

E-commerce

Customer

lead →

Paid

won →

Clinic

Patient

lead →

Booked

won →

Real estate

Prospect

lead →

Closed

won →

Services

Enquiry

lead →

Signed

won →

For agencies

Install it for your clients.

Two variables in .env change the name and logo across the whole interface — without touching code, because edited code is lost on the next update. MIT licence: modify it, host it for third parties, charge for it.

What it still does NOT do: colours and fonts require changing the design system, and branding is per installation, not per organization. It's written in the guide — better you know now than find out in front of your client.

Read the agency guide

Questions you're about to ask

How much does DeskcommCRM cost?

The software is free and open source under the MIT licence. There is no paid tier and no gated feature. You only pay for infrastructure: the VPS and the AI keys you consume.

Do I need to know how to code to install it?

No, but you do need to follow a step-by-step and have your credentials at hand. Installation is one command, and the kit ships an AI assistant that walks you through it in conversation.

What VPS do I need?

4 GB of RAM is the recommendation. The stack boots on 2 GB but runs at the edge: seven containers, and each WhatsApp session costs about 150 MB.

What kind of business is it for?

Any business that sells through conversation. Pipeline vocabulary is configurable, so the same system serves e-commerce, clinics, real estate, info-products and service providers.

Can I install it for clients and charge for that?

Yes. The MIT licence allows commercial use, modification and redistribution, and there is no clause forbidding hosting for third parties.

What happens when the AI gets it wrong?

Every message passes seven checks before going out, and all of them are recorded — including the ones that blocked a send. When the agent shouldn't proceed alone, it hands off to a human with a summary of what happened.

Where does my data live?

Wherever your VPS is. You host it, you own it — the maintainers have no access to your instance.

How do I update?

Run bash update.sh. It backs up the database first, reapplies the schema idempotently and health-checks at the end.

Official partner

Run it in Brazil, on HostGator

Datacenter in Brazil, no international data transfer. It's where DeskcommCRM was built to run — the VPS NVMe 4 plan handles it comfortably.

Get the VPS with the partner discount

partner link — subscribing through it supports the project