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

# Feature matrix

> Every platform capability — what it does, where it lives in the dashboard, its endpoints, and the scope it needs.

One row per capability. Use it to map a thing you want to do to the dashboard area that
configures it, the API endpoints behind it, and the [scope](/get-started/authentication) a
secret key needs to call them. All paths are relative to `https://builder.flowyte.com/api/v1`.

| Capability               | What it does                                                                                                  | Dashboard               | Endpoints                                                                                                                                        | Scope                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
| **Agents**               | The single entity callers reach; everything else attaches to it. Create, edit (draft), publish, roll back.    | Agents                  | `GET/POST /agents` · `PATCH /agents/{id}` · `POST /agents/{id}/publish` · `POST /agents/{id}/rollback`                                           | `agents:read` / `agents:write`                                             |
| **Voice**                | Assign a catalog voice per language and browse/search voices.                                                 | Agent → Voice           | `GET /voices` · `POST /voices/search` · `PUT /agents/{id}/voice`                                                                                 | `agents:read` / `agents:write`                                             |
| **Knowledge**            | Add sources (URL, file, text) the agent answers from; ingestion is async.                                     | Agent → Knowledge       | `GET/POST /agents/{agentId}/knowledge/sources` · `POST …/knowledge/preview`                                                                      | `knowledge:read` / `knowledge:write`                                       |
| **Skills**               | Tools the agent calls mid-conversation (transfer, email, lookups, geo).                                       | Agent → Skills          | `GET /skill-types` · `GET/POST /agents/{agentId}/skills` · `PATCH/DELETE …/skills/{id}`                                                          | `skills:read` / `skills:write`                                             |
| **Integrations**         | Connect a provider once, then provision its actions as skills. Live: Google Calendar, Google Sheets, Shopify. | Integrations            | `GET /integrations` · `GET /integrations/catalog` · `POST /integrations/{kind}/connect` · `POST /agents/{agentId}/integrations/{kind}/provision` | `integrations:read` / `integrations:write` (+ `skills:write` to provision) |
| **Guardrails**           | Deterministic policies and caller-identity verification.                                                      | Agent → Guardrails      | `GET/PUT /agents/{agentId}/guardrails` · `GET/PUT …/caller-verification`                                                                         | `guardrails:read` / `guardrails:write`                                     |
| **Playbooks**            | Optional node graph for scripted, step-by-step flows.                                                         | Agent → Playbooks       | `GET/POST /agents/{agentId}/playbooks` · `GET/PUT …/playbooks/{id}/graph`                                                                        | `playbooks:read` / `playbooks:write`                                       |
| **Numbers**              | Search, reserve, purchase, import, and assign phone numbers.                                                  | Numbers                 | `GET /numbers/search` · `POST /numbers/reserve` · `POST /numbers/purchase` · `POST /numbers/{id}/assign`                                         | `numbers:read` / `numbers:write`                                           |
| **Voice channel (PSTN)** | Inbound calls reach an assigned number; mint a talk token for the in-browser tester.                          | Agent → Test            | `POST /agents/{agentId}/talk-token` · `POST /agents/{agentId}/simulate`                                                                          | `agents:write` (talk token is session-only)                                |
| **Chat channel**         | Server-side chat sessions plus an OpenAI-compatible completions endpoint.                                     | Agent → Test / Channels | `POST /chat/sessions` · `POST /chat/sessions/{id}/messages` · `POST /chat/completions`                                                           | `chat:read` / `chat:write`                                                 |
| **Widget**               | Embeddable browser chat, authenticated by a publishable key.                                                  | Agent → Channels        | `GET/PUT /agents/{agentId}/widget` · `POST /chat/widget/sessions`                                                                                | `widgets:read` / `widgets:write` · `pubkeys:*`                             |
| **SMS (10DLC)**          | Text messaging — available after per-org brand & campaign registration.                                       | Numbers / Channels      | *registration-gated*                                                                                                                             | `sms:read` / `sms:write`                                                   |
| **Observe**              | Post-call analytics, conversation history, transcripts, receipts, topics, knowledge gaps.                     | Observe                 | `GET /agents/{agentId}/analytics` · `GET /conversations` · `GET /conversations/{id}/receipt` · `GET /analytics/overview`                         | `analytics:read` · `calls:read`                                            |
| **Billing**              | Wallet, top-ups, plans, usage, and invoices via Stripe.                                                       | Billing                 | `GET /billing/wallet` · `POST /billing/wallet/topup` · `GET /billing/usage` · `GET /billing/invoices`                                            | `billing:read` / `billing:write`                                           |
| **API keys**             | Authenticate the API. Keys are minted and managed in the dashboard Developer page.                            | Developer               | —                                                                                                                                                | —                                                                          |
| **Webhooks**             | Subscribe to events with signed deliveries; send test events.                                                 | Developer               | `GET/POST /webhooks` · `POST /webhooks/{id}/test` · `GET /webhooks/{id}/deliveries`                                                              | `webhooks:write`                                                           |
| **Audit logs**           | API and key activity history.                                                                                 | Developer               | `GET /audit-logs`                                                                                                                                | `audit:read`                                                               |

<Note>
  **DTMF** keypad input is supported on voice calls for capturing digits (menus, account numbers).
  Configure it on the agent — there's no separate endpoint.
</Note>

<Tip>
  Changes always edit a **draft**. Phone and chat serve the last **published** version, so publish
  the agent after wiring up any capability above. See [draft vs published](/get-started/draft-vs-published).
</Tip>

For the authoritative, machine-readable list, see the [API Reference](/api-reference/introduction).
