> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Canal personalizado

> Conecta tu propia aplicación a los flujos de Brain Studio mediante webhook y API REST

Con un **canal personalizado** tu app (web, móvil u otro backend) puede ejecutar flujos publicados en Brain Studio sin depender de WhatsApp ni Meta. Tu sistema envía interacciones a Jelou, el agente procesa el flujo de forma asíncrona y Jelou entrega las respuestas a un `webhookUrl` que tú controlas.

Algunos nodos y herramientas del builder no están disponibles en este canal. Consulta las [limitaciones del canal](/guides/activacion-canales/personalizado#limitaciones-del-canal).

***

## Proceso de integración

<Steps>
  <Step title="Activar el canal en el builder">
    Habilita **personalizado**, define el webhook, su autenticación y la clave de firma HMAC (obligatoria) desde la interfaz.

    [Guía de activación →](/guides/activacion-canales/personalizado)
  </Step>

  <Step title="Firmar las peticiones">
    Firma el cuerpo de cada petición entrante (interacción y consulta de estado) y verifica la firma de cada entrega saliente.

    [Firma HMAC →](/api/canal-personalizado/firma-hmac)
  </Step>

  <Step title="Enviar interacciones">
    Envía mensajes o acciones de usuario a `POST /v1/custom-channel/:botId`. Jelou responde de inmediato con un `executionId` y procesa el flujo en segundo plano.

    [Enviar interacción →](/api/canal-personalizado/enviar-interaccion)
  </Step>

  <Step title="Recibir respuestas">
    Jelou hace `POST` a tu webhook con el mensaje del bot. Revisa los formatos por tipo de burbuja.

    [Formato de respuesta →](/api/canal-personalizado/formato-respuesta)
  </Step>

  <Step title="Consultar el estado">
    Usa `POST /v1/custom-channel/:botId/status` con firma HMAC para saber si la sesión está en ejecución, esperando input o idle.

    [Consultar estado →](/api/canal-personalizado/consultar-estado)
  </Step>
</Steps>

<Warning>
  La entrega saliente hace **un solo intento** (timeout 20s, sin retry ni backoff). Tu endpoint debe responder rápido y de forma confiable.
</Warning>
