What agents can do, and how read and write access is separated.
A tool is one capability an integration exposes to agents. Tools are named integration.capability and have a read or write scope; some accept parameters that narrow them further (a mailbox, a folder, a channel, a CRM object).
Read tools fetch data: list messages, read a file, query records, fetch a web page. They are low-risk and are granted freely within the agent's knowledge scope.
Write tools change something: send an email, create a ticket, post an invoice, update a CRM field, call an HTTP endpoint with side effects. Write tools:
| Tool | Scope | Purpose |
|---|---|---|
knowledge.search | read | Query granted knowledge bases |
documents.read | read | Read a full document by id |
email.send | write | Send from the agent's address or a shared mailbox |
http.request | read/write | Call any REST API with stored credentials |
spreadsheet.read / spreadsheet.write | read/write | Google Sheets and Excel |
files.write | write | Create files in a Drive/SharePoint folder |
chat.post | write | Post to Slack or Teams |
handoff | — | End the run and hand the case to a person or queue |
approval.request | — | Ask approvers explicitly (in addition to policy-triggered approvals) |
Integration-specific tools (for example netvisor.purchase_invoices, hubspot.deals, zendesk.tickets) are documented on each integration page.
Tool credentials are stored in the workspace vault and never exposed to the model. Each tool call is executed by the platform with the stored credential and the scope the agent was granted.
Define a custom tool from an OpenAPI description or as a single HTTP request template with typed parameters. Custom tools inherit the same scope, approval and trace behaviour. Settings → Tools → New custom tool.