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

# Custom channel

> Connect your own app to Brain Studio flows via webhook and REST API

With a **custom channel**, your app (web, mobile, or backend) can run flows published in Brain Studio without relying on WhatsApp or Meta. Your system sends interactions to Jelou, the agent processes the flow asynchronously, and Jelou delivers replies to a `webhookUrl` you control.

Some builder nodes and tools are not available on this channel. See [channel limitations](/en/guides/activacion-canales/custom#channel-limitations).

***

## Integration process

<Steps>
  <Step title="Enable the channel in the builder">
    Turn on **custom**, set the webhook, its authentication, and the required HMAC signing key from the UI.

    [Activation guide →](/en/guides/activacion-canales/custom)
  </Step>

  <Step title="Sign requests">
    Sign each inbound request body (interaction and status check) and verify each outbound delivery.

    [HMAC signature →](/en/api/custom-channel/hmac-signature)
  </Step>

  <Step title="Send interactions">
    Send user messages or actions to `POST /v1/custom-channel/:botId`. Jelou replies immediately with an `executionId` and processes the flow in the background.

    [Send interaction →](/en/api/custom-channel/send-interaction)
  </Step>

  <Step title="Receive replies">
    Jelou `POST`s to your webhook with the bot message. Review formats per bubble type.

    [Response format →](/en/api/custom-channel/response-format)
  </Step>

  <Step title="Check status">
    Use `POST /v1/custom-channel/:botId/status` with an HMAC signature to learn whether the session is running, waiting for input, or idle.

    [Check status →](/en/api/custom-channel/check-status)
  </Step>
</Steps>

<Warning>
  Outbound delivery is a **single attempt** (20s timeout, no retry or backoff). Your endpoint must respond quickly and reliably.
</Warning>
