> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.rookoo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools

> Account-scoped tools exposed by the Rookoo portal MCP server.

The account-scoped MCP endpoint returns the tools below, filtered by the caller's permissions. Quote tools are omitted when the account does not have `planning_quotes` enabled. Lead-network sell tools are added dynamically per account.

There are **133** static tools registered in `ToolRegistry`.

## agent (18)

* `agent.create_agent` — Create a new Rookoo AI agent with an inbox channel. Returns the created agent with its ID, name, inbox, and configuration.
* `agent.create_attribute` — Create a custom attribute definition for an account. Attributes can be linked to conversations, contacts, or events.
* `agent.create_fact` — Create a new fact for a Rookoo agent
* `agent.create_instruction` — Create a new instruction for a Rookoo agent
* `agent.delete_fact` — Delete a fact from a Rookoo agent
* `agent.delete_instruction` — Delete an instruction from a Rookoo agent
* `agent.get_procedure` — Get a single procedure by index from a Rookoo agent. Returns the full procedure with steps, tools, attributes, knowledgebases, and UI.
* `agent.get_procedure_versions` — Get the version history of procedures for a Rookoo agent
* `agent.list_ai_agents` — List Rookoo AI agents (not human team members) for an account, including the inboxes each
* `agent.list_attributes`
* `agent.list_contact_attributes`
* `agent.list_facts` — List all facts for a Rookoo agent
* `agent.list_instructions` — List all instructions for a Rookoo agent
* `agent.list_procedures` — List all procedures for a Rookoo agent. Returns procedure names, descriptions, steps, tools, attributes, knowledgebases, and UI references.
* `agent.list_tools`
* `agent.update_fact` — Update a fact for a Rookoo agent
* `agent.update_instruction` — Update an instruction for a Rookoo agent
* `agent.update_procedures`

## analytics (8)

* `analytics.get_conversation_messages` — Get all messages for a specific conversation by display\_id. Returns the full thread for detailed content analysis.
* `analytics.get_conversation_stats` — Get aggregated conversation statistics for an account: total conversations, engagement rate, avg message count, resolution metrics, by time period.
* `analytics.get_escalation_metrics` — Get human handover/escalation metrics: escalation count, rate, triggers, and breakdown by team/agent.
* `analytics.get_language_distribution` — Get conversation distribution by detected language. Analyzes first customer messages to determine language usage patterns.
* `analytics.get_response_time_metrics` — Get response time metrics: median/avg first response time, resolution time, breakdown by agent vs bot, by time period.
* `analytics.get_topic_distribution` — Get conversation distribution by labels/tags. Shows how conversations cluster by topic, useful for demand pattern analysis.
* `analytics.list_conversations_by_period` — List conversations with filters for bulk analysis. Returns paginated results with metadata (status, assignee, labels, message count, timestamps).
* `analytics.search_conversation_content` — Full-text search across conversation message content. Returns matching conversations with relevant message excerpts. Useful for investigating specific themes or clauses (e.g.

## automation (4)

* `automation.create_automation`
* `automation.get_automation` — Get an automation rule by ID
* `automation.get_automation_schema`
* `automation.list_automations` — List automation rules for an account

## canned\_response (4)

* `canned_response.create_canned_response` — Create a new canned response for an account
* `canned_response.delete_canned_response` — Delete a canned response from an account
* `canned_response.list_canned_responses` — List canned responses for an account, with optional search
* `canned_response.update_canned_response` — Update an existing canned response

## company (5)

* `company.create_company` — Create a new company in an account
* `company.delete_company` — Delete a company from an account
* `company.get_company` — Get a company by ID
* `company.list_companies` — List companies for an account, with optional search by name or domain
* `company.update_company` — Update an existing company

## contact (5)

* `contact.create_contact` — Create a new contact in an account
* `contact.delete_contact` — Delete a contact from an account
* `contact.get_contact` — Get a contact by ID
* `contact.search_contacts` — Search contacts in an account by name, email, phone number, or identifier
* `contact.update_contact` — Update an existing contact

## csat (2)

* `csat.get_survey` — Get a CSAT survey by conversation UUID
* `csat.update_survey` — Submit a CSAT survey response

## inbox (17)

* `inbox.create_contact` — Create a new contact in an inbox
* `inbox.create_conversation` — Create a new conversation for a contact in an inbox
* `inbox.create_message` — Send a message in a conversation
* `inbox.get_contact` — Get contact details by source ID within an inbox
* `inbox.get_conversation` — Get conversation details by display ID
* `inbox.get_inbox` — Get inbox channel details by inbox identifier. Includes the deployed Rookoo AI agent (if any).
* `inbox.get_widget_settings` — Get web widget settings for an inbox (appearance, welcome copy, bubble options, themes, and feature flags)
* `inbox.list_conversations` — List all conversations for a contact in an inbox
* `inbox.list_inboxes` — List all inboxes for an account. Each inbox includes the deployed Rookoo AI agent (if any).
* `inbox.list_messages` — List messages in a conversation
* `inbox.request_human_handover` — Request a human agent to review and take over the conversation. Sends notifications to available agents via Slack
* `inbox.toggle_conversation_status` — Resolve an open conversation
* `inbox.toggle_typing` — Send a typing indicator for a conversation
* `inbox.update_contact` — Update a contact in an inbox
* `inbox.update_last_seen` — Update the contact last seen timestamp for a conversation
* `inbox.update_message` — Update a message in a conversation (e.g., submit CSAT survey response)
* `inbox.update_widget_settings` — Update web widget settings for an inbox (appearance, welcome copy, bubble options, themes, and feature flags)

## kb (14)

* `kb.create_knowledgebase` — Create a new knowledgebase
* `kb.create_record` — Create or upsert a record in a knowledgebase
* `kb.delete_knowledgebase` — Delete a knowledgebase
* `kb.delete_record` — Delete a record from a knowledgebase
* `kb.get_knowledgebase` — Get a knowledgebase by ID
* `kb.get_record` — Get a single record from a knowledgebase
* `kb.get_schema` — Get the JSON schema of a knowledgebase
* `kb.itinerary` — Route optimization search in a knowledgebase — find optimal route between locations
* `kb.list_knowledgebases` — List all knowledgebases for an account
* `kb.list_records` — List records in a knowledgebase with pagination
* `kb.nearby` — Geo-spatial search in a knowledgebase — find records near a location
* `kb.search` — Search a knowledgebase using vector/hybrid search
* `kb.update_knowledgebase` — Update a knowledgebase
* `kb.update_schema` — Update the JSON schema of a knowledgebase

## label (4)

* `label.create_label` — Create a new label for an account
* `label.delete_label` — Delete a label from an account
* `label.list_labels` — List all labels for an account
* `label.update_label` — Update an existing label

## manager (1)

* `manager.list_managers` — List managers (human team members / users) for an account with their role and availability.

## planning (29)

* `planning.accept_event` — Accept or reject a public event
* `planning.add_space_closed_period` — Append a closed period to a space schedule without replacing weekly open hours. Prefer this over planning.update\_space when adding a closure.
* `planning.create_allocation` — Create a calendar allocation (booking) for a space and assign it to an event.
* `planning.create_event` — Create a new planning event as an inquiry. After creating, call show\_event\_sheet with the returned id to open the event sheet,
* `planning.create_event_label` — Create a new event label for an account
* `planning.create_pair_code` — Generate a new TV display pairing code
* `planning.create_quote` — Create a not\_sent quote from an event\\
* `planning.create_space` — Create a new space (venue/room) for an account
* `planning.delete_event_label` — Delete an event label from an account. Events using this label will have their label cleared.
* `planning.find_available_slots` — Find available time slots for one or more spaces in a given date/time range
* `planning.get_event` — Get full details of a planning event by ID, including allocations and resources.
* `planning.get_pair_code_status` — Poll the status of a TV display pairing code
* `planning.get_public_event` — Get a public event by its share token
* `planning.get_quote` — Get details of a planning quote by ID, including totals, line items, and whether it can still be updated (not\_sent) or revised (sent/viewed).
* `planning.get_status_options` — Get all available status options for planning events (system stages + custom statuses) for a given account
* `planning.list_event_labels` — List all event labels for an account
* `planning.list_events` — List planning events for an account. Pass start\_date and end\_date (YYYY-MM-DD) to return events that overlap that range.
* `planning.list_spaces` — List all spaces (venues/rooms) for an account
* `planning.revise_quote` — Create a new not\_sent quote version from a sent or viewed quote, and mark the old one superseded. Only allowed when status is sent or viewed. For unsent drafts use planning.update\_quote instead.
* `planning.show_event_card` — Display a compact read-only event card in the chat, matching the planning events list:
* `planning.show_event_ui` — Display the full event UI in the chat: people, description, schedule, allocations, and pricing.
* `planning.show_quote_ui` — Open a quote document preview in the Roo side panel (iframe of the staff quote preview). Use after create\_quote / get\_quote / update\_quote / revise\_quote when the user wants to see or review the quote visually.
* `planning.show_space_availability_ui` — Display an interactive UI showing available time slots for spaces in a given date range
* `planning.update_allocation` — Update an existing calendar allocation (timeslot). Use pax and custom\_attributes
* `planning.update_event` — Update an existing planning event. Use pax to change guest count.
* `planning.update_event_label` — Update an existing event label
* `planning.update_quote` — Update an unsent (not\_sent) quote in place. Use this after create\_quote to change name, notes, validity, contact, or discount codes. For sent/viewed quotes use planning.revise\_quote instead.
* `planning.update_space` — Update an existing space (venue/room)
* `planning.verify_event_email` — Verify a signer email with a verification token

## portal (5)

* `portal.get_article` — Get a help center article by slug with rendered content
* `portal.get_category` — Get a help center category by slug
* `portal.get_portal` — Get help center portal details by slug
* `portal.list_articles` — List or search articles in a help center portal
* `portal.list_categories` — List categories in a help center portal for a given locale

## pricing (13)

* `pricing.create_pricing_plan` — Create a new pricing plan for an account. Automatically creates default rules for all existing rates.
* `pricing.create_pricing_rule` — Create a pricing rule linking a rate to a plan with conditional clauses. Each rule must have exactly one default clause (is\_default: true). Non-default clauses must include at least one condition.
* `pricing.create_rate` — Create a new rate with optional prices. Automatically adds a default rule to the default pricing plan.
* `pricing.delete_pricing_plan` — Delete a pricing plan and all its rules
* `pricing.delete_pricing_rule` — Delete a pricing rule. Default rules (is\_default: true) cannot be deleted.
* `pricing.delete_rate` — Delete a rate and its prices
* `pricing.list_pricing_plans` — List all pricing plans for an account
* `pricing.list_pricing_rules` — List all pricing rules for a pricing plan
* `pricing.list_rates` — List all rates for an account, optionally filtered by category
* `pricing.show_pricing_plan` — Open a pricing plan in the side panel for viewing and editing. Use this after creating a plan or when the user wants to see/edit a specific plan.
* `pricing.update_pricing_plan` — Update an existing pricing plan
* `pricing.update_pricing_rule` — Update an existing pricing rule. Replaces all clauses if provided.
* `pricing.update_rate` — Update an existing rate. Prices can be added, updated (by id), or removed (set \_destroy: true).

## team (4)

* `team.create_team` — Create a new team for an account
* `team.delete_team` — Delete a team from an account
* `team.list_teams` — List all teams for an account
* `team.update_team` — Update an existing team


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.