# A channel's inbound URL: delivers a message to its agent `POST /v1/channels/{channel}/inbound` **In this build:** Uses a stand-in for an external service. The record, inbound URL and message delivery are real. Slack, Telegram and Discord need registered bot accounts, which aren't connected. **Scope:** None; this call is public ## Query `token` ## Request: `ChannelMessageRequest` | Field | Type | Notes | |---|---|---| | `text` (required) | `string` | | ## Response: 202 `AgentMessage` | Field | Type | Notes | |---|---|---| | `id` (required) | `string` | | | `agent` (required) | `string` | | | `end_user` | `string or null` | | | `source` | `string` | api, trigger, schedule or channel:. | | `text` (required) | `string` | | | `prompt` (required) | `string` | The prompt it became, on the agent's sandbox. | | `conversation` | `string or null` | | | `status` (required) | `string` | One of: `queued`, `running`, `finished`, `failed`, `interrupted`, `budget_exceeded` | | `reply` | `string or null` | The agent's answer once its turn ends. | | `usage` | `object or null` | | | `at` (required) | `string` | | Errors follow [one format](../errors.html).