Volver al Blog

Claude Code + Slack: Delega Tareas de Código desde tu Workspace

18 de enero de 202611 min de lecturapor Francisco París
claude-codeslackai-toolsproductivitydeveloper-toolsteam-collaboration

Tu equipo está discutiendo un bug en Slack. Alguien menciona que el endpoint de autenticación falla con usuarios OAuth. Otra persona sugiere revisar el middleware. Copias el contexto, abres tu IDE, buscas archivos, contextualizas... 15 minutos después estás listo para empezar.

¿Y si pudieras mencionar @Claude directamente en el thread de Slack y decirle "investiga este bug y haz un PR"? Claude lee toda la conversación, entiende el contexto, analiza tu codebase, hace los cambios y crea el pull request. Todo sin que salgas de Slack.

Eso es exactamente lo que hace la integración de Claude Code con Slack. Y al final de este post, la tendrás configurada y funcionando en tu equipo.

¿Qué es Claude Code en Slack?

Claude Code en Slack es una integración oficial que permite delegar tareas de desarrollo directamente desde tu workspace de Slack.

Cómo funciona en 30 segundos:

  1. Mencionas @Claude en un canal de Slack con una tarea de código
  2. Claude detecta automáticamente que es una tarea de desarrollo
  3. Se crea una sesión de Claude Code en la web (claude.ai/code)
  4. Claude trabaja de forma asíncrona en tu repositorio
  5. Te notifica en el thread cuando termina con un resumen y botones de acción
  6. Haces clic en "View Session" para revisar o "Create PR" para publicar los cambios

Diferencia clave con chatbots normales:

CaracterísticaSlack bot típicoClaude Code en Slack
Acceso al códigoNingunoRepositorio completo (GitHub)
EjecuciónSolo respondeLee archivos, ejecuta comandos, hace commits
OutputMensaje de textoSesión interactiva + Pull Request
ContextoSolo el mensaje actualThread completo + mensajes recientes del canal

Casos de Uso Principales

1. Bug Reports Colaborativos

Escenario: Alguien reporta un bug en #engineering:

Usuario: "El login con Google OAuth está fallando. Error 500 en /auth/callback"

Tú: @Claude investiga el error en el endpoint /auth/callback y arréglalo.
Incluye tests para prevenir regresión.

Claude: [Crea sesión de Claude Code]
→ Lee backend/auth/oauth.py
→ Identifica error: token validation sin manejo de excepciones
→ Añade try/catch con logging
→ Crea test test_oauth_callback_invalid_token()
→ Verifica que todos los tests pasan
→ Comenta en thread: "✅ Bug arreglado. El problema era..."
→ Botones: [View Session] [Create PR]

Beneficio: El contexto del bug (mensajes del thread) ya está disponible para Claude. No necesitas re-explicar.

2. Code Reviews Asíncronos

Escenario: Alguien pide review de su PR en #code-reviews:

Usuario: "Alguien puede revisar este PR? https://github.com/team/repo/pull/234
Añadí caching a la API pero no estoy seguro del approach"

Tú: @Claude revisa el PR #234 y sugiere mejoras de performance y seguridad

Claude:
→ Lee el diff del PR
→ Analiza implementación de caché
→ Identifica: sin TTL configurado, sin invalidación, keys sin namespacing
→ Comenta en Slack: "El caching funciona pero encontré 3 mejoras..."
→ Crea comentarios en el PR de GitHub con sugerencias específicas

Beneficio: Code review contextualizado + feedback directo en GitHub.

3. Implementación de Features Pequeñas

Escenario: Product manager pide una feature en #product:

PM: "Necesitamos añadir filtro por fecha en el listado de posts"

Tú: @Claude añade filtro por rango de fechas en /api/posts/
Acepta query params ?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD

Claude:
→ Modifica backend/api/posts.py
→ Añade validación de fechas
→ Actualiza tests
→ Actualiza documentación de la API
→ Crea PR con cambios
→ Comenta: "✅ Filtro implementado. PR: [link]"

Beneficio: Features pequeñas implementadas sin cambiar de contexto.

4. Debugging en Producción

Escenario: Alguien detecta comportamiento extraño en #incidents:

Usuario: "El endpoint /api/analytics tarda 8 segundos en responder desde ayer"

Tú: @Claude revisa el endpoint /api/analytics y busca problemas de performance.
Compara con commits de las últimas 24h.

Claude:
→ Lee el código del endpoint
→ Revisa commits recientes con git log
→ Identifica: query N+1 introducido en commit abc123
→ Propone solución con prefetch_related
→ Comenta: "El problema es un N+1 query. Aquí está el fix..."

Beneficio: Debugging asistido sin abandonar la conversación del incidente.

Prerrequisitos

Antes de empezar, asegúrate de tener:

CategoríaRequisitoDetalles
ClaudePlan Pro, Max, Team o EnterpriseCon acceso a Claude Code
Claude Code WebHabilitado en tu cuentaFunciona en claude.ai/code
GitHubCuenta conectadaCon al menos 1 repositorio autenticado
SlackWorkspace donde eres miembroAdministrador debe instalar la app
CuentaMisma cuenta Claude en Slack y webSincronización de identidad

⚠️ Importante: Claude Code en Slack solo funciona en canales (públicos o privados), no en mensajes directos. Esto es intencional para mantener el contexto colaborativo.

Instalación y Configuración

El proceso tiene 4 pasos. Los primeros 2 los hace un admin, los últimos 2 los hace cada usuario.

Paso 1: Instalar la App Claude en Slack (Admin)

Un administrador del workspace debe instalar la app oficial:

  1. Ir al Slack App Marketplace
  2. Hacer clic en "Add to Slack"
  3. Autorizar los permisos solicitados
  4. Confirmar instalación

Permisos que solicita la app:

  • Leer mensajes en canales donde es mencionada
  • Enviar mensajes en threads
  • Acceder al historial de canales (para contexto)

💡 Nota para admins: La app solo tiene acceso a canales donde es explícitamente mencionada con @Claude. No lee todos los mensajes del workspace.

Paso 2: Añadir Claude a Canales

Una vez instalada, añade Claude a los canales donde quieras usarlo:

En el canal: /invite @Claude

O desde la interfaz:

  1. Abrir detalles del canal
  2. Click en "Integrations" → "Add an app"
  3. Buscar "Claude" → Add

Paso 3: Conectar tu Cuenta Claude (Cada Usuario)

Cada miembro del equipo que quiera usar Claude Code debe conectar su cuenta:

  1. Abrir la app Claude en Slack (Apps → Claude)
  2. Ir a la pestaña "App Home"
  3. Hacer clic en "Connect"
  4. Completar el flujo de autenticación en el navegador
  5. Autorizar la conexión entre Slack y Claude

Importante: Usa la misma cuenta de Claude que tienes configurada en claude.ai/code.

Paso 4: Configurar Claude Code en Web (Cada Usuario)

Cada usuario debe tener Claude Code configurado:

  1. Ir a claude.ai/code
  2. Iniciar sesión (misma cuenta del paso anterior)
  3. Conectar cuenta de GitHub
  4. Autenticar al menos un repositorio

Verificación del setup:

En Slack, en cualquier canal donde esté Claude:

Tú: @Claude confirma que estás conectado y puedes acceder a mi repo github.com/username/my-project

Claude: "✅ Estoy conectado. Tengo acceso a estos repositorios:
- github.com/username/my-project
- github.com/username/another-repo
¿Qué necesitas que haga?"

Si responde correctamente, estás listo.

Configurar Modo de Enrutamiento

Claude puede manejar mensajes de dos formas. Configúralo en la App Home:

Modo "Code only"

Qué hace: Todas las menciones @Claude se enrutan a sesiones de Claude Code.

Ideal para:

  • Canales dedicados a desarrollo (#engineering, #backend, #frontend)
  • Equipos que usan Claude exclusivamente para programación

Ejemplo:

Tú: @Claude explícame cómo funciona la autenticación

→ Crea sesión de Claude Code
→ Lee archivos de auth en el repo
→ Responde con análisis técnico del código

Modo "Code + Chat"

Qué hace: Claude analiza cada mensaje e inteligentemente decide:

  • Si es tarea de código → Claude Code (acceso al repositorio)
  • Si es consulta general → Claude Chat (conversación normal)

Ideal para:

  • Canales mixtos (#general, #random)
  • Equipos que usan Claude para múltiples propósitos

Ejemplo:

Tú: @Claude resume el último paper de LLMs multimodales

→ Claude Chat (no necesita código)
→ Responde con resumen del paper

Tú: @Claude añade logging a las funciones de src/api.py

→ Claude Code (tarea de programación)
→ Modifica código y crea PR

Si Claude se equivoca:

Puedes corregirlo manualmente:

  • Botón "Retry as Code" → Fuerza Claude Code
  • Botón "Retry as Chat" → Fuerza Claude Chat

💡 Recomendación: Empieza con "Code + Chat". Es más flexible. Si tu equipo solo usa Claude para código, cambia a "Code only" después.

Cómo Funciona Internamente

Entender el flujo interno te ayuda a usar la integración más efectivamente.

1. Detección de Intención

Cuando mencionas @Claude, el sistema analiza tu mensaje:

Indicadores de tarea de código:

  • Menciona archivos: "revisa src/auth.py"
  • Menciona comandos: "ejecuta los tests"
  • Acciones de desarrollo: "arregla el bug", "implementa X", "refactoriza Y"
  • Menciona repositorios: "en el repo backend"

Indicadores de chat general:

  • Preguntas conceptuales: "¿qué es un JWT?"
  • Solicitudes de resumen: "resume este artículo"
  • Conversación: "gracias por la ayuda"

2. Recopilación de Contexto

Claude no solo lee tu mensaje. Recopila contexto de:

Desde el thread:

  • Todos los mensajes en el hilo de conversación
  • Archivos adjuntos (logs, screenshots)
  • Links compartidos (PRs, issues, documentación)

Desde el canal:

  • Últimos ~20 mensajes del canal (para entender discusión en curso)
  • Menciones de archivos o PRs relevantes

Desde tu repositorio:

  • Código actual en la rama especificada (o main/master por defecto)
  • Commits recientes (si son relevantes para la tarea)

⚠️ Advertencia de Seguridad: Claude tiene acceso al contexto de la conversación en Slack. Solo usa @Claude en canales confiables. No menciones API keys, passwords o secretos en canales donde Claude está presente.

3. Creación de Sesión

Claude crea una sesión en claude.ai/code con:

  • Tu cuenta de usuario (no es compartida)
  • El repositorio que detectó automáticamente
  • Todo el contexto recopilado

La sesión cuenta contra tus límites de API, no contra un límite compartido del equipo.

4. Ejecución Asíncrona

Claude trabaja en la sesión de forma asíncrona:

[En Slack - Thread actualizado]

Claude:
🔄 Iniciando sesión de Claude Code...
   Repositorio: github.com/team/backend
   Rama: main

🔄 Analizando código...
   Leyendo: src/auth/oauth.py, src/auth/middleware.py

🔄 Ejecutando cambios...
   Modificados: 2 archivos
   Tests: 15/15 passed

✅ Tarea completada
   Archivos cambiados: src/auth/oauth.py (+12, -3), tests/test_auth.py (+25)

[View Session] [Create PR]

Estas actualizaciones aparecen en tiempo real en el thread.

5. Finalización y Revisión

Cuando termina, Claude te menciona:

@TuNombre He completado la tarea. Resumen:

✅ Arreglado el bug en OAuth callback
✅ Añadido manejo de excepciones
✅ Creados tests para prevenir regresión
✅ Todos los tests existentes pasan

Cambios: src/auth/oauth.py, tests/test_auth.py

[View Session] → Abre claude.ai/code con sesión completa
[Create PR] → Crea pull request en GitHub

Botones de acción:

  • View Session: Abre la sesión completa en el navegador para revisar cambios
  • Create PR: Crea pull request directamente con los cambios
  • Change Repo: Si Claude eligió el repo equivocado, selecciona el correcto

Selección de Repositorio

Claude selecciona automáticamente el repositorio basándose en:

  1. Mención explícita: "en el repo backend"
  2. Discusión en el canal: Si en los últimos mensajes se mencionó un repo
  3. Nombre del canal: #backend → repo "backend"
  4. Tus repositorios conectados: Si solo tienes uno, lo usa

Si hay ambigüedad:

Claude muestra un dropdown:

Claude: Encontré múltiples repositorios. ¿Cuál quieres usar?

Dropdown:
○ github.com/team/backend
○ github.com/team/frontend
○ github.com/team/mobile

Para evitar ambigüedad:

❌ Vago: @Claude arregla el bug de autenticación

✅ Específico: @Claude arregla el bug de autenticación en el repo backend

Acceso y Permisos

Importante entender el modelo de seguridad.

Sesiones a Nivel de Usuario

  • Cada usuario ejecuta sesiones bajo su propia cuenta Claude
  • Las sesiones cuentan contra tus límites de API (no contra límites del equipo)
  • Solo puedes acceder a repositorios que has conectado personalmente en claude.ai/code
  • Tus sesiones aparecen en tu historial en claude.ai/code

Ejemplo:

Usuario A: @Claude implementa feature X en repo backend

→ Crea sesión bajo la cuenta de Usuario A
→ Usuario A puede acceder al repo backend (tiene permisos en GitHub)
→ Cambios se commitean como Usuario A
→ Sesión aparece en historial de Usuario A

Usuario B: @Claude implementa feature Y en repo backend

→ Crea sesión bajo la cuenta de Usuario B
→ Si Usuario B NO tiene acceso al repo → Error
→ Claude responde: "No tengo acceso a ese repositorio. Conéctalo en claude.ai/code"

Permisos de GitHub

Claude hereda tus permisos de GitHub:

  • Si tienes read-only, Claude puede leer código pero no crear PRs
  • Si tienes write, Claude puede modificar código y crear PRs
  • Si no tienes acceso al repo, Claude no puede trabajar en él

💡 Buena práctica: Configura Claude Code para que solo tenga acceso a los repositorios que necesitas. Principio de mínimo privilegio.

Mejores Prácticas

Después de usar Claude Code en Slack durante varios proyectos, estos son los tips que más han ayudado.

1. Escribe Solicitudes Efectivas

❌ Mal✅ Bien
"@Claude arregla esto""@Claude el endpoint /api/users devuelve 500 cuando user_id es null. Añade validación y test."
"@Claude mejora el código""@Claude refactoriza src/parser.py para usar async/await en lugar de sync. Mantén misma API pública."
"@Claude haz un PR""@Claude implementa rate limiting en /api/upload con límite de 10 requests/minuto por IP. Crea PR contra rama develop."

Elementos de una buena solicitud:

  1. Específica: Menciona archivos, funciones, o comportamiento exacto
  2. Contexto: Incluye mensajes de error, logs, o descripción del problema
  3. Criterios de éxito: Define qué significa "hecho" (tests pasan, documentación actualizada, etc.)

2. Usa Threads para Contexto

Aprovecha los threads de Slack:

[Canal #engineering]

Usuario A: "El dashboard de analytics está super lento"

Usuario B: (reply en thread) "Sí, vi que carga 10+ segundos"

Usuario C: (reply en thread) "El problema es el endpoint /api/analytics/summary"

Tú: (reply en thread) @Claude revisa el endpoint /api/analytics/summary
y optimiza las queries. El dashboard tarda 10s en cargar.

→ Claude lee TODO el thread
→ Entiende que el problema es performance
→ Entiende que es el endpoint específico /api/analytics/summary
→ Analiza queries y propone optimización

Beneficio: No necesitas repetir contexto. Claude ya lo tiene.

3. Define el Repositorio Claramente

En canales con múltiples proyectos:

@Claude implementa feature X en el repo github.com/team/backend

Alternativa: Usa canales dedicados

  • #backend → Solo para github.com/team/backend
  • #frontend → Solo para github.com/team/frontend

Claude aprende la asociación canal-repo.

4. Revisa Antes de Mergear

Claude es muy bueno, pero siempre revisa los cambios antes de mergear:

Flujo recomendado:

1. Claude termina tarea → Comenta en Slack
2. Click [View Session] → Revisas cambios en claude.ai/code
3. Si todo OK → Click [Create PR]
4. Revisas PR en GitHub (diffs, tests, CI/CD)
5. Si apruebas → Merge

Especialmente crítico para:

  • Lógica de negocio
  • Código de seguridad (auth, permisos)
  • Queries de base de datos
  • Cambios en producción

5. Cuándo Usar Slack vs Web

Usa Slack cuando:

  • El contexto ya existe en una discusión de Slack
  • Quieres delegar una tarea de forma asíncrona (no necesitas resultado inmediato)
  • Colaboras con teammates que necesitan visibilidad del progreso

Usa claude.ai/code directamente cuando:

  • Necesitas interacción en tiempo real (debugging iterativo)
  • Quieres cargar archivos (logs, configs)
  • Trabajas en tareas largas y complejas que requieren múltiples iteraciones

Ejemplo de tarea asíncrona ideal para Slack:

Viernes 5pm:
@Claude implementa rate limiting en todos los endpoints públicos.
Límite: 100 req/min por IP. Crea PR y asigna a @TechLead

→ Te vas del trabajo
→ Claude trabaja durante el weekend (broma, trabaja en minutos 😄)
→ Lunes 9am: PR listo para review

Solución de Problemas

Las Sesiones No Se Inician

Síntomas:

Claude: "No puedo crear una sesión de Claude Code. Verifica tu configuración."

Checklist de diagnóstico:

  1. ¿Tu cuenta está conectada?

    • Ve a App Home de Claude en Slack
    • Verifica que muestra "Connected"
    • Si no → Click "Connect" y reautoriza
  2. ¿Tienes acceso a Claude Code en web?

    • Abre claude.ai/code en tu navegador
    • Verifica que puedes crear sesiones manualmente
    • Si no → Tu plan de Claude no incluye Claude Code
  3. ¿Tienes repositorios conectados?

    • En claude.ai/code → Settings → GitHub
    • Verifica que aparece al menos 1 repositorio
    • Si no → Conecta GitHub y autoriza repositorios

El Repositorio No Aparece

Síntomas:

Claude: "No tengo acceso al repositorio github.com/team/backend"

Soluciones:

  1. Conecta el repositorio:

    • Ve a claude.ai/code → Settings → GitHub
    • Click "Authorize repositories"
    • Selecciona el repositorio necesario
  2. Verifica permisos de GitHub:

    • ¿Tienes acceso al repo en GitHub?
    • ¿Es un repo privado? → Necesitas permisos explícitos
  3. Desconecta y reconecta GitHub:

    • claude.ai/code → Settings → GitHub → Disconnect
    • Vuelve a conectar y autoriza repositorios

Se Seleccionó el Repositorio Incorrecto

Síntomas:

Claude: "Trabajando en github.com/team/frontend..."
(Pero querías github.com/team/backend)

Solución rápida:

Click en el botón "Change Repo" que aparece en el mensaje de Claude.

Prevención:

Sé explícito en tu solicitud:

@Claude en el repo backend, implementa feature X

Errores de Autenticación

Síntomas:

Claude: "Error de autenticación. Por favor reconecta tu cuenta."

Soluciones:

  1. Desconecta y reconecta en App Home
  2. Verifica que usas la misma cuenta Claude en Slack y en claude.ai/code
  3. Comprueba que tu plan Claude incluye acceso a Claude Code

La Sesión Expiró

Síntomas:

El link [View Session] ya no funciona o muestra "Session not found".

Nota: Las sesiones permanecen accesibles en tu historial de Claude Code.

Solución:

  1. Ve a claude.ai/code
  2. Abre "History"
  3. Busca la sesión por fecha/hora o nombre del repositorio
  4. Puedes continuar la sesión desde allí

Limitaciones Actuales

Expectativas realistas sobre lo que Claude Code en Slack puede y no puede hacer.

Limitaciones técnicas:

  • Solo GitHub: Actualmente solo soporta repositorios en GitHub (no GitLab, Bitbucket, etc.)
  • Solo canales: No funciona en mensajes directos (DMs)
  • Un PR por sesión: Cada sesión puede crear un pull request
  • Límites de tasa: Las sesiones cuentan contra tus límites de plan Claude (no ilimitado)
  • Acceso web requerido: Si un usuario no tiene acceso a Claude Code en web, solo obtendrá respuestas de chat

No es ideal para:

  • Debugging en tiempo real: Para debugging interactivo, mejor usa claude.ai/code directamente
  • Tareas muy largas: Sesiones complejas (>30 min) son mejor en la web
  • Carga de archivos: No puedes adjuntar archivos grandes (logs, dumps) en Slack. Para eso, usa la web

Conclusión

Has aprendido:

  • Qué es Claude Code en Slack y cómo se diferencia de chatbots normales
  • Cómo instalarlo y configurarlo en tu workspace
  • Modos de enrutamiento (Code only vs Code + Chat)
  • Cómo funciona internamente (detección, contexto, ejecución, finalización)
  • Modelo de permisos a nivel de usuario
  • Mejores prácticas para solicitudes efectivas
  • Cuándo usar Slack vs la web
  • Solución de problemas comunes

¿Qué hacer ahora?

  1. Instala la app en tu workspace - Si eres admin, hazlo hoy. Si no, pídele a tu admin que la instale.
  2. Conecta tu cuenta - Sigue los pasos 3 y 4 del setup.
  3. Prueba con una tarea pequeña - Empieza con algo simple: "lee este archivo y explícamelo".
  4. Comparte con tu equipo - Muéstrales cómo funciona. Es más poderoso cuando todo el equipo lo usa.

Casos de uso para explorar:

  • Automatiza code reviews de PRs pequeños
  • Delega refactoring de código legacy
  • Genera tests automáticamente desde bugs reportados
  • Implementa features pequeñas sin cambiar de contexto

La integración de Claude Code con Slack no reemplaza tu IDE, pero añade una capa de productividad asíncrona que puede reducir significativamente el context switching en equipos de desarrollo.

Si ya usas Claude Code en tu IDE (revisa mi guía de setup), añadir Slack completa el workflow: desarrollo individual en el IDE, colaboración en equipo en Slack.

Recursos

Documentación Oficial

Artículos Relacionados

Comunidad


¿Tienes preguntas sobre Claude Code en Slack? Contáctame o conectemos en LinkedIn.

Compartir: