Saltearse al contenido

Channels

Channels

Este componente actúa como un puente entre tu flujo de trabajo de Nappai y tu espacio de trabajo de Slack. Su propósito principal es facilitarte la administración de la comunicación en Slack de manera automatizada.

Imagina que quieres crear un canal automáticamente cuando se inicia un nuevo proyecto, o necesitas invitar a varios empleados a una sala de reuniones virtual sin hacerlo manualmente uno por uno. Con este componente, puedes realizar estas tareas (y otras más) conectándolo a tu dashboard.

¿Cómo funciona?

Técnicamente, este componente se conecta a la API de Slack (la herramienta de programación que permite a otros software hablar con Slack). Para hacerlo, utiliza un “Bot” (un asistente virtual autorizado) que tiene el permiso de crear, leer y gestionar canales dentro de tu espacio de trabajo.

Cuando ejecutas este componente en un flujo de automatización:

  1. Lee las instrucciones que le das (por ejemplo: “Crea un canal llamado ventas”).
  2. Se conecta a Slack usando tu token de seguridad.
  3. Realiza la acción (crear, invitar, buscar).
  4. Te devuelve un resultado indicando si tuvo éxito o si hubo algún error.

Es un componente versátil que te permite no solo crear canales, sino también gestionar quién tiene acceso a ellos y recuperar información sobre el estado de los mismos.

Conexión y Credenciales

Para que este componente funcione, es obligatorio configurar una credencial de autenticación. Sin ella, Nappai no podrá hablar con Slack.

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio externo:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Slack bot API.
    • Nota: Deberás iniciar sesión en la plataforma de desarrolladores de Slack para obtener un OAuth APP token (ejemplo: <APP_OAUTH_TOKEN>) y pegarlo en el campo de contraseña de la credencial.
  3. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.

Importante: Asegúrate de que el token que utilizas tenga permisos suficientes (como channels:write para crear canales o users:read para invitar usuarios). Si el token no tiene los permisos correctos, las operaciones fallarán.

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • Channel Invite: Te permite invitar a un usuario específico a un canal existente. Es ideal para automatizar la incorporación de miembros a grupos de trabajo.
  • Create Channel: Crea un nuevo canal de texto o conversación en tu espacio de trabajo. Puedes decidir si el canal es público o privado.
  • Get Channels: Busca y devuelve información sobre uno o todos los canales de tu espacio de trabajo. Puedes filtrar por ID o nombre.
  • Get Users Channel: Obtiene información detallada sobre el canal específico al que pertenece un usuario o sobre un canal identificado por su ID.
  • Get Chanel User Profile: Recupera el perfil o la identidad de un usuario específico dentro del contexto de un canal (útil para verificar pertenencias o nombres de usuario).

Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation” (Operación).

Entradas

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Operation: Selección de la acción que realizará el componente (Crear, Invitar, Obtener Info, etc.).
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • Channel ID: ID del canal (por ejemplo, C123456). Para ‘Get Channels’, actúa como un filtro opcional. Si lo dejas vacío, devuelve todos los canales.
    • Visible en: Channel Invite, Get Users Channel
  • Channel Name: Selecciona un canal de la lista desplegable. Útil si no conoces el ID exacto.
    • Visible en: Channel Invite, Get Users Channel
  • Channel Selection Method: Elige cómo deseas especificar el canal (por ID o por Nombre).
    • Visible en: Channel Invite, Get Users Channel
  • Private Channel: Define si el canal que se va a crear será privado o público.
    • Visible en: Create Channel
  • Mapping Mode: Habilita el modo de mapeo para procesar múltiples registros de datos en lote.
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • New Channel Name: Nombre del nuevo canal a crear. Debe estar en minúsculas y sin espacios.
    • Visible en: Create Channel
  • User Name: Nombre de usuario requerido para identificar a la persona.
    • Visible en: Channel Invite, Get Chanel User Profile
  • Tool Name: El nombre de la herramienta que se usará cuando este componente se conecte como una herramienta. Este nombre se mostrará al agente para ayudarle a seleccionar las herramientas.
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • Tool Description: Una descripción detallada de lo que hace esta herramienta. Ayuda al agente a entender cuándo y cómo usarla.
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • Tools arguments metadata: Define los metadatos de los argumentos para las herramientas.
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • Number of Results: Número máximo de canales a devolver (solo para la operación Get Channels).
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile
  • User Name: Nombre o ID de usuario para invitar.
    • Visible en: Channel Invite, Create Channel, Get Channels, Get Users Channel, Get Chanel User Profile

Salidas

Al finalizar la operación, este componente te devuelve información útil para continuar tu flujo de trabajo.

  • Data: Contiene la información estructurada devuelta por Slack (por ejemplo, detalles del canal creado o lista de canales).
  • Tool: Convierte el resultado en una herramienta utilizable para otros agentes o componentes dentro de Nappai.

Ejemplo de Respuesta JSON

Si utilizas la operación Create Channel con éxito, podrías recibir una respuesta estructurada similar a esta en la salida Data. Esto te permite saber el ID del canal creado para poder usarlo en pasos posteriores (como invitar usuarios): json { “channels”: { “ok”: true, “channel”: { “id”: “C012AB3CD”, “name”: “nuevo-proyecto-marketing”, “is_channel”: true, “is_group”: false, “is_private”: false, “created”: 1643500000, “creator”: “U061F7AUR”, “topic”: { “value”: “Discusiones sobre el lanzamiento del Q4”, “creator”: “U061F7AUR”, “last_set”: 1643500100 } }, “success”: true }, “Tool”: null }

Conectividad

Este componente es fundamental en flujos que gestionan la comunicación de equipos. Por lo general:

  • Se conecta ANTES de componentes de Mensajería: Una vez que creas o identificas un canal, sueles enviarle el channel ID resultante a un componente de “Enviar Mensaje” o “Post Message” para que la automatización hable en ese espacio.
  • Se conecta DESPUÉS de un Creación de Proyecto/Cliente: Comúnmente recibe la información de un nuevo cliente o proyecto para crear automáticamente el espacio de trabajo en Slack donde colaborará el equipo.

Ejemplo de Uso

Escenario: Creación automática de canales para nuevos equipos

  1. Trigger: Un CRM de Nappai detecta que se ha creado una nueva “Cuenta” llamada “Empresa XYZ”.
  2. SlackChannelComponent:
    • Seleccionas la operación Create Channel.
    • En New Channel Name, mapeas el nombre de la cuenta (ej. “empresa-xyz”).
    • Marcas Private Channel como True si prefieres que sea interno.
  3. Resultado: El componente crea el canal #empresa-xyz en Slack y te devuelve su ID.
  4. Siguiente Paso: Un componente de “Enviar Mensaje” usa ese ID para enviar una bienvenida automática a los nuevos usuarios.

Componentes Relacionados

(Esta sección se omite ya que no hay componentes enlazados específicamente en la información proporcionada)

Notas Importantes

🔒 Protect Your Slack Token 🔴 The API token is highly privileged. Store it securely and avoid logging or exposing it in plain text. Compromised tokens can grant full access to your workspace.

⚠️ Component Still in Development 🔴 This SlackChannelComponent is marked as in development. Some features may not work reliably or could change without notice. Use with caution and verify outputs before production use.

📋 Slack API Token Required 🔴 To use this component, you must supply a valid Slack API token with the necessary permissions (e.g., channels:write, users:read). Without this token, channel operations will fail.

💡 Avoid Excessive Channel Creation 🟡 Creating many channels in a short period may hit Slack rate limits. Schedule or batch channel creation to stay within limits and keep your workspace organized.

⚙️ Channel Naming Rules 🟢 Channel names must be lowercase, alphanumeric, and can include hyphens. Avoid spaces or special characters to prevent creation errors.

ℹ️ Returned Channel ID Usage 🟢 When a channel is created, the component returns a channel ID. Use this ID for subsequent operations such as inviting users or fetching channel details.

Consejos y Mejores Prácticas

  • Si vas a crear muchos canales a la vez, considera usar el Mapping Mode para optimizar el proceso y evitar errores por límites de velocidad de Slack.
  • Siempre verifica que el User Name que invitas exista y esté correcto en tu organización de Slack antes de ejecutar la operación de invitación.
  • Recuerda que los nombres de los canales no deben llevar espacios; utiliza guiones medios (ej: ventas-2024) en lugar de espacios.