App per Slack
Aggiungi e aggiorna attività da Slack con /done o @done. Ogni utente Slack collega il proprio account Done, quindi tutto ciò che aggiungi riguarda solo le tue attività.
Che cosa puoi fare
/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 … in un canale in cui è presente il bot funziona come /done ….
Aggiungi Done al tuo workspace
Basta che una persona installi l’app per tutto il workspace. Serve un clic e nessuna configurazione: non devi creare un’app Slack e non tocchi mai un segreto.
L’installazione concede a Done tre ambiti del bot, commands, chat:write e app_mentions:read, e nient’altro. Da sola, l’installazione non collega le attività di nessuno: ogni persona deve comunque collegare il proprio account qui sotto, quindi un amministratore non può agganciare il workspace ai dati Done di qualcun altro.
Collega il tuo account
- In Slack, esegui
/done connect. - Apri il link che ricevi in risposta e accedi a Done, se non l’hai già fatto.
- Approva nella schermata di consenso di Slack. Done chiede un solo ambito,
identity.basic, che ci dice soltanto quale utente Slack sei. - Fatto: da ora
/donegestisce le attività del tuo account. Esegui/done disconnectquando vuoi per scollegarlo.
Entrambe le metà del collegamento sono dimostrate, mai dichiarate da un URL: il tuo account Done viene dalla sessione del tuo browser e la tua identità Slack viene dallo scambio di token di Slack. Il link che ti dà /done connect è uguale per tutti e non dice nulla su chi si sta collegando: inoltrarlo a un’altra persona non fa nulla per tuo conto, avvia soltanto il suo collegamento al suo account.
Configurazione (amministratore del workspace)
Serve solo se ospiti Done in proprio. Su trydone.app l’app è già pubblicata: usa il pulsante Aggiungi a Slack qui sopra. Ospitarlo in proprio significa creare una tua app Slack che punta alla tua istanza e impostare quattro segreti; finché non sono impostati, le route /slack/* restano inattive e rispondono “not configured”.
- Su api.slack.com/apps, crea un’app per il tuo workspace.
- Slash Commands → aggiungi
/donecon la request URLhttps://trydone.app/slack/commandse aggiungi l’ambito del botcommands: Slack si rifiuta di salvare un’app che dichiara uno slash command senza questo ambito. - Interactivity & Shortcuts → attivala, request URL
https://trydone.app/slack/interactivity. Gli avvisi di approvazione ti arrivano in un messaggio diretto con i pulsanti Approva / Chiedi modifiche; senza questo URL Slack non sa dove consegnare il clic, quindi i pulsanti compaiono ma non fanno nulla. - Event Subscriptions (facoltativo, per
@done) → request URLhttps://trydone.app/slack/events, iscriviti all’evento del botapp_mentione aggiungi entrambi gli ambitichat:writeeapp_mentions:read: l’iscrizione aapp_mentionrichiede il secondo. - OAuth & Permissions → aggiungi la redirect URL
https://trydone.app/slack/oauth/callbacke l’ambitoidentity.basicdel token utente. Il collegamento dell’account è un giro completo di OAuth; senza questi elementi,/done connectnon sa dove mandare le persone. - Installa l’app nel workspace, poi imposta i segreti sul Worker:
wrangler secret put SLACK_SIGNING_SECRET # from Basic Information → App Credentials
wrangler secret put SLACK_CLIENT_ID # Basic Information → App Credentials → Client ID
wrangler secret put SLACK_CLIENT_SECRET # …→ Client Secret (needed for /done connect)Imposta SLACK_SIGNING_SECRET prima di aggiungere l’URL di Event Subscriptions. Slack verifica quell’URL inviandogli una richiesta di verifica url_verification, e /slack/events controlla la firma della richiesta prima di rispondere: finché il segreto non è impostato, l’endpoint risponde “not configured” e Slack rifiuta l’URL. Nessun altro passaggio ha questo vincolo: Event Subscriptions è l’unico che Slack verifica al salvataggio.
Prova rapida: /done connect → approva su Slack → /done buy milk tomorrow urgent #errands → /done list. Poi fai mettere in attesa una proposta a un agente e premi Approva nel messaggio diretto: quest’ultimo passaggio è l’unico che dimostra che Interactivity è collegata.
Note
- Ogni richiesta di Slack viene verificata con la firma del signing secret di Slack; le richieste vecchie (ripetute) vengono rifiutate.
- Tutto il lavoro è limitato all’account dell’utente collegato: lo stesso isolamento che applicano l’app e l’endpoint MCP.
- Le attività create da Slack sono attività normali: assegnale a un agente IA, imposta dipendenze o lavoraci nell’app.