Documentazione

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
Crea un’attività: le date in linguaggio naturale, la priorità, la ~stima e il #progetto vengono ricavati dalla riga, proprio come con l’aggiunta rapida nell’app.
/done done review the PR
Segna come completata la prima attività aperta il cui titolo corrisponde a “review the PR”.
/done update groceries :: friday, low priority
Applica all’attività corrispondente le indicazioni di scadenza e priorità che seguono :: e pubblica il testo come commento sull’attività.
/done list
Mostra le tue cinque attività aperte più rilevanti.
/done connect
Collega questo account Slack al tuo account Done (una volta sola).
/done disconnect
Scollega questo account Slack. Le tue attività restano; sparisce solo il collegamento con Slack.
/done help
Mostra l’elenco dei comandi.

@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.

Aggiungi a Slack

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

  1. In Slack, esegui /done connect.
  2. Apri il link che ricevi in risposta e accedi a Done, se non l’hai già fatto.
  3. Approva nella schermata di consenso di Slack. Done chiede un solo ambito, identity.basic, che ci dice soltanto quale utente Slack sei.
  4. Fatto: da ora /done gestisce le attività del tuo account. Esegui /done disconnect quando 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”.

  1. Su api.slack.com/apps, crea un’app per il tuo workspace.
  2. Slash Commands → aggiungi /done con la request URL https://trydone.app/slack/commands e aggiungi l’ambito del bot commands: Slack si rifiuta di salvare un’app che dichiara uno slash command senza questo ambito.
  3. 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.
  4. Event Subscriptions (facoltativo, per @done) → request URL https://trydone.app/slack/events, iscriviti all’evento del bot app_mention e aggiungi entrambi gli ambiti chat:write e app_mentions:read: l’iscrizione a app_mention richiede il secondo.
  5. OAuth & Permissions → aggiungi la redirect URL https://trydone.app/slack/oauth/callback e l’ambito identity.basic del token utente. Il collegamento dell’account è un giro completo di OAuth; senza questi elementi, /done connect non sa dove mandare le persone.
  6. 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.