Skip to main content
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