App de Slack
Captura y actualiza tareas desde Slack con /done o @done. Cada usuario de Slack vincula su propia cuenta de Done, así que todo lo que agregas queda limitado a tus propias tareas.
Qué puedes hacer
/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 … en un canal donde está el bot funciona igual que /done ….
Agrega Done a tu espacio de trabajo
Una persona instala la app para todo el espacio de trabajo. Basta un clic y no requiere configuración — no creas ninguna app de Slack ni tocas ningún secreto.
Al instalarla, Done recibe tres alcances de bot — commands, chat:write y app_mentions:read — y nada más. La instalación por sí sola no conecta las tareas de nadie: cada persona vincula su propia cuenta como se explica abajo, así que un administrador no puede conectar el espacio de trabajo a los datos de Done de otra persona.
Conecta tu cuenta
- En Slack, ejecuta
/done connect. - Abre el enlace con el que te responde e inicia sesión en Done si todavía no lo has hecho.
- Aprueba en la pantalla de consentimiento de Slack. Done pide un único alcance,
identity.basic, que solo nos dice qué usuario de Slack eres. - Listo —
/doneahora gestiona las tareas de tu cuenta. Ejecuta/done disconnectcuando quieras desvincularla.
Las dos mitades de la conexión se demuestran; una URL nunca basta para afirmarlas: tu cuenta de Done sale de la sesión de tu navegador, y tu identidad de Slack, del propio intercambio de tokens de Slack. El enlace que te da /done connect es el mismo para todos y no dice nada sobre quién se está conectando — así que reenviárselo a otra persona no hace nada en tu nombre; solo inicia su conexión con su propia cuenta.
Configúralo (administrador del espacio de trabajo)
Solo es necesario si alojas Done por tu cuenta. En trydone.app la app ya está publicada — usa el botón Agregar a Slack de arriba. Alojarlo por tu cuenta significa crear tu propia app de Slack apuntando a tu instancia y configurar cuatro secretos; mientras no estén configurados, las rutas /slack/* quedan inactivas y responden “not configured”.
- En api.slack.com/apps, crea una app para tu espacio de trabajo.
- Slash Commands → agrega
/donecon la URL de solicitudhttps://trydone.app/slack/commands, y agrega el alcance de botcommands— Slack no deja guardar una app que declara un comando de barra sin él. - Interactivity & Shortcuts → actívalo, con la URL de solicitud
https://trydone.app/slack/interactivity. Las alertas de aprobación te llegan por mensaje directo con los botones Approve / Request changes; sin esta URL, Slack no tiene adónde enviar el clic, así que los botones aparecen pero no hacen nada. - Event Subscriptions (opcional, para
@done) → URL de solicitudhttps://trydone.app/slack/events, suscríbete al evento de botapp_mentiony agrega los alcanceschat:writeyapp_mentions:read— suscribirse aapp_mentionrequiere este último. - OAuth & Permissions → agrega la URL de redirección
https://trydone.app/slack/oauth/callbacky el alcance de token de usuarioidentity.basic. Vincular cuentas es un intercambio OAuth de ida y vuelta; sin esto,/done connectno tiene adónde enviar a las personas. - Instala la app en el espacio de trabajo y luego configura los secretos en el 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 (necesario para /done connect)Configura SLACK_SIGNING_SECRET antes de agregar la URL de Event Subscriptions. Slack verifica esa URL enviándole un desafío url_verification, y /slack/events comprueba la firma de la solicitud antes de responder al desafío — así que, mientras el secreto no esté configurado, el endpoint responde “not configured” y Slack rechaza la URL. Ningún otro paso tiene esa restricción — Event Subscriptions es el único que Slack verifica al guardar.
Prueba rápida: /done connect → aprueba en Slack → /done buy milk tomorrow urgent #errands → /done list. Luego haz que un agente deje una propuesta pendiente y presiona Approve en el mensaje directo — ese último paso es el único que demuestra que Interactivity está bien conectado.
Notas
- Cada solicitud de Slack se verifica con la firma basada en el secreto de firma de Slack; las solicitudes vencidas (reenviadas) se rechazan.
- Todo el trabajo queda limitado a la propia cuenta del usuario vinculado — el mismo aislamiento que aplican la app y el endpoint MCP.
- Las tareas creadas desde Slack son tareas normales: asígnalas a un agente de IA, define dependencias o trabájalas en la app.