Actions and Custom Endpoints

What Are Actions?

Actions extend your agent beyond static document answers. They let the agent call your own API during a conversation - looking up live data, submitting a form, or triggering a workflow - and fold the result into its response with a source citation.

How an action works

You define an action with a URL template and a set of inputs. When the agent decides an action is relevant to the user's request, it collects the required inputs, calls your endpoint over HTTPS, and uses the response as additional context for its answer. The entire exchange is logged as an invocation record with a correlation ID.

URL templates

Action URLs support {variable} substitution. At call time, Bounds replaces each placeholder with the value from the corresponding input. For example:

https://api.yoursite.com/orders/{orderId}/status

Here {orderId} is an input the agent collects from the user before making the call.

Input types

TypeWhere the value comes from
User inputCollected from the user during the conversation. The agent asks for it before calling the endpoint.
Session external user IDThe externalUserId from the signed session. Use this to scope requests to the currently logged-in user without asking them for their ID.
Session metadataAny key/value pair passed in the session metadata at widget init time - for example locale, brandCode, or market.

Execution policies

PolicyBehaviour
AutomaticThe agent calls the endpoint as soon as it determines the action is relevant. No user confirmation required. Use for read-only, low-risk operations like status lookups.
Ask before callThe agent tells the user what it is about to do and waits for confirmation before calling. Use for write operations or calls that have side effects.

Credential bindings

If your endpoint requires authentication, add a credential binding to the action. Credentials are stored encrypted per session and attached to the outbound request as a custom header (for example Authorization: Bearer ... or a custom API key header). The secret value is never sent to the browser.

What the agent does with the response

Bounds passes the endpoint's response body to the language model as additional context. The model uses it to compose a natural-language answer. If the response contains identifiable data fields, they may be cited in the answer using the same [source: ...] format used for document citations.

Invocation logging

Every action call is recorded as an invocation with: session ID, action ID, correlation ID, inputs used, HTTP status returned, and timestamp. You can view invocations in the console under the agent's Actions tab.