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

# Agents and workflows

> Choose an agent type and understand drafts and published versions.

## Choose an agent type

| Type              | Use it for                                               | How you edit it                                       |
| ----------------- | -------------------------------------------------------- | ----------------------------------------------------- |
| **Single Prompt** | A conversation guided by one set of instructions         | Edit the prompt, voice behavior, and attached actions |
| **Workflow**      | A conversation with explicit steps and conditional paths | Edit nodes and the pathways between them              |

Choose **From a prompt** or **Build a workflow** when creating your agent. Treat this as a creation choice; create a separate agent if you need the other type.

## Workflow steps

A workflow connects conversation steps with pathways. A pathway's condition describes when the agent should move to the next step.

```mermaid theme={null}
flowchart LR
    Greeting[Start Call] --> Intent[Understand the request]
    Intent --> Support[Answer a support question]
    Intent --> Appointment[Collect appointment details]
    Support --> End[End Call]
    Appointment --> End
```

Use a **Global** node for instructions shared by conversation steps. Use **Agent** nodes for individual tasks, **Start Call** for the greeting, and **End Call** to finish. Optional **QA** and **Webhook** nodes process conversation results. Connect [Datadog or Langfuse](/integrations/overview#observability-integrations) to review agent activity in your observability service. Outbound calling through API Trigger nodes is [temporarily disabled](/getting-started/index#calling-availability).

## Drafts and publishing

Save your edits as a draft and test them before publishing. Production API triggers use the published version. Test API routes use a draft when one exists and otherwise use the published version. See [publishing](/voice-agent/publish).

## API terminology

The API uses `workflow` for an agent and `workflow_definition` for its conversation definition. Keep these names when constructing API requests. An integer `workflow_id`, stable Agent UUID, and API Trigger UUID identify different things; see [agent identifiers](/configurations/agent-uuid).
