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

# Custom channel

> Define identity, routing, delivery, and failure requirements for an application-owned conversation channel.

A custom channel would connect messages from your application to an agent and return replies to the correct recipient. Prepare that boundary before choosing a transport.

<Note>
  There is no verified released custom-channel adapter or custom WebSocket SDK. Agent execution remains gated. Saving a tool or agent configuration does not create an inbound messaging endpoint.
</Note>

## Design the message flow

You need a channel owner, its authentication contract, sample messages without personal data, and a documented routing policy.

<Steps>
  <Step title="Identify the sender and destination" id="custom-channel-identity">
    Define how your server authenticates the channel's requests and maps a channel user to permitted application data. Bind the target workspace and agent on your server. A channel user ID does not grant workspace membership or authorize an arbitrary agent ID.
  </Step>

  <Step title="Define delivery records" id="custom-channel-delivery">
    Preserve the provider message ID, destination, and processing outcome. Deduplicate repeated inbound deliveries. Specify size and attachment limits, unsupported-message responses, and how an operator handles a message that cannot be routed.
  </Step>

  <Step title="Review outbound actions" id="custom-channel-outbound">
    Show the intended recipient and message before a consequential send. Track acceptance separately from delivery and conversation completion. An uncertain response requires reconciliation before retrying, so one request does not produce duplicate messages.
  </Step>
</Steps>

Use [secrets](/agents-platform/configure/authentication/secrets) and [auth connections](/agents-platform/configure/authentication/auth-connections) only in supported configuration fields. [Tool authoring](/agents-platform/configure/tools/overview) can describe a future outbound action. It does not implement your bridge or release the [agent runtime](/agents-platform/overview#current-availability).

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can a client tool receive incoming channel messages?" id="faq-custom-channel-client-tool">A saved client tool definition does not provide an inbound transport. Your channel design needs a separately implemented and authorized receiver.</Accordion>
  <Accordion title="What should be ready before a live channel test?" id="faq-custom-channel-readiness">A released execution path, reviewed identity mapping, retry handling, recipient confirmation, and a tested route for delivery failures. Configuration read-back alone proves none of these.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.