Documentação

App do Slack

Anote e atualize tarefas pelo Slack com /done ou @done. Cada pessoa no Slack vincula a própria conta do Done, então tudo o que você adiciona fica restrito às suas tarefas.

O que você pode fazer

/done buy milk tomorrow urgent #errands
Cria uma tarefa: datas em linguagem natural, prioridade, ~estimativa e #projeto são extraídos da linha, exatamente como na Adição rápida do app.
/done done review the PR
Marca como concluída a primeira tarefa aberta cujo título corresponda a “review the PR”.
/done update groceries :: friday, low priority
Aplica à tarefa correspondente as indicações de prazo e prioridade que vêm depois de :: e publica o texto como comentário nela.
/done list
Mostra suas cinco tarefas abertas mais relevantes.
/done connect
Vincula esta conta do Slack à sua conta do Done (uma única vez).
/done disconnect
Desvincula esta conta do Slack. Suas tarefas ficam; só a conexão com o Slack é removida.
/done help
Mostra a referência de comandos.

@done … em um canal onde o bot está funciona do mesmo jeito que /done ….

Adicione o Done ao seu workspace do Slack

Uma pessoa instala o app para o workspace inteiro. Basta um clique e não é preciso configurar nada: você não cria um app do Slack nem mexe em nenhum segredo.

Adicionar ao Slack

A instalação concede ao Done três escopos de bot — commands, chat:write e app_mentions:read — e nada além disso. A instalação sozinha não conecta as tarefas de ninguém: cada pessoa ainda vincula a própria conta, como explicado abaixo. Por isso um administrador não consegue ligar o workspace aos dados do Done de outra pessoa.

Conecte sua conta

  1. No Slack, execute /done connect.
  2. Abra o link que vem na resposta e entre no Done, se ainda não tiver entrado.
  3. Aprove na tela de consentimento do próprio Slack. O Done pede um único escopo, identity.basic, que só nos diz qual usuário do Slack você é.
  4. Pronto: /done agora gerencia as tarefas da sua conta. Execute /done disconnect quando quiser desvincular.

As duas metades da conexão são comprovadas, nunca apenas declaradas por uma URL: sua conta do Done vem da sessão no seu navegador, e sua identidade no Slack vem da troca de tokens do próprio Slack. O link que /done connect entrega é o mesmo para todo mundo e não diz nada sobre quem está se conectando. Por isso, encaminhá-lo para outra pessoa não faz nada em seu nome; só inicia a conexão dela com a conta dela.

Configuração (administrador do workspace)

Só é necessário se você hospeda o Done por conta própria. Em trydone.app o app já está publicado; use o botão Adicionar ao Slack acima. Hospedar por conta própria significa criar seu próprio app do Slack apontando para a sua instância e definir quatro segredos; enquanto eles não estiverem definidos, as rotas /slack/* ficam inativas e respondem “not configured”.

  1. Em api.slack.com/apps, crie um app para o seu workspace.
  2. Slash Commands → adicione /done com a URL de solicitação https://trydone.app/slack/commands e adicione o escopo de bot commands. O Slack se recusa a salvar um app que declara um comando de barra sem esse escopo.
  3. Interactivity & Shortcuts → ative, com a URL de solicitação https://trydone.app/slack/interactivity. Os alertas de aprovação chegam por mensagem direta com os botões Aprovar / Pedir alterações; sem essa URL, o Slack não tem para onde enviar o clique, então os botões aparecem mas não fazem nada.
  4. Event Subscriptions (opcional, para @done) → URL de solicitação https://trydone.app/slack/events, assine o evento de bot app_mention e adicione os escopos chat:write e app_mentions:read. Assinar app_mention exige este último.
  5. OAuth & Permissions → adicione a URL de redirecionamento https://trydone.app/slack/oauth/callback e o escopo de token de usuário identity.basic. Vincular contas é uma ida e volta de OAuth; sem isso, /done connect não tem para onde mandar as pessoas.
  6. Instale o app no workspace e depois defina os segredos no Worker:
wrangler secret put SLACK_SIGNING_SECRET   # de Basic Information → App Credentials
wrangler secret put SLACK_CLIENT_ID        # Basic Information → App Credentials → Client ID
wrangler secret put SLACK_CLIENT_SECRET    # …→ Client Secret (necessário para /done connect)

Defina SLACK_SIGNING_SECRET antes de adicionar a URL de Event Subscriptions. O Slack verifica essa URL enviando a ela um desafio url_verification, e /slack/events confere a assinatura da solicitação antes de responder ao desafio. Assim, enquanto o segredo não estiver definido, o endpoint responde “not configured” e o Slack rejeita a URL. Nenhuma outra etapa tem essa restrição: Event Subscriptions é a única que o Slack verifica ao salvar.

Teste rápido: /done connect → aprove no Slack → /done buy milk tomorrow urgent #errands → /done list. Depois, peça a um agente que deixe uma proposta pendente e pressione Aprovar na mensagem direta. Esse último passo é o único que comprova que Interactivity está ligado corretamente.

Observações

  • Toda solicitação do Slack é verificada com a assinatura baseada no segredo de assinatura do Slack; solicitações antigas (reenviadas) são rejeitadas.
  • Todo o trabalho fica restrito à conta do próprio usuário vinculado, o mesmo isolamento que o app e o endpoint MCP aplicam.
  • As tarefas criadas pelo Slack são tarefas comuns: atribua a um agente de IA, defina dependências ou trabalhe nelas pelo app.