Practices CRM

Relaticle is a self-hosted CRM where the AI proposes and you approve

AGPL-3.0, five containers, your own model keys, and an approval card in front of every update or delete an agent wants to make.

Relaticle is an open-source CRM you run yourself, and the part worth looking at is not the pipeline board. It is the approval card. Ask the built-in assistant to delete a record and it proposes the change instead of making it; nothing happens until you click Approve. Reads and record creation run without asking. Approved destructive actions can be undone for five seconds.

Relaticle's home screen: a sidebar with People, Companies, Opportunities, Tasks and Notes, an assistant prompt reading 'Ask anything…' with suggestion chips, and a five-item task list, shown with demo data.
Relaticle's home screen: the assistant prompt, suggestion chips and the task list, shown with the project's demo data. Screenshot: the Relaticle project, from its repository README.

What you are deploying

AGPL-3.0, Laravel 13 with Filament 5 on PHP 8.5, PostgreSQL 17 with Redis for queues and cache. The documented path is Docker Compose with five containers: the application, a Horizon queue worker, a scheduler, PostgreSQL and Redis. Minimums are 2 GB RAM and 10 GB of disk. You download the compose file, generate an APP_KEY, set a database password, start it, then create your admin with make:filament-user. The panel lands at /app or a subdomain if you prefer.

The project measures itself at 1.7K GitHub stars, 32,000+ Docker pulls, 2,000+ automated tests and a weekly release cadence. There is also a managed hosting option at app.relaticle.com if you would rather not run the containers yourself.

The agent surface

Two ways in: a chat assistant called Rela inside the app, and an MCP server exposing 39 tools to outside agents, so Claude, ChatGPT, Gemini, Cursor or anything else that speaks MCP can work the same data. Writes through chat come back as proposals. There is a second admin panel called sysadmin for managing every workspace on an installation, which is worth locking down if you run it for anyone but yourself.

Inference runs on whichever key you configure, and the choices include your own hardware. Ollama is the recommended local path, and any OpenAI-compatible endpoint works, so vLLM or LM Studio on a GPU box in the same rack is a supported configuration. That makes this one of the few agent-native tools where the data and the inference can both stay inside the house.

Where it gets honest

The self-hosting guide contains a warning I would keep on a wall. Small models tend to claim an action succeeded without actually calling the tool, so the project ships php artisan chat:models --probe=, which smoke-tests tool-calling against your endpoint before you trust a model with your customer records. There is also a stated limit of 120 seconds per response, and a note that the one-write-at-a-time constraint cloud providers enforce at the API level is enforced for local models by prompt instructions alone. The approval card, in other words, stays load-bearing when you self-host the model.

My read

The pattern here is the thing to steal. An agent that reads freely and proposes writes, with the approval step drawn as a card in the UI rather than buried in a prompt, is the only shape I have seen that a normal person can supervise. Relaticle’s own docs say plainly where that protection thins out, which is more than most agent products manage.

The deployment cost is real, though: five containers and a queue worker is a bigger footprint than the words “one CRM” suggest, and the whole thing is PHP and Postgres, so this is not a weekend tinker unless you already run Laravel somewhere. If you run a small business on a home server and want the agent to talk to your customer data without the customer data leaving the house, this is now a live option, and the probe command is where I would start.

Sources: relaticle.com, the self-hosting guide and the repository README