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

# Agents and Conversations

The agent is the unit of deployment and of compute: one project, one function as the entry point, one actor type as the class. The conversation is the unit of state and of serialization: one instance of that class. The last segment of the address names it, and every call to that name, from any channel and any host, reaches the same instance of the class with the same message log, state and scheduled work.

| Entry Point | `<conversation>` |
| - | - |
| A text | The sender's number: one instance per phone, kept across every text it sends |
| A call | The call's id: a new instance per call |
| An email | `email-<thread id>`: one instance per thread |
| The browser page | `web-<id>`, minted by the browser and kept in its local storage |
| `invoke`, `chat`, `rpc` | The `--conversation` value; a `chat` without one gets a fresh `session-<id>` |

Two texts from one number land on the same instance; two calls from one phone are two instances. What joins a caller's conversations is [memory](/docs/agents/memory), not the instance.

## One Call at a Time

An instance runs one method call at a time. A second text while a reply is still being produced waits its turn, which is why the read-modify-write patterns in a class, `messages.add` then `queue`, are safe without locks. Different conversations run in parallel, on whatever containers the platform placed them.

## What Each Instance Owns

Its message log, its state, its scheduled tasks, its SQL database, its in-flight run and its connections. None of it is visible to another instance, of the same agent or of any other; [Isolation](/docs/agents/model/isolation) lists what is shared instead.
