A Meta Muse connection sees and can call these 24 tools only. A call to any other tool returns an error. A Meta Muse connection lists up to 24 tools: only those its granted scopes allow (14 read tools with Read only). Each tool is documented in full below. Tools for other clients follow under Other clients only.
Scopes requested by Muse
A Muse connection can hold only these scopes, whatever it asks for. It never gets delete scopes or settings changes, and it gets no more than you approve and your role allows:
conversations:readconversations:writecontacts:readcontacts:writeknowledge:readknowledge:writemetrics:readsettings:read
Muse has no delete tools. Pages added through Muse are removed in the Corebee app, under Knowledge.
A Sensitive write sends to a customer, changes what your AI agent tells customers, deletes, makes a bulk change or changes the chat widget. A Write makes any other change. Updating the status shown in an open web chat window is not a send. A Read changes nothing.
list_conversations
ReadIn Meta MuseLists the workspace inbox, most recent activity first, 50 per page, with each customer’s latest message.
- Scope
- conversations:read
- Inputs
status (one of: open, resolved, pending, snoozed, all, optional): Filter by conversation status. Defaults to "open".page (number, optional): Page number for pagination, starting at 1.assignee_id (string, optional): Filter by assigned team member: member_id from list_team_members.priority (one of: low, medium, high, urgent, none, optional): Filter by priority. "none" matches conversations whose priority was never set.contact_id (integer, optional): Filter by customer: a contact id from list_contacts or get_contact.
- Returns
- conversations (id, status, priority, assignee member_id, contact (id, name, email), channel, subject, created_at, last_activity_at, last_customer_message_preview of up to 140 characters and last_customer_message_at), page, limit and has_more. channel: where reply_to_conversation sends (web_widget for web chat, email, sms, whatsapp, phone and others). subject: the email subject, or null. Filters: status, assignee_id, priority and contact_id. There is no text search: find the contact with list_contacts and filter by contact_id.
- Side effects
- None. Reads only.
- Values
- Conversation status: open, pending, resolved, snoozed. The status filter also takes all. Priority: low, medium, high, urgent, or none (never set or cleared).
- Rate limit
- No per-tool limit.
get_conversation
ReadIn Meta MuseReads one conversation with its newest messages, 50 at a time, including internal notes.
- Scope
- conversations:read
- Inputs
conversation_id (string, required): The conversation ID to retrieve.before (string, optional): Return messages older than this cursor: a message id (use next_before from the previous page) or an ISO 8601 timestamp. Omit for the newest messages.
- Returns
- The conversation (id, status, priority, assignee member_id, channel, subject, dates), its contact, messages oldest first (each with sender_type, content, is_private and created_at), has_more and next_before for the previous page. channel: where reply_to_conversation sends (web_widget for web chat, email, sms, whatsapp, phone and others).
- Side effects
- None. Reads only.
- Values
- Conversation status: open, pending, resolved, snoozed.
- Rate limit
- No per-tool limit.
reply_to_conversation
Sensitive writeIn Meta MuseSends a reply to the customer on the conversation’s own channel (email, SMS, WhatsApp, web chat and others), as the signed-in team member.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID to reply to.content (string, required): The message content to send.idempotency_key (string, optional): Optional key (max 64 chars). Retrying with the same key never sends the reply twice.
Other clients also see: private. See Side effects.
- Returns
- success, message_id, created_at, conversation_id, delivered (true when the channel accepted the reply), channel, and a reason when delivered is false.
- Side effects
- Sends the message to the customer as soon as it is called; Corebee does not hold it for approval. Saves it in the conversation, fires the message.sent webhook, and stops the AI agent answering in a conversation handed off to a person. A sent reply cannot be recalled. Other clients also see a private input (kept for older clients): private=true saves an internal note instead and sends nothing. A Meta Muse connection does not see it and uses add_conversation_note for notes.
- Values
- delivered: true, false, or null for a replayed idempotency_key.
- Rate limit
- 30 calls a minute per workspace, shared by reply_to_conversation and add_conversation_note.
add_conversation_note
WriteIn Meta MuseAdds an internal note to a conversation for the team.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID to add the note to.content (string, required): The note text. Only your team sees it.idempotency_key (string, optional): Optional key (max 64 chars). Retrying with the same key never saves the note twice.
- Returns
- success, message_id, created_at, conversation_id, private: true and delivered: false.
- Side effects
- Saves a private message in the conversation, attributed to you. The customer never sees it, nothing is sent on any channel and no webhook fires.
- Rate limit
- 30 calls a minute per workspace, shared by reply_to_conversation and add_conversation_note.
assign_conversation
WriteIn Meta MuseAssigns a conversation to a team member, or unassigns it.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID to assign.assignee_id (string or null, required): The member_id to assign to (from list_team_members), or null to unassign.
- Returns
- success, conversation_id and assignee_id (a member_id, or null).
- Side effects
- Uses the Corebee inbox assign path. Changes the assignee and last_activity_at, adds a private "assigned" line to the conversation timeline and records it in the audit log. The new assignee gets an in-app notification, unless they assigned themselves or turned assignment notifications off. Viewers and members who cannot see the conversation cannot be assigned. Nothing is sent to the customer and no webhook fires.
- Rate limit
- No per-tool limit.
close_conversation
WriteIn Meta MuseMarks a conversation as resolved.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID to close.
- Returns
- success, conversation_id, status: resolved and changed (false when it was already resolved).
- Side effects
- Uses the Corebee inbox status path. Sets the status to resolved and updates last_activity_at, adds a private "resolved" line to the timeline, closes any open escalations on the conversation, fires the conversation.updated webhook and runs Corebee’s usual after-resolve processing (such as quality scoring). No message is sent to the customer. An open web chat window shows the new status (and the rating survey only if the workspace turned it on). Nothing is delivered to the customer by email, SMS or other channels. Calling it again changes nothing.
- Values
- Conversation status: open, pending, resolved, snoozed.
- Rate limit
- No per-tool limit.
reopen_conversation
WriteIn Meta MuseReopens a resolved, pending or snoozed conversation.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID to reopen.
- Returns
- success, conversation_id, status: open and changed (false when it was already open).
- Side effects
- Uses the Corebee inbox status path. Sets the status to open, clears any snooze, updates last_activity_at, adds a private "reopened" line to the timeline and fires the conversation.updated webhook. No message is sent to the customer. An open web chat window shows the new status. Nothing is delivered to the customer by email, SMS or other channels. Calling it again changes nothing.
- Values
- Conversation status: open, pending, resolved, snoozed.
- Rate limit
- No per-tool limit.
set_priority
WriteIn Meta MuseSets or clears a conversation’s priority.
- Scope
- conversations:write
- Inputs
conversation_id (string, required): The conversation ID.priority (one of: low, medium, high, urgent, none, required): One of low, medium, high, urgent, or none to clear the priority.
- Returns
- success, conversation_id and the new priority (none when cleared).
- Side effects
- Changes the priority and last_activity_at. none clears the priority, as the inbox priority menu does. Nothing is sent to the customer.
- Values
- Priority: low, medium, high, urgent, none.
- Rate limit
- No per-tool limit.
list_contacts
ReadIn Meta MuseLists contacts, 50 per page, optionally searched by name or email.
- Scope
- contacts:read
- Inputs
search (string, optional): Search query to filter contacts by name or email.page (number, optional): Page number for pagination, starting at 1.
- Returns
- contacts (id, name, email, phone_number, created_at, last_activity_at), total, page, limit and has_more.
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
get_contact
ReadIn Meta MuseReads one contact with up to 10 recent conversations and up to 5 recent notes.
- Scope
- contacts:read
- Inputs
contact_id (integer, required): The contact ID to retrieve.
- Returns
- The contact (name, email, phone_number, identifier, custom and additional attributes, dates), up to 10 recent conversations (id, status, subject, dates), newest activity first, and up to 5 notes, newest first. Deleted contacts and conversations are not shown.
- Side effects
- None. Reads only.
- Values
- Conversation status: open, pending, resolved, snoozed.
- Rate limit
- No per-tool limit.
create_contact
WriteIn Meta MuseCreates a contact. At least one of name, email or phone_number is needed.
- Scope
- contacts:write
- Inputs
name (string, optional): Full name of the contact.email (string, optional): Email address of the contact.phone_number (string, optional): Phone number of the contact.identifier (string, optional): External identifier for the contact (e.g., customer ID from another system).custom_attributes (object, optional): Custom attributes as key-value pairs.
- Returns
- success and the new contact.
- Side effects
- Adds a contact record. Nothing is sent to the contact.
- Rate limit
- No per-tool limit.
update_contact
WriteIn Meta MuseChanges the fields you pass on an existing contact: name, email, phone number, identifier and custom attributes.
- Scope
- contacts:write
- Inputs
contact_id (integer, required): The contact ID to update.name (string, optional): New name for the contact.email (string, optional): New email address for the contact.phone_number (string, optional): New phone number for the contact.identifier (string, optional): New external identifier for the contact.custom_attributes (object, optional): Custom attributes to update (will be merged with existing).
Other clients also see: blocked. See Side effects.
- Returns
- success and the updated contact.
- Side effects
- Updates the contact record. Nothing is sent to the contact. Other clients also see a blocked input: it is a record flag only and does not stop messages from the contact or AI replies to them. A Meta Muse connection does not see it.
- Rate limit
- No per-tool limit.
add_contact_note
WriteIn Meta MuseAdds an internal note to a contact, up to 5000 characters.
- Scope
- contacts:write
- Inputs
contact_id (integer, required): The contact ID to add a note to.content (string, required): The note content, up to 5000 characters.
- Returns
- success and the saved note.
- Side effects
- Saves a note only team members see, attributed to you. Nothing is sent to the contact.
- Rate limit
- No per-tool limit.
list_knowledge_sources
ReadIn Meta MuseLists the knowledge base sources (web pages, documents, articles) with their status.
- Scope
- knowledge:read
- Inputs
type (one of: url, file, manual, faq, all, optional): Filter by source type. Defaults to "all".
- Returns
- sources (id, name, type, status, source_url, error, chunks_count, dates), total and has_more. Up to 50.
- Side effects
- None. Reads only.
- Values
- Source status: pending, processing, completed, completed_partial, failed.
- Rate limit
- No per-tool limit.
add_knowledge_url
Sensitive writeIn Meta MuseAdds one web page to the knowledge base. Only that page is indexed, not the rest of the site.
- Scope
- knowledge:write
- Inputs
url (string, required): The URL to add as a knowledge source.name (string, optional): A friendly name for this source. Defaults to the URL.
- Returns
- success and the new source (id, name, url, status: pending).
- Side effects
- Publishes the page's content to your AI agent: once indexed (usually within minutes) the agent uses it when answering customers on every channel, with no review step. Any public URL is accepted. The page is fetched from the public web, possibly through a listed sub-processor such as the Jina AI web reader. To remove it, delete the source in Corebee under Knowledge. Pages added through Meta Muse are removed in the Corebee app the same way.
- Values
- Source status: pending, processing, completed, completed_partial, failed.
- Rate limit
- 10 calls a minute per workspace, shared by add_knowledge_url and update_knowledge_source.
get_knowledge_source
ReadIn Meta MuseReads one knowledge source with its processing status and chunk count.
- Scope
- knowledge:read
- Inputs
source_id (string, required): The knowledge source ID to retrieve.
- Returns
- The source’s details, status, error message if any, chunk count and dates.
- Side effects
- None. Reads only.
- Values
- Source status: pending, processing, completed, completed_partial, failed.
- Rate limit
- No per-tool limit.
search_knowledge
ReadIn Meta MuseFinds knowledge base passages that contain a word or short phrase, matched literally.
- Scope
- knowledge:read
- Inputs
query (string, required): The search query to find in knowledge content.limit (number, optional): Maximum number of results to return (default 10, max 50).source_id (string, optional): Filter results to a specific knowledge source.
- Returns
- query, results_count and results (chunk_id, content_preview, chunk_index, source id, name, type and url).
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
a2a_knowledge_agent
ReadIn Meta MuseAnswers a question in plain words from the workspace’s own knowledge base: an AI model writes a short answer using only the passages it finds.
- Scope
- knowledge:read
- Inputs
question (string, required): The question to answer from your knowledge base.history (array of object, optional): Optional recent turn history. Omit on a cold delegation; the callee will not fabricate history.
Other clients also see: task_description, context. See Side effects.
- Returns
- specialist (always knowledge), answered (false when nothing relevant was found), response (the answer text, empty when answered is false), confidence (0 to 1), sources (names or URLs of the passages used), actions (always empty), should_escalate (always false) and processing_time_ms. When the search could not run (an error or a timeout), the call returns an error instead, so it is never mistaken for "nothing found". A Meta Muse connection passes question and optional history; other clients pass task_description, and the context input is not used by this tool.
- Side effects
- None in the workspace. The question and the passages found are sent to an AI model sub-processor to write the answer.
- Rate limit
- 30 calls a minute per workspace.
get_metrics
ReadIn Meta MuseReads dashboard numbers for a period.
- Scope
- metrics:read
- Inputs
period (one of: today, this_week, this_month, last_30_days, optional): Time period for metrics. Defaults to "this_week".
- Returns
- Conversation counts by status, total and new contacts, total and AI messages, knowledge source counts, CSAT (average and number of responses, or null) and average first-response time (or null).
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
get_agent_performance
ReadIn Meta MuseReads per-member stats for a period: assigned, resolved and resolution rate.
- Scope
- metrics:read
- Inputs
period (one of: today, this_week, this_month, last_30_days, optional): Time period for metrics. Defaults to "this_week".agent_id (string, optional): Organization member ID (member_id from list_team_members).
- Returns
- period, period_start and agents (member_id, name, email, role, and stats: conversations_assigned, conversations_resolved, resolution_rate).
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
get_channel_analytics
ReadIn Meta MuseReads conversation and message counts per channel for a period.
- Scope
- metrics:read
- Inputs
period (one of: today, this_week, this_month, last_30_days, optional): Time period for analytics. Defaults to "this_week".
- Returns
- period, period_start, totals and channels (one entry per channel with its stats).
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
export_report
ReadIn Meta MuseBuilds a report for a period. "summary" gives counts only. "json" gives up to 100 recent conversation and contact rows, and needs conversations:read or contacts:read for those rows.
- Scope
- metrics:read
- Inputs
report_type (one of: conversations, contacts, metrics, full, required): Type of report to generate.period (one of: today, this_week, this_month, last_30_days, all_time, optional): Time period for the report. Defaults to "this_week".format (one of: json, summary, optional): "summary" (default): counts only, no personal data. "json": up to 100 most recent rows per section plus _row_limits totals.
- Returns
- report_type, period, generated_at and the conversations, contacts and metrics sections. json adds _row_limits and _truncated, and its conversation rows give status and priority as list_conversations does (status open, resolved, pending or snoozed; priority none when unset). _notes says when a section fell back to counts for lack of a scope.
- Side effects
- None. Reads only.
- Values
- Conversations by status: open, pending, resolved, snoozed. Contacts by type: visitor, lead, customer.
- Rate limit
- No per-tool limit.
get_trends
ReadIn Meta MuseReads daily or weekly counts of conversations, messages, contacts or AI responses.
- Scope
- metrics:read
- Inputs
metric (one of: conversations, messages, contacts, ai_responses, required): The metric to get trends for.period (one of: last_7_days, last_30_days, last_90_days, optional): Time period for trends. Defaults to "last_30_days".group_by (one of: day, week, optional): How to group the data. Defaults to "day".
- Returns
- trend (date and count per bucket), statistics (total, average, max, min), rows_total, rows_counted, truncated and complete_from.
- Side effects
- None. Reads only.
- Rate limit
- No per-tool limit.
list_team_members
ReadIn Meta MuseLists the workspace members with the member_id other tools take.
- Scope
- settings:read
- Inputs
role (one of: owner, agent, viewer, all, optional): Filter by role: owner, agent or viewer (the only roles a workspace stores). Defaults to "all".
- Returns
- members (member_id, name, email, role, availability, avatar_url, joined_at), total and has_more. Up to 50.
- Side effects
- None. Reads only.
- Values
- Role: owner, agent or viewer (the only roles a workspace stores).
- Rate limit
- No per-tool limit.