Documentation Index
Fetch the complete documentation index at: https://docs.gainable.dev/llms.txt
Use this file to discover all available pages before exploring further.
Why a fixed registry?
Every step in a playbook is a tool call. The set of available tools is fixed and small. New tools don’t appear because an agent decided they should. The registry is a closed vocabulary, the same way triggers are. This matters for three reasons:- Auditable. Every action in the agent action log maps to a known tool with a known signature.
- Predictable. No tool can do something it wasn’t designed to do.
- Governable. Each tool has a risk tier. The runtime enforces it.
The registry
| Tool | Reads | Writes | Default risk tier |
|---|---|---|---|
query_collection | App data | No | Low |
update_records | App data | App data | Medium |
send_email | None | External | High (draft-and-approve) |
send_slack | None | External | High (draft-and-approve) |
send_sms | None | External | High (draft-and-approve) |
notify_user | None | In-app notification | Low |
call_external | None | External HTTP | High (draft-and-approve) |
ask_human | None | Pauses playbook | Low |
create_task | None | App data | Low |
draft_for_approval | None | Autopilot inbox | Low (drafts always land in inbox) |
query_collection
Read-only, schema-aware queries against your app data.
update_records
Write field values back to a collection.
max_records_per_call, scope).
send_email
Outbound email through the configured provider.
draft_for_approval. Graduate to auto_with_undo only after a clean approval history. See risk tiers.
send_slack
Outbound Slack message to a user, channel, or thread.
send_sms
Outbound SMS through the configured provider.
notify_user
In-app notification. Renders in the user’s notification panel and the Autopilot ambient strip.
call_external
Generic outbound HTTP call. The escape hatch for tools the registry doesn’t cover yet.
ask_human
Pause the playbook and ask a question. The question lands in the configured user’s Autopilot inbox or Copilot. The playbook resumes when they answer.
create_task
Surface a TODO item in a tasks collection. Use this when the right action is “a human should do something” rather than “the agent should do something.”
draft_for_approval
The default tool for outbound work. Composes a draft (email, Slack, SMS, external call) and lands it in the configured user’s Autopilot inbox. The user approves, edits, or skips. Only on approval does the underlying outbound tool run.
Tool-tier interaction
The risk tier on a tool is the default. A playbook’s risk tier can constrain it further, but never relax it. A tool that defaults to high stays high until the org explicitly graduates it. A playbook configured atauto_with_undo doesn’t make send_email skip the draft step unless send_email has graduated for that org or that recipient class. The runtime is the final word.
Adding a tool the registry doesn’t cover
When you need behavior the registry doesn’t have, the right question is usually “is this an outbound integration?”- Yes. Use
call_external. If it becomes a recurring pattern, it’s a candidate for promotion to a first-class tool. - No, it’s pure data work. It probably belongs in a derived field or a build agent step, not in a runtime tool.
Best practices
Default to draft_for_approval
Default to draft_for_approval
Outbound tools should almost always be wrapped in
draft_for_approval. The exceptions are graduated tools that have earned auto status with a clean approval history.Use ask_human instead of guessing
Use ask_human instead of guessing
If the agent doesn’t have enough information,
ask_human is cheaper than a wrong action. The user is in the loop anyway.Log enough to debug
Log enough to debug
Every tool call writes to the action log automatically. Don’t add side effects that don’t show up there.
Use create_task when the next step isn't agent work
Use create_task when the next step isn't agent work
A surfaced task in the user’s queue is often more useful than a draft message. Don’t force every objective into an outbound message.
Learn more
Risk tiers
Draft-and-approve, auto-with-undo, auto
Agent action log
Every tool call recorded
Playbooks
How tools fit into a playbook
Connect outbound
Slack, SMS, calendar, DocuSign, Stripe, generic webhooks