heliofilho.devNewsletter
Cofre/Vídeos
Vídeo · 23 de out. de 2026

Twenty: o CRM de código aberto rival da Salesforce, do zero ao primeiro cliente

O link oficial do Twenty, o passo a passo para instalar no seu servidor com Docker, os preços da nuvem, como mudar o CRM com IA e os cuidados que quase ninguém comenta.

Twenty, o CRM de código aberto (imagem oficial do repositório no GitHub)
Twenty, o CRM de código aberto (imagem oficial do repositório no GitHub)

Valeu por comentar CRM! Aqui está o que eu prometi no vídeo: o link oficial do Twenty, o passo a passo para instalar no seu próprio servidor do jeito mais simples, quanto custa a versão na nuvem, como colocar a IA para mudar o CRM do jeito da sua empresa e os cuidados que quase ninguém comenta.

Resumo rápido

O que éUm CRM: a agenda de clientes da empresa (contatos, empresas, funil de vendas, tarefas, e-mails, automações)
Quem fazTwenty, empresa que mantém o projeto aberto no GitHub
NúmerosCerca de 58,5 mil estrelas, 9,6 mil cópias (forks) e mais de 17 mil alterações no código (23/10/2026)
LicençaCódigo aberto, AGPL v3 (com algumas partes em MIT e algumas em licença comercial)
Na nuvemPlano Pro a US$ 9 por usuário por mês; Organization a US$ 19 (25% de desconto no anual); teste grátis sem cartão
No seu servidorGrátis, com Docker; precisa de pelo menos 2 GB de memória
O diferencialFeito para ser personalizado como código, e com instruções oficiais para agentes de IA (Claude Code, Codex, Cursor)

1. CRM em uma frase

CRM é onde a empresa guarda quem é cliente, em que pé está cada negociação e o que precisa ser feito com cada um. Quem comprou, quem está negociando, quem você precisa ligar amanhã. Antes disso, era o fichário de cartões na mesa do vendedor.

Fichário de cartões giratório, o "CRM" de antigamente (ArnoldReinhold, Wikimedia Commons, CC BY 2.5)
Fichário de cartões giratório, o "CRM" de antigamente (ArnoldReinhold, Wikimedia Commons, CC BY 2.5)

O mais famoso do mundo é o Salesforce, tão grande que tem um prédio com o nome em San Francisco. O Twenty se apresenta no GitHub como "a alternativa aberta à Salesforce, feita para a IA".

A Salesforce Tower, em San Francisco (Frank Schulenburg, Wikimedia Commons, CC BY-SA 4.0)
A Salesforce Tower, em San Francisco (Frank Schulenburg, Wikimedia Commons, CC BY-SA 4.0)

Serve para quem vende e precisa acompanhar cliente: loja, prestador de serviço, imobiliária, agência, consultório, freelancer com muitos clientes. Se hoje isso está numa planilha ou no WhatsApp, você é o público.

2. Os dois jeitos de usar

Na nuvem deles (twenty.com): você cria a conta e em menos de um minuto tem um espaço de trabalho pronto. Não instala nada, eles cuidam de atualização e backup. É pago por usuário:

PlanoPreço (por usuário, por mês)O que tem a mais
ProUS$ 9Personalização completa, apps próprios, agentes de IA com habilidades próprias, objetos personalizados sem limite, suporte padrão
OrganizationUS$ 19Tudo do Pro, permissões por registro, login único (SSO), domínio próprio, suporte prioritário, registro de auditoria
EnterpriseA partir de US$ 50 mil por anoInstância isolada e contrato de suporte

Preços conferidos na página oficial em 23/10/2026. O pagamento anual tem 25% de desconto e dá para começar com teste grátis sem cartão.

No seu próprio servidor: grátis. Os dados dos seus clientes ficam numa máquina sua, e você tem todos os recursos do plano Pro. Em troca, instalar, atualizar e fazer backup é com você. É esse caminho que eu explico abaixo.

3. Passo a passo para instalar no seu servidor

O que você precisa

  • Uma máquina com pelo menos 2 GB de memória. Pode ser o seu próprio computador, para testar, ou um servidor alugado (VPS) com Linux, para usar de verdade com a equipe.
  • Docker e Docker Compose instalados e atualizados. No Windows e no Mac, o jeito mais fácil é o Docker Desktop. Num servidor Linux, siga o guia oficial do Docker para a sua distribuição.

Docker é um programa que roda outros programas dentro de "caixas" prontas, já com tudo configurado. Por isso a instalação do Twenty vira poucos comandos, em vez de dezenas.

Jeito 1: um comando só (o mais simples)

Num terminal com Docker funcionando, rode:

bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)

Esse script oficial baixa os arquivos de configuração e sobe tudo. Funciona em Linux e Mac. No Windows, rode dentro do WSL (o Linux do Windows) ou use o jeito 2.

Jeito 2: passo a passo manual

Passo 1. Crie o arquivo de configuração. Numa pasta nova, baixe o modelo:

curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example

Passo 2. Gere a chave de criptografia e guarde num lugar seguro:

openssl rand -base64 32

Abra o arquivo .env e coloque o resultado em ENCRYPTION_KEY=. Importante: se perder essa chave, perde o acesso a tudo que o Twenty guarda criptografado (logins de e-mail conectados, tokens, segredos).

Passo 3. Crie a senha do banco de dados, sem caracteres especiais (eles quebram a conexão):

openssl rand -hex 32

Coloque o resultado em PG_DATABASE_PASSWORD= no mesmo arquivo.

Passo 4. Baixe o arquivo que descreve os serviços:

curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml

Passo 5. Suba tudo:

docker compose up -d

Passo 6. Abra no navegador. Se instalou no seu computador, acesse http://localhost:3000. Se foi num servidor, confira com curl http://localhost:3000 lá dentro.

A documentação oficial pede uma coisa: só mude as configurações que o guia manda mudar. Mexer no resto costuma quebrar a instalação.

Para a equipe acessar de fora

  1. No .env, coloque em SERVER_URL o endereço pelo qual as pessoas vão entrar. Exemplos: SERVER_URL=http://123.45.67.89:3000 (acesso direto pelo IP, sem cadeado) ou SERVER_URL=https://crm.suaempresa.com.br (com domínio e cadeado).
  2. Reinicie: docker compose down e depois docker compose up -d.
  3. Coloque um "porteiro" com HTTPS na frente. A documentação recomenda isso, porque alguns recursos do navegador (como os botões de copiar) só funcionam com cadeado. Um dos mais simples é o Caddy, que pega o certificado sozinho. O arquivo de configuração dele cabe em três linhas:
crm.suaempresa.com.br {
    reverse_proxy localhost:3000
}

Antes de abrir para a internet, leia a parte de segurança da documentação. Muitas equipes deixam o CRM fechado e liberam só o necessário.

Backup (não pule)

O backup do banco de dados é um comando:

docker exec twenty-postgres pg_dump -U postgres twenty > backup_$(date +%Y%m%d).sql

Para rodar todo dia às 2 da manhã, coloque no agendador do Linux (crontab -e):

0 2 * * * docker exec twenty-postgres pg_dump -U postgres twenty > /backups/twenty_$(date +\%Y\%m\%d).sql

As boas práticas da própria documentação: teste a restauração de vez em quando, guarde cópia fora do servidor, criptografe o backup e mantenha cópias diárias, semanais e mensais.

4. Primeiros passos dentro do Twenty

O quadro de oportunidades em colunas, o funil de vendas do Twenty (documentação oficial)
O quadro de oportunidades em colunas, o funil de vendas do Twenty (documentação oficial)
  1. Crie o espaço de trabalho e convide quem vai usar.
  2. Importe os contatos da sua planilha (arquivo CSV). O importador liga as colunas da planilha aos campos do Twenty.
  3. Monte o funil: em Oportunidades, cada cartão é uma negociação e cada coluna uma etapa (por exemplo: contato, proposta, fechado). Arrastar o cartão muda a etapa.
  4. Conecte e-mail e agenda (Google ou Microsoft) para ver as conversas com cada cliente dentro da ficha dele. No servidor próprio, isso exige configurar o acesso ao Google ou à Microsoft antes; o guia de configuração da documentação explica.
  5. Crie as tarefas ligadas a cada cliente, com data e responsável.
Importação de dados para o Twenty (documentação oficial)
Importação de dados para o Twenty (documentação oficial)

Automações (workflows)

Dá para criar automações do tipo "quando acontecer isso, faça aquilo": quando uma oportunidade muda para Fechado, criar uma tarefa de enviar contrato; quando chega um contato novo, avisar o vendedor.

Editor de automações do Twenty (documentação oficial)
Editor de automações do Twenty (documentação oficial)

5. A parte que fez o projeto explodir: mudar o CRM com IA

Todo CRM grande tem o mesmo problema: a empresa precisa de um campo ou de uma tela que não existe, e mudar isso é caro. O Twenty foi pensado para ser mudado como código, e os próprios criadores publicaram instruções prontas (as skills) para agentes de IA como Claude Code, Codex e Cursor.

Criar apps para o Twenty: o código de um lado, o assistente do outro (imagem oficial do repositório)
Criar apps para o Twenty: o código de um lado, o assistente do outro (imagem oficial do repositório)

Como colocar as instruções no seu agente: num terminal, rode

npx skills add https://github.com/twentyhq/twenty/tree/agent-skills --list

Com o --list, ele só mostra as instruções disponíveis. Escolha as que quer e rode de novo sem o --list para instalar.

Um pedido de exemplo, para colar no Claude Code depois de instalar:

Uso o Twenty como CRM da minha [imobiliária / loja / clínica].
Crie um objeto novo chamado [Imóvel] com os campos: [endereço, valor, número de quartos, situação (disponível, reservado, vendido)].
Ligue cada [Imóvel] a uma Empresa e a várias Oportunidades.
Crie também uma visualização em quadro agrupada por [situação].
Me explique cada passo antes de publicar no meu espaço de trabalho.

Por baixo, o agente usa a ferramenta de linha de comando oficial (twenty), que cria o app, descreve os objetos e campos como código e publica no seu espaço de trabalho. Quem já programa pode fazer isso na mão:

import { defineObject, FieldType } from 'twenty-sdk/define';

export default defineObject({
  nameSingular: 'deal',
  namePlural: 'deals',
  labelSingular: 'Deal',
  labelPlural: 'Deals',
  fields: [
    { name: 'name', label: 'Name', type: FieldType.TEXT },
    { name: 'amount', label: 'Amount', type: FieldType.CURRENCY },
    { name: 'closeDate', label: 'Close Date', type: FieldType.DATE_TIME },
  ],
});
Agentes de IA e chat dentro do Twenty (imagem oficial do repositório)
Agentes de IA e chat dentro do Twenty (imagem oficial do repositório)

Além disso, o próprio Twenty tem agentes e chat de IA dentro do CRM, para perguntar coisas sobre os seus dados.

6. Como funciona por dentro

Quando você roda docker compose up -d, sobem quatro "caixas":

CaixaO que faz
serverO Twenty em si: as telas e a API
workerFaz o trabalho pesado em segundo plano (sincronizar e-mail, rodar automações)
dbO banco de dados PostgreSQL, onde ficam os clientes
redisUma memória rápida que organiza a fila de tarefas

Os dados ficam em volumes do Docker, que sobrevivem quando você desliga e liga de novo. Tudo que aparece na tela também está disponível por API (REST e GraphQL) e por webhooks, o que permite ligar o CRM ao seu site, ao n8n ou a uma planilha.

As peças que o Twenty oferece para montar o seu CRM (imagem oficial do repositório)
As peças que o Twenty oferece para montar o seu CRM (imagem oficial do repositório)

7. Lado a lado

Twenty no seu servidorTwenty na nuvemCRM fechado e grandePlanilha
CustoGrátis (mais o servidor)A partir de US$ 9 por usuárioAssinatura, em geral bem mais caraGrátis
Onde ficam os dadosCom vocêCom a TwentyCom a empresa do CRMCom você
Mudar campos e telasTotal, inclusive com IATotal, inclusive com IALimitado ao que o plano permiteTotal, mas tudo manual
Quem cuida de backup e atualizaçãoVocêElesElesVocê
Funil, tarefas, e-mail, automaçãoSimSimSimNão de verdade

8. A licença, sem juridiquês

A maior parte do Twenty é AGPL v3. Na prática:

  • Usar dentro da sua empresa, mesmo comercialmente, é livre.
  • Se você modificar o Twenty e oferecer essa versão modificada para outras pessoas usarem pela internet, a licença pede que você publique o código das suas mudanças.
  • Alguns arquivos marcados como "Enterprise" têm licença comercial, e algumas peças (como o kit para criar apps) são MIT.
  • Existe um plano pago para servidor próprio (Organization) para quem precisa de recursos premium ou não quer publicar o código das mudanças.

Eu não sou advogado. Se a sua empresa vai revender ou distribuir uma versão modificada, leia o arquivo LICENSE do repositório com quem entende.

9. O que ninguém te conta

  • Não é clicar em avançar. Mesmo com o script, você precisa de um terminal, de Docker e de saber onde está o arquivo .env.
  • Backup é seu. No servidor próprio, se o disco morrer sem backup, os clientes vão junto.
  • A chave de criptografia é sagrada. Perdeu a ENCRYPTION_KEY, perdeu os acessos guardados.
  • 2 GB de memória é o mínimo. Abaixo disso, o sistema cai.
  • E-mail e agenda dão trabalho no servidor próprio. Precisa criar o acesso no Google ou na Microsoft antes.
  • Atualização é com você. O guia de atualização da documentação mostra o caminho; não pule versões sem ler.
  • Para muita empresa pequena, a nuvem sai mais barata do que o tempo gasto cuidando de servidor. Faça a conta do seu tempo.

10. Para ir mais fundo

Layouts personalizáveis no Twenty (imagem oficial do repositório)
Layouts personalizáveis no Twenty (imagem oficial do repositório)

11. Glossário

  • CRM: sistema para organizar clientes, negociações e o relacionamento com cada um.
  • Funil de vendas: as etapas por que uma negociação passa até fechar ou cair.
  • Self-hosting (servidor próprio): rodar o programa numa máquina sua, em vez de usar o serviço da empresa.
  • VPS: servidor alugado na internet, que você acessa de longe.
  • Docker: programa que roda outros programas em "caixas" prontas.
  • Docker Compose: arquivo que diz ao Docker quais caixas subir juntas.
  • Proxy reverso: o "porteiro" que recebe o acesso pelo seu domínio, coloca o cadeado (HTTPS) e repassa para o Twenty.
  • Backup: cópia de segurança do banco de dados.
  • AGPL: licença de código aberto que pede a publicação das mudanças quando você oferece o programa modificado pela internet.
  • Skills: instruções prontas que ensinam um agente de IA a trabalhar num projeto específico.

Instalou? Me conta no direct o que você vai organizar nele. Se tiver dúvida no passo a passo, manda print do erro que eu tento ajudar.