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

# Capabilities

> Turn on real actions the agent can take — and exactly how it decides which automation to trigger, and when.

## What is this?

Capabilities are **buttons the agent may press**. Without them, it can only talk. With them, it can also update a contact, hand a chat to a person, or start one of your automations. Each one is a pre-built, tested action — turning one on doesn't require writing any code, just deciding this agent should have that power.

\[SCREENSHOT: ai-agent-capabilities-tab — The Capabilities tab with a capability enabled and its confirmation/handoff-assignment options expanded]

## What can I do here?

Capabilities are grouped by area:

| Group            | Examples                                                                | What it lets the agent do                                                |
| ---------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **Contacts**     | Update Contact, Set Custom Field, Add/Remove Label, Move Pipeline Stage | Save what a customer tells it, tag them, move them through your pipeline |
| **Conversation** | Hand off to Human, Close Conversation                                   | End its own involvement, one way or another                              |
| **Knowledge**    | Search Knowledge, Search Help Articles                                  | Look things up on demand instead of only using what's in its prompt      |
| **Catalog**      | Search Catalog, Get Product                                             | Answer product questions from your real catalog                          |
| **Events**       | Search Events, Check Availability, Register, Cancel Registration        | Handle event bookings                                                    |
| **Automation**   | Trigger Automation, Send Template                                       | Start an existing automation, or send an approved WhatsApp template      |

For any enabled capability, you can turn on **Require customer confirmation** — the agent asks "Shall I go ahead?" before it acts. For **Hand off to Human** specifically, set the **Handoff Assignment**: Unassigned, Fixed team member, Round robin, or Least busy.

## How to use it

### Turn on only what this agent actually needs

Each capability already comes with its own built-in description telling the model when it's appropriate — you don't write that part. You're deciding which powers this particular agent should have, not how it should use them.

### Set Custom Field only writes to fields you've already created

The agent can save information a customer shares — a name, an email, a budget — into a [custom field](/workspace/contacts/custom-fields). It can **only** write into fields that already exist for this channel, and it checks the value against that field's type (a real email for an Email field, an allowed option for a Dropdown). It **cannot create a new custom field on its own** — create the field first, then tell the agent when to save into it in [Instructions](/workspace/ai-agents/tabs/instructions), for example: *"If the customer mentions their company name, save it to the matching custom field."*

### Trigger Automation

This is the capability people find least obvious, so here's exactly how it works.

The moment you enable **Trigger Automation**, the agent is handed a live, always-current list of this channel's active automations — each with its own name and **Description** — every time a customer messages. This happens automatically. It has **nothing to do with what you wrote in Instructions.**

The agent compares the customer's message against each automation's Description and starts whichever one fits. If nothing matches clearly, it's told not to guess — it simply doesn't call anything.

<Tip>
  Write each automation's Description like a one-sentence instruction to a new employee — "Use this when the customer asks for a demo" — not just a name. A vague or blank description is the most common reason an agent never uses an automation you expected it to.
</Tip>

### What happens once a triggered automation is running

Control passes to the automation completely. If it includes an [Ask](/workspace/automation/steps/ask-questions) step — collecting an email, a concern, anything — the agent steps entirely aside and isn't consulted again until that automation reaches an end (**Submitted** or **Not Submitted**). Every reply the customer sends in that window goes to the automation, not the agent.

This is deliberate: it's what keeps a structured flow — say, collecting a name, email, and issue before raising a support ticket — from being interrupted halfway through. The trade-off is that the automation won't recognize an unrelated question while it's mid-flow; it treats whatever the customer sends next as the answer to its current question. Keep automations the agent triggers narrow and focused, and always connect the **Not Submitted** path so a customer who goes off-script isn't left stuck — see [Ask Questions](/workspace/automation/steps/ask-questions).

### Triggering a sequence

Trigger Automation also works for [Sequence](/workspace/automation/steps/sequences)-type automations — the agent starting one counts as an **Assign Sequence** action, including the same protection against enrolling a contact who's already in that sequence twice.

## Troubleshooting / Technical Notes

* **The agent isn't using an automation I expected.** Check that automation is **Active**, bound to this agent, and has a specific, clear Description — not the agent's Instructions.
* **It asked something unrelated to what I just said, mid-conversation.** A triggered automation with an Ask step is running and has taken over — see "What happens once a triggered automation is running" above.
* **No capabilities are listed, or the tab looks locked.** Save the agent on the [General](/workspace/ai-agents/tabs/general) tab first, then reopen it.

## Related docs

* [External Capabilities](/workspace/ai-agents/tabs/external-capabilities)
* [Custom Fields](/workspace/contacts/custom-fields)
* [Ask Questions](/workspace/automation/steps/ask-questions)
* [Sequences](/workspace/automation/steps/sequences)
* [Automation Overview](/workspace/automation/overview)
