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

# Agent Control Plane

> [!WARNING]
>
> **Beta.** The Agent Control Plane is in beta. See [Beta Limitations](/docs/agents/beta-limitations).

There are two ways to build an agent. They differ in who sets up the harness and implements the turn taking.

**Way 1, declare the agent in configuration.** Telnyx sets up the harness and implements the turn taking; the user sees no code. The user configures and deploys the agent using the `telnyx-acp` CLI.

**Way 2, implement the agent in code.** The user sets up the harness and implements the turn taking, in code, as a TypeScript class on the [Agent SDK](/docs/agent-sdk), deployed with `telnyx-acp`. There are [three ways to implement an agent in code](/docs/agent-sdk#three-ways-to-implement-an-agent-in-code), from extending the managed harness to implementing everything from the runtime layer.

Regardless of how agents are built, they share a common set of control plane APIs and their provenance is indistinguishable to the runtime platform.

## How It Fits Together

The diagram shows callers reaching the agent by voice, texters by SMS,
website visitors through the chat page, applications over RPC and email
through an inbox. The agent runs on Edge Compute as one persistent instance per
conversation, with its instructions and model, the conversation's state,
memory, and tools with approvals. It calls Telnyx Inference for the model,
Agent Memory for profiles, Web Search and remote MCP servers; a Gateway for
the user's APIs is coming soon. The project's agent.json and instructions.md
are deployed to it with the telnyx-acp CLI.
