The Assistant's tools
Sixty-six tools stand behind the Assistant. Twenty-five of them can only read — conversations, drafts, leads, files, knowledge, follow-ups, cases, opportunities, settings. The rest write, and every one of them calls the domain service that owns the thing being changed rather than touching a table, so an Assistant action meets the same rules a person's action meets.
The reading half#
These are listed in full because knowing them is genuinely useful: if the folded step detail shows only names from this list, the answer you are reading changed nothing.
| Group | Tools |
|---|---|
| Search and orientation | find_anything, record_context, status, activity |
| Mail and replies | list_threads, get_thread, list_drafts, read_draft, list_mailboxes |
| Relationships and commerce | customer_360, list_leads, get_lead, list_opportunities, list_cases, next_best_action |
| Commitments | list_followups, list_schedules, list_owner_questions |
| What Connect knows | search_knowledge, recall |
| Files and the grid | list_files, read_file, ask_file, data_query |
| Configuration | get_settings |
The writing half#
| Area | Tools | Service that runs the change |
|---|---|---|
| Memory | remember, forget | The memory tiers — workspace, channel, endpoint, contact |
send_email, approve_draft, send_draft_now, reject_draft | The shared send boundary and the approval path | |
| Knowledge | add_knowledge | The knowledge bank, from which facts are drawn |
| Prospecting | discover_prospects, create_prospect | The prospecting services, which never guess an email address |
| Commitments | create_followup, complete_followup | The follow-up queue, every channel |
| Support | create_case, resolve_case | The case service |
| Sales | create_opportunity, move_opportunity, set_lifecycle_stage | The pipeline and the journey service |
| Files and data | create_file, modify_file, data_create, data_update | The file service, and the service owning each grid sheet |
Every write goes through the owning service#
create_followup does not insert a row; it asks the follow-up service for a follow-up. approve_draft does not mark a draft approved; it travels the approval path a person's click travels. data_update does not edit a sheet; the Data grid is not a second database and neither is the Assistant.
The payoff is that rules stay in one place. Suppression and do-not-contact apply because the send boundary applies them. The daily allowance applies because metering sits in the path. The decision log fills in because the services write to it. Nobody has to remember to re-implement any of that for the assistant, which is precisely how such things get forgotten.
- A new rule added to a domain service applies to the Assistant the same day, with no work in the Assistant.
- A behaviour you can see on a screen behaves identically when asked for in words.
- An audit answers 'how did this happen' with one story rather than two.
- Adding a tool is adding a door to an existing room, not building a second room.
What is deliberately not a tool#
- Setting a price
- No tool exposes it. Commercial commitment stays with a person.
- Clearing a do-not-contact entry
- No tool exposes it, and no argument on any card reaches it.
- Guessing a contact's email address
- Prospecting works from evidence; an address that was not found is not invented, and no tool offers the shortcut.
- Reading another workspace
- Not a limit in the tools at all — the isolation sits below them, in the middleware allowlist, the workspace kernel and row-level security.
Questions#
Is the tool list the same for a customer workspace?
Yes. One implementation serves both audiences; a customer reaches it over the tenant paths and an operator directly. What differs is the plan's allowance bounding how much work is done, not which tools exist.
Can I add my own tool?
The Assistant's tools are part of the product rather than something a workspace authors. Building on Connect from outside is a different route — the MCP server and the public API — described under Developers and AI agents.
How do I see which tools ran?
Unfold the detail on the status line after an answer. It lists the steps, and any name from the reading table means nothing was changed.