River AI
Tools & Commands
Tools are how the AI acts on entities. Read, write, annotate, summarize, generate, send, transform, search, publish — every action a SpaceChat conversation, an Agent, or a Workflow can perform is exposed as a named tool.
You don't usually invoke tools directly. The AI picks the right tool for the task. But knowing what tools exist (and which an Agent is allowed to use) is how you reason about what River can do.
Tools you'll see most often#
A small sample. The full registry is large and grows with every App and integration.
Reading#
| Tool | What it does |
|---|---|
entity_read |
Read the contents of any entity |
search |
Full-text search across your Dataspace |
mail_read |
Read emails from a connected mailbox |
calendar_read |
Read upcoming events |
drive_list |
List files in a connected Drive |
Writing#
| Tool | What it does |
|---|---|
entity_create |
Create a new entity (doc, task, sheet…) |
entity_update |
Modify an existing entity |
entity_add |
Add a structured entity from a description (researches it for you) |
mail_draft |
Draft a reply or new email |
task_create |
Create a Task from natural language |
Acting#
| Tool | What it does |
|---|---|
mail_send |
Send a drafted email |
slack_send |
Post to a Slack channel or DM |
http_request |
Make any authenticated HTTP call |
workflow_run |
Run a registered Workflow |
agent_invoke |
Invoke a registered Agent |
Building River#
| Tool | What it does |
|---|---|
agent_create |
Create a new Agent |
workflow_create |
Create a new Workflow |
app_builder_create |
Start a new custom App |
view_create |
Generate an on-demand view (see Custom Views) |
Tools, Skills, and integrations#
These three are easy to confuse:
- A tool is an action the AI can take. It usually maps to one API call or entity mutation.
- A Skill is an AI capability that produces structured output. It's an LLM call with a prompt and schema.
- An integration registers a set of tools (e.g., the Stripe integration registers
stripe_charge_read,stripe_refund_create, etc.).
When you connect an integration, its tools become available to the AI. When you build a custom App, you can register custom tools too.
Tool allowlists#
When you build an Agent, you choose which tools it's allowed to use. This is how you scope autonomy:
- A drafting Agent gets
entity_read,mail_read,entity_create— nothing that sends. - A triage Agent gets read-only tools plus
mail_label. - A full Inbox Manager gets read, draft, and
mail_send— but only after you trust it.
Always start narrow. Expand the allowlist as the Agent earns trust.
Approvals on dangerous tools#
Some tools (sending email, charging cards, deleting entities) can require approval before the AI calls them — even in Edit mode. You can configure this per-tool, per-Agent, per-Workflow.
This makes "auto-pilot with a seatbelt" a real pattern: the AI does 95% of the work, and a human signs off on the high-stakes 5%.
Tips#
- When debugging an Agent, look at which tools it called and what each returned. The full record is in the Job.
- New tools are registered all the time — check the AutomationsApp tool catalog every few weeks.
- If you can't find a tool for what you want to do, you can build one. See Custom Apps.