# Bot templates



The catalog under Plugins → Bots is a curated discovery surface. Importing a
template creates an ordinary, actor-private, organization-pinned Computer
[session](/docs/agents/sessions-and-events) ("bot") — it does not create an
agent definition, project, plugin installation, connection, or running job.

The catalog currently includes Marketing Analyst, Meeting Notes,
Voice-Matched Drafts, Sales Prospector and Research Assistant, adapted from
botdirectory.ai with source attribution. Each template pins authored standing instructions and a
set of immutable, versioned skills; some also ship optional routine presets
that you must explicitly review and enable — nothing is scheduled
automatically.

<Callout title="What import does not do">
  Importing a template copies no credentials, connections, shared stores, or
  personal memories, and it enables no routine. You can freely edit the
  bot's standing instructions afterward; catalog changes never overwrite
  your edits or the skill versions your bot already has pinned.
</Callout>

## API [#api]

| Method | Path                       | Description                                                                                                                                                                                                            |
| ------ | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET`  | `/v1/bot-templates`        | List the template catalog.                                                                                                                                                                                             |
| `POST` | `/v1/bot-templates/import` | Import a template (`org_id`, `template_id`, `revision`, and a bounded `request_id` of 1-128 letters, digits or hyphens). Returns `201` with the new `Session` the first time, `200` with the same `Session` on replay. |

`import` is human-only — it requires a Bearer JWT with the `compute:use`
scope, not an organization API key. Repeating the same actor/organization/
`request_id` returns the original bot instead of creating a duplicate;
resending it with different inputs conflicts with `409`. A receipt survives
deleting the imported bot, so replaying a `request_id` after deletion never
resurrects it — import a fresh template instead.

The imported session gets its own owned [environment](/docs/agents/environments)
and files folder, so its files are available the first time it opens. Opening
the bot starts its first conversation (`POST /v1/sessions/{id}/setup/start`),
which has the bot introduce itself using its template and skills. Connecting an account or
installing a plugin it suggests always goes through an explicit approval card.

Bots imported before October 17, 2026 that were never opened have no files
folder, and none is added later. Delete and re-import them to get one.

See [API reference](/docs/agents/api-reference#bot-templates) for
authentication and error conventions shared across the API.
