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

# Agent functions

> Discover, configure, verify, and publish Agent functions through the API.

Functions let an Agent take actions during or around a conversation. Availability depends on the selected account's plan, connected services, configuration, and Computer Agent setup.

## Discover available functions

Call `GET /api/v2/agent/functions?targetAccountId=...` before changing `actions`.

* Use the returned `name` exactly.
* Require `allowed: true` before publishing.
* Resolve `missingRequirement` when present.
* Respect `limit`, which describes how many instances can be configured.
* Use `hasSettings` to identify functions with related Agent settings.

Eligibility values returned by reads are calculated status, not authored action configuration.

## Configure actions

The staging `actions` array is the complete authored function list when supplied. Each action includes its canonical `name` and instructions, plus any function-specific fields defined by the Agent configuration schema.

Read staging first, preserve actions you are not changing, update the intended entries, and send the complete resulting array. Read staging again and verify it.

Some functions depend on additional Agent fields or external setup:

* transfer functions can depend on destinations, caller ID, monitoring, timing, and notification settings
* Pause & Think uses `agentThinkingModel`
* reusable helpers require a configured Computer Agent; use `@computer_function(...)` for API,
  file, or data work and `@browser_function(...)` for Browser-backed work
* a Computer Agent uses its own Computer automatically; set `computerDelegateAccountId` only when
  it must use another Agent's Computer
* apps and external services may need to be installed or authenticated first

## Function-specific settings

* `preTransfer` and `postTransfer` are orchestration actions. Their instructions name the configured functions to run before or after a successful transfer. `preTransferNotificationStart` and `preTransferNotificationEnd` control the optional caller-facing messages around Pre Transfer work.
* `playAudio` instructions define when the configured audio should play. Keep this separate from `backgroundAudio`, which controls audio across the call.
* Pause & Think uses the configured `agentThinkingModel` for its private reasoning step.
* `browser` is for ad hoc work in the live Browser.
* `computer` can invoke an exact registered helper or perform bounded multi-step work. When
  `computerDelegateAccountId` is set, it deliberately uses that other Agent's Computer instead.
  Prefer an exact helper when the operation and arguments are known; use delegated work when the
  Computer Agent must plan the work.

Use the exact action names returned by the function catalog if they differ from display labels shown in the product documentation.

## Verify before publishing

Call the function catalog again after updating staging. Confirm every configured function reports `allowed: true`, then test the staged Agent and publish.

For product behavior and instruction examples, see [Agent Functions](/docs/agents/functions) and the individual pages under the Documentation tab.
