Source: https://www.revvly.ai/docs/reference/assistant-tools

Reference

# What the Revvly *Assistant* can do.

88 tools in three kinds: 43 that only read, 10 low-risk writes that run straight away, and 35 guarded writes that wait for your approval. How to use it day to day is in [the Assistant guide](https://www.revvly.ai/docs/assistant).

## The three kinds of tool

- **Read (43)**: Run immediately on your live data, limited to your workspace. They change nothing.

- **Low-risk write (10)**: Reversible, small changes: a note, a task, a logged email or meeting, a new prospect, contact or deal. They run immediately and the Assistant tells you what it did. If you later decline an approval card in the same turn, these are not undone.

- **Guarded write (35)**: Changes to clients, subscriptions, the catalog, usage readings, deal stages and owners, forms, new OKR hypotheses, inbox moves, check-ins, and what the Assistant remembers. Each one becomes an approval card and nothing is written until you approve it.

- **Deletes**: The Assistant cannot delete your records. The one exception is forgetting a memory it was asked to keep, which is a guarded write like any other.

## Approval, expiry and stale edits

Life of an approval card

1. You askFor a change to a client, subscription, deal stage or form.
2. Approval cardA summary with names instead of ids. Nothing is written yet.
3. You approveRuns exactly what was proposed, once. The Assistant reports back.orYou declineNothing runs.or15 minutes passIt can no longer be approved. The Assistant can propose again.orThe record changedNothing is written. The Assistant reads again and proposes fresh.

A guarded change is written only on a timely approval of a record nobody else has changed.

- **Approval card**: A guarded write shows a card with a summary and the details it will use, with ids replaced by names, for example a region name instead of an id. Approve runs exactly what was proposed. Decline runs nothing. The card can also list optional details you have not set, and Add detail asks the Assistant to propose again with one included.

- **Who can approve**: Only the person the proposal was made for. Roles are checked again when you approve, not only when it was proposed. A double click or a second tab cannot run it twice.

- **15-minute expiry**: A proposal is valid for 15 minutes. After that it cannot be approved, and the Assistant can propose it again.

- **Resume**: If you reload or leave the page, open cards come back when you return to the conversation. After you approve or decline, the conversation continues on its own and the Assistant reports what happened.

- **Stale-write protection**: Edits to an existing record note its version when proposed (today update_client, update_form, update_memory, update_checkin and set_checkin_status). If someone changes the record before you approve, nothing is written. The Assistant is told to read the record again and propose a fresh change, so a late approval cannot overwrite newer work.

- **Forms**: Form tools answer that Forms is not enabled when the workspace does not have it, and edits go through the same checks as the dashboard.

- **OKR hypotheses**: Hypothesis tools answer that OKRs are not switched on when the workspace does not use them. A proposal goes through the same checks as the dashboard: a duplicate title or an estimate larger than the remaining gap comes back as a warning, and the Assistant proposes again with it acknowledged only after you agree.

- **Work Inbox**: Inbox tools answer that the Work Inbox is not switched on when the workspace does not have it. They only ever reach your own inbox, never a colleague’s, and never return message bodies. Personal threads are shown only when you ask for the Personal category by name. See the [Work Inbox guide](https://www.revvly.ai/docs/guides/work-inbox).

- **Daily Check-ins**: Check-in tools answer that Check-ins are not enabled when the workspace does not have them. Like the Check-ins settings screen, they are for workspace admins only, reads included, and they go through the same checks. Nothing deletes a check-in. They are not available over MCP.

## File attachments

You can attach files to a message. The Assistant reads them for that conversation. Types are checked from the file contents, not only the name.

- **PDF**: Up to 20 MB each.

- **Images**: JPEG, PNG, GIF and WebP, up to about 3.75 MB each.

- **Text**: Plain text, Markdown, CSV, tab-separated and JSON, up to 256 KB each and 512 KB across the conversation.

- **Per conversation**: At most 20 attachments and 22 MB in total.

- **Unsent uploads**: Files that no sent message uses are deleted after 24 hours.

## Read tools (43)

CRM tools respect pipeline access: a deal in a pipeline you cannot see is not shown to the Assistant for you. The Assistant also knows which dashboard page you are on, and the record on it, so you can ask about what you are looking at. It only hears about records you could already open.

### Clients and subscriptions

- **Find clients
query_clients**: Look up clients by name, description or contact, or list them.

- **List subscriptions
query_subscriptions**: Subscriptions for a client or the whole workspace, with period, price, catalog pins and renewal dates.

- **Explain how a subscription bills
get_billing_schedule**: Why a subscription bills when it does: a prepaid span, or a deal signed and waiting for go-live.

- **Look up discounts
query_discounts**: The discount library, and for one subscription its components, stacking mode and applied discounts.

- **Read the lifecycle log
query_lifecycle_events**: Created, renewed, expanded, contracted, churned and migrated events, with the MRR change of each.

### Invoices and receivables

- **List invoices
query_invoices**: Invoices by client, subscription or payment status. Credit notes are flagged.

- **Check what is owed
get_receivables**: Pending and overdue totals by currency, past-due accounts, invoices due this week, one client outstanding.

- **Check email engagement
query_email_engagement**: Sent invoice and reminder emails with open counts and open rate.

### Revenue analytics

- **Report live revenue numbers
get_analytics**: MRR movement, ARR, churn rate and NRR in your reporting currency.

### Metered usage

- **Read Meter usage
query_usage**: Live counters, the usage audit log, or the projected usage charge of the next invoice.

- **Find missing usage quantities
list_open_usage_readings**: Closed periods that need a quantity before their invoice can issue.

### Catalog

- **List regions and currencies
list_regions**: The markets you sell in.

- **List the catalog
list_catalog**: Bundles, modules, usage components and Meters, with draft or published status.

- **Read base prices
get_catalog_prices**: Base price of a bundle or module by region, currency and period.

- **Read usage prices
get_component_prices**: Included units, tier or step boundaries and prices of a plan's usage components.

### Guidance

- **Search the documentation
search_docs**: Answers how Revvly works from the knowledge base, with links.

- **Explain pricing models
explain_pricing_models**: What each usage pricing model is, when to use it, and the fields it needs.

- **Offer a choice
offer_choices**: Shows two to five options as a picker when your request is ambiguous.

- **Offer pricing models
offer_pricing_models**: Shows pricing model options with a worked example each, so you pick one.

### CRM

- **Search the CRM
search_crm**: Companies, contacts and deals by name, domain or email.

- **Read a timeline
get_crm_timeline**: Notes, documents, emails and tasks for a company, contact or deal.

- **List deals
list_leads**: Deals filtered by pipeline, stage, status, company or owner.

- **Read one deal
get_lead**: One deal by id.

- **Analyse lost deals
search_lost_deals**: The reasons reps recorded when deals were lost. Only deals in pipelines you can see.

- **List pipelines
list_pipelines**: Pipelines and their stages.

### Tasks

- **List tasks
list_tasks**: Tasks by status, assignee or related record.

- **Read one task
get_task**: One task by id.

### Forms

- **List forms
list_forms**: Forms with status, submission counts and links.

- **Read a form setup
get_form**: Questions, confirmation settings and follow-up steps.

- **Read submissions
query_form_submissions**: Submissions with every answer and the outcome of each follow-up step.

- **Summarise submissions
summarize_form_submissions**: Counts per day and source, failures, and which option wins.

- **Export submissions
export_form_submissions**: A CSV preview, with the dashboard page for the full file.

### OKR hypotheses

- **Find Key Results falling behind
list_behind_key_results**: Key Results of the active cycle behind their pace or projection, with progress, owner and open hypotheses.

- **Read what was tried on a Key Result
get_key_result_hypotheses**: Its numbers, open hypotheses, concluded ones with their learnings, and related learnings from the library.

### Memory

- **Show what it remembers
list_memories**: The Business profile, the workspace's memories and your own, as cards. Other people's personal memories are never shown.

### Work Inbox

- **List your inbox
list_inbox**: Threads in one tab, optionally one category, with sender, subject, a short snippet and the reason for the category. Never message bodies.

- **Say what needs your reply
get_inbox_summary**: Counts per tab and category, and the threads waiting longest for your reply.

- **Explain why a thread is filed where it is
explain_inbox_category**: What decided its category, the reason line and the evidence in plain words.

### Daily Check-ins

- **List check-ins
list_checkins**: Name, status, who is asked and when, the report channel and the next run date.

- **Read one check-in
get_checkin**: Its questions, schedule, report channel and who it asks, including anyone Slack cannot reach.

- **Read the setup options
get_checkin_options**: Whether Slack is connected, the channels, teams and people to choose from, the starter questions and the limits.

### The page behind the chat

- **Open a dashboard page
navigate_to**: Moves the page behind the chat to the one being talked about. It changes what you see, never what is stored.

- **Point at a record
highlight_record**: Opens the page of a client, subscription, module or bundle if needed and marks it for a moment, typically one just created.

## Low-risk writes, no approval (10)

### CRM

- **Log a note
create_note**: An internal note on a company, contact or deal.

- **Log a past email
log_email**: Records an email that already happened. It never sends anything.

- **Log a meeting
log_meeting**: Records a meeting. It never books or invites anyone.

- **Create a prospect
create_prospect**: A prospect company. It never creates billing state.

- **Create a contact
create_contact**: A contact on a company. Emails are unique across the workspace.

- **Create a deal
create_lead**: A deal, on an existing company or a new one, in the default or a chosen pipeline.

### Tasks

- **Create a task
create_task**: With due date, priority, assignees and a related record.

- **Edit a task
update_task**: Name, description, priority, due date, reminder or relation.

- **Mark a task done, reopen it or snooze it
set_task_status**: The reversible statuses only.

- **Assign a task
assign_task**: Replaces the assignees. An empty list clears them.

## Guarded writes, approval required (35)

### Clients and subscriptions

- **Create a client
create_client**: Name, region, billing details, payment terms, trial window and contacts.

- **Edit a client
update_client**: Only the fields you name change. Protected against stale edits.

- **Create a subscription
create_subscription**: For a client, on a published bundle, modules or usage components. Can pick a module tier, set the starting quantity of usage components, and queue discounts, all shown on the approval card.

- **Apply a discount
apply_discount**: A library or one-off discount on the base price, one usage component or the whole invoice: percentage or fixed amount, duration, fixed mode, unit limit, end date and adjustment invoices. Applies from the next invoice.

### Catalog

- **Build a complete plan
create_plan**: Meter, usage component, module or bundle, base prices, attachment and publish, in one approval. It stops at the first failure and reports each step.

- **Create a bundle
create_bundle**: As a draft.

- **Create a module
create_module**: As a draft, optionally with tiers.

- **Create a Meter
create_metric**: The unit billing is measured against.

- **Create a usage component
create_variable_component**: A pricing model around a Meter, as a draft.

- **Set base prices
set_catalog_prices**: Per region, currency and period. Works on published plans too.

- **Set billing periods
set_available_periods**: Monthly, quarterly, yearly. Replaces the set on a draft.

- **Attach a usage component
attach_variable_component**: A published component onto a draft module or bundle.

- **Publish a catalog item
publish_catalog_entity**: Draft to published. Publishing makes it immutable.

- **Branch a new draft version
create_catalog_version**: An editable draft copy of a published bundle, module or component.

### Metered usage

- **Enter a missing usage quantity
enter_usage_reading**: Seals a closed period so its invoice can issue.

- **Waive a usage period
waive_usage_reading**: The period bills nothing. A reason is recorded.

### CRM

- **Move a deal to another stage
move_lead**: Moving to a won or lost stage marks the deal won or lost, and a lost reason can be recorded.

- **Change a lifecycle stage
update_lifecycle_stage**: Prospect, lead or disqualified. Client is not settable here.

- **Change an account owner
update_owner**: Hand a company or contact to another person, or clear the owner.

### Tasks

- **Cancel a task
cancel_task**: Cancelling is a final state, so it asks first.

### Forms

- **Create a form
create_form**: As an unpublished draft.

- **Edit a form draft
update_form**: Questions, settings and steps. A list you send replaces the whole list. Protected against stale edits.

- **Publish a form
publish_form**: Makes the draft live. The dashboard publish checks apply.

- **Take a form offline
unpublish_form**: Submissions are kept.

- **Archive a form
archive_form**: Nothing is deleted.

- **Retry a failed submission
retry_form_submission**: Re-runs only the steps that failed.

### OKR hypotheses

- **Propose hypotheses for a Key Result
propose_hypotheses**: Up to three testable bets, each in Backlog, as if you had proposed them. Nothing is advanced or assigned.

### Memory

- **Remember something
remember**: Keeps a preference or a rule of the business for later conversations, for you or, if you are an admin, for everyone.

- **Reword a memory
update_memory**: Shows the old and new wording. If the memory was changed elsewhere after the card appeared, nothing is written.

- **Forget a memory
forget_memory**: Shows the memory before it is removed. Workspace memories need an admin.

### Work Inbox

- **Move an inbox thread
move_inbox_item**: Files one of your threads under another category. Your choice is kept, and it teaches the inbox like a move in the dashboard.

### Daily Check-ins

- **Create a check-in
create_checkin**: Who is asked, when, the questions and the report channel. It starts active, and saving posts a line in the channel to prove the bot can post there.

- **Edit a check-in
update_checkin**: Only what you name changes, from the next run. A questions list replaces the whole list. Protected against stale edits.

- **Pause, resume or archive a check-in
set_checkin_status**: Archiving is permanent, though its history is kept. Protected against stale edits.

- **Send a test
send_checkin_test**: The questions go to you as a Slack direct message and a test line is posted in the report channel. Nothing is recorded.

## Related

- [The Revvly Assistant ›](https://www.revvly.ai/docs/assistant)
- [Claude MCP tool catalogue ›](https://www.revvly.ai/docs/reference/mcp-tools)

