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/done done review the PR/done update groceries :: friday, low priority/done list/done connect/done disconnect/done help@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.
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
- No Slack, execute
/done connect. - Abra o link que vem na resposta e entre no Done, se ainda não tiver entrado.
- 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ê é. - Pronto:
/doneagora gerencia as tarefas da sua conta. Execute/done disconnectquando 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”.
- Em api.slack.com/apps, crie um app para o seu workspace.
- Slash Commands → adicione
/donecom a URL de solicitaçãohttps://trydone.app/slack/commandse adicione o escopo de botcommands. O Slack se recusa a salvar um app que declara um comando de barra sem esse escopo. - 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. - Event Subscriptions (opcional, para
@done) → URL de solicitaçãohttps://trydone.app/slack/events, assine o evento de botapp_mentione adicione os escoposchat:writeeapp_mentions:read. Assinarapp_mentionexige este último. - OAuth & Permissions → adicione a URL de redirecionamento
https://trydone.app/slack/oauth/callbacke o escopo de token de usuárioidentity.basic. Vincular contas é uma ida e volta de OAuth; sem isso,/done connectnão tem para onde mandar as pessoas. - 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.