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 agentagent.create_instruction— Create a new instruction for a Rookoo agentagent.delete_fact— Delete a fact from a Rookoo agentagent.delete_instruction— Delete an instruction from a Rookoo agentagent.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 agentagent.list_ai_agents— List Rookoo AI agents (not human team members) for an account, including the inboxes eachagent.list_attributesagent.list_contact_attributesagent.list_facts— List all facts for a Rookoo agentagent.list_instructions— List all instructions for a Rookoo agentagent.list_procedures— List all procedures for a Rookoo agent. Returns procedure names, descriptions, steps, tools, attributes, knowledgebases, and UI references.agent.list_toolsagent.update_fact— Update a fact for a Rookoo agentagent.update_instruction— Update an instruction for a Rookoo agentagent.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_automationautomation.get_automation— Get an automation rule by IDautomation.get_automation_schemaautomation.list_automations— List automation rules for an account
canned_response (4)
canned_response.create_canned_response— Create a new canned response for an accountcanned_response.delete_canned_response— Delete a canned response from an accountcanned_response.list_canned_responses— List canned responses for an account, with optional searchcanned_response.update_canned_response— Update an existing canned response
company (5)
company.create_company— Create a new company in an accountcompany.delete_company— Delete a company from an accountcompany.get_company— Get a company by IDcompany.list_companies— List companies for an account, with optional search by name or domaincompany.update_company— Update an existing company
contact (5)
contact.create_contact— Create a new contact in an accountcontact.delete_contact— Delete a contact from an accountcontact.get_contact— Get a contact by IDcontact.search_contacts— Search contacts in an account by name, email, phone number, or identifiercontact.update_contact— Update an existing contact
csat (2)
csat.get_survey— Get a CSAT survey by conversation UUIDcsat.update_survey— Submit a CSAT survey response
inbox (17)
inbox.create_contact— Create a new contact in an inboxinbox.create_conversation— Create a new conversation for a contact in an inboxinbox.create_message— Send a message in a conversationinbox.get_contact— Get contact details by source ID within an inboxinbox.get_conversation— Get conversation details by display IDinbox.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 inboxinbox.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 conversationinbox.request_human_handover— Request a human agent to review and take over the conversation. Sends notifications to available agents via Slackinbox.toggle_conversation_status— Resolve an open conversationinbox.toggle_typing— Send a typing indicator for a conversationinbox.update_contact— Update a contact in an inboxinbox.update_last_seen— Update the contact last seen timestamp for a conversationinbox.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 knowledgebasekb.create_record— Create or upsert a record in a knowledgebasekb.delete_knowledgebase— Delete a knowledgebasekb.delete_record— Delete a record from a knowledgebasekb.get_knowledgebase— Get a knowledgebase by IDkb.get_record— Get a single record from a knowledgebasekb.get_schema— Get the JSON schema of a knowledgebasekb.itinerary— Route optimization search in a knowledgebase — find optimal route between locationskb.list_knowledgebases— List all knowledgebases for an accountkb.list_records— List records in a knowledgebase with paginationkb.nearby— Geo-spatial search in a knowledgebase — find records near a locationkb.search— Search a knowledgebase using vector/hybrid searchkb.update_knowledgebase— Update a knowledgebasekb.update_schema— Update the JSON schema of a knowledgebase
label (4)
label.create_label— Create a new label for an accountlabel.delete_label— Delete a label from an accountlabel.list_labels— List all labels for an accountlabel.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 eventplanning.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 accountplanning.create_pair_code— Generate a new TV display pairing codeplanning.create_quote— Create a not_sent quote from an event\planning.create_space— Create a new space (venue/room) for an accountplanning.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 rangeplanning.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 codeplanning.get_public_event— Get a public event by its share tokenplanning.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 accountplanning.list_event_labels— List all event labels for an accountplanning.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 accountplanning.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 rangeplanning.update_allocation— Update an existing calendar allocation (timeslot). Use pax and custom_attributesplanning.update_event— Update an existing planning event. Use pax to change guest count.planning.update_event_label— Update an existing event labelplanning.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 contentportal.get_category— Get a help center category by slugportal.get_portal— Get help center portal details by slugportal.list_articles— List or search articles in a help center portalportal.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 rulespricing.delete_pricing_rule— Delete a pricing rule. Default rules (is_default: true) cannot be deleted.pricing.delete_rate— Delete a rate and its pricespricing.list_pricing_plans— List all pricing plans for an accountpricing.list_pricing_rules— List all pricing rules for a pricing planpricing.list_rates— List all rates for an account, optionally filtered by categorypricing.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 planpricing.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 accountteam.delete_team— Delete a team from an accountteam.list_teams— List all teams for an accountteam.update_team— Update an existing team