← QuoCONTENT HISTORY

Update to Quo

Snapshot Oct 28, 2026 · 12:05 UTC · version 8.1.1

Collection source: downloaded plugin package.

WHAT CHANGED

Supporting file metadata differs

Supporting file metadata differs

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save Quo and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Supporting files

Before

Oct 24, 2026 · 12:47 UTC

[]

After

Oct 28, 2026 · 12:05 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":201}]

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

No SKILL.md text changes between these observations.

Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 201
  }
]
Full snapshot data
{
  "description": "How to use the Quo MCP tools well. Covers picking the right tool, chaining IDs between tools, texting and calling customers safely, and working with Sona, Quo's AI agent. Use whenever the user asks about their Quo (formerly OpenPhone) workspace, for example their messages, calls, voicemails, contacts or tasks, or asks to text or call someone, have Sona handle a conversation, or check, correct or add to what Quo's AI agents know about their business, including feedback like \"the agent quoted the wrong price\".",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 201
    }
  ],
  "name": "quo",
  "skill_md_contents": "---\nname: quo\ndescription: How to use the Quo MCP tools well. Covers picking the right tool, chaining IDs between tools, texting and calling customers safely, and working with Sona, Quo's AI agent. Use whenever the user asks about their Quo (formerly OpenPhone) workspace, for example their messages, calls, voicemails, contacts or tasks, or asks to text or call someone, have Sona handle a conversation, or check, correct or add to what Quo's AI agents know about their business, including feedback like \"the agent quoted the wrong price\".\n---\n\n# Using Quo\n\nQuo is a business phone system. The Quo tools work on the user's real workspace. Texts and calls reach real people and can't be taken back, so read carefully and confirm before acting.\n\n## Start here\n\n- **Find the user's numbers first.** Call `list-inboxes` before any tool that needs an inbox (`from`, `inboxPhoneNumber`). Don't guess a number. If the user has several inboxes and it isn't clear which one they mean, ask.\n- **Find people with `list-users`.** It returns user IDs (`US…`) for filters and task assignment.\n- **Phone numbers:** pass bare E.164 to tools (`+15555555555`). Show them to the user as click-to-call links, e.g. [(555) 555-5555](tel:+15555555555).\n- **Copy IDs, never invent them.** Every ID comes from an earlier tool result: `PN…` inbox, `CN…` conversation, `AC…` call or message activity, `US…` user, `TK…` task, plus run, interview and message IDs.\n\n## Reading the inbox\n\n| The user wants | Use |\n|---|---|\n| Recent texts, or one thread | `fetch-messages` |\n| What was said on calls | `fetch-call-transcripts` (Business plan, transcription on) |\n| Missed calls and voicemails | `fetch-missed-calls` |\n| Who someone is | `list-contacts`, `get-contact`, `list-contact-notes` |\n\n- Pass `participantPhoneNumber` to read one person's full history. Leave it out for an overview of the whole inbox.\n- For a group thread, pass the group's exact roster as `participantPhoneNumbers`. Copy it from an inbox overview rather than building it by hand.\n- Narrow by time with `createdAfter` / `createdBefore`, written as ISO 8601 with a timezone (`2026-01-01T00:00:00Z`). Work out relative dates (\"yesterday\", \"this week\") in the user's timezone.\n- `excludeDoneConversations: true` skips threads the user has already marked done.\n- To get more results, pass `pageToken` / `conversationPageToken` from the previous result, with the same other parameters. Stop once you have enough to answer; don't page through everything.\n- \"0 messages\" or \"0 transcripts\" is a real answer, not an error.\n\n## Acting on what you read\n\nResult rows carry IDs you can pass straight on:\n\n- **Follow-ups:** `create-task`. Link the task to the most specific thing available: `activityId` (`AC…`, one call or message) beats `conversationId` (`CN…`, the whole thread), which beats `inboxPhoneNumber`. `update-task` makes one change per call.\n- **Triage:** `mark-conversations` marks up to 50 `CN…` IDs as `read`, `done` or `open`. It never sends anything.\n- **Contacts:** `create-contact` / `update-contact`. Pass `null` to clear a field. Add context with `create-contact-note`.\n\n## Texting people\n\nPick by what the user actually wants:\n\n| The user wants | Use |\n|---|---|\n| One text, sent exactly as written | `send-message` |\n| The same text to many people, each privately | `send-bulk-messages` (up to 40) |\n| One shared thread where everyone sees everyone | `send-group-message` (2–10) |\n| Sona to handle a back-and-forth until a goal is met | `start-agent-conversation` |\n\n- Before sending, show the from number, the recipients and the exact text, and wait for a clear yes.\n- A group message reveals every recipient's number to the others. If the user didn't clearly ask for a group thread, use `send-bulk-messages` or `send-message`.\n- `send-message` doesn't watch for replies. If the user expects replies to be handled (\"confirm her appointment\", \"find a time that works for him\"), that's a job for Sona.\n- Maximum 1,600 characters per text.\n\n## Working with Sona, Quo's AI agent\n\nSona can call or text one person on the user's behalf. These are real conversations, so:\n\n1. **Get the goal and the details first.** \"Schedule an appointment\" needs the acceptable days, times and timezone. Ask instead of guessing.\n2. **Confirm before starting.** Restate who Sona will contact, from which number, and what it will do. Only start once the user says yes. If Quo asks the user directly, rely on that prompt. Otherwise pass `userConfirmed: true`, and only after they said yes in chat.\n3. **Use a new `idempotencyKey` for every new call or conversation.** Make a new one each time, for example `call-<YYYYMMDD-HHMM>-<6 random characters>`. Don't copy a key from an example or an earlier chat. Keys never expire, so an old key replays the old run and nothing new happens. Reuse a key only to retry the exact same request after an error or timeout. If a result says no new call or conversation was started, the key was already used: ask the user before starting again with a new key.\n4. **Check progress without hammering.** Poll calls with `get-agent-call` about every 10 seconds (calls take 30–90 seconds). Check SMS runs with `get-agent-conversation` every few minutes. Read texts with `fetch-messages`.\n5. **Judge the outcome from the summary.** `completed` only means the run ended, not that the person answered or agreed. For calls, read the transcript with `fetch-call-transcripts` when it matters.\n\n### Limits\n\nQuo limits how much Sona can do, separately for calls and for SMS conversations:\n\n- **3 at a time** per workspace. Wait for one to finish before starting another.\n- **3 per number per 24 hours.** Each call or conversation to the same number counts, including ones that failed or were canceled. The window is rolling, so it clears 24 hours after the first one.\n- **50 per workspace per 24 hours**, also rolling.\n- **Task screening:** Quo checks every task before it starts. After 5 refused tasks in 24 hours, the workspace can't start any new call or conversation until the window passes.\n- **Task length:** up to 2,000 characters. A call lasts up to 10 minutes after it's answered (5 by default, set with `maxDurationSeconds`), and a voicemail message is up to 1,000 characters.\n\nWhen a limit is reached, tell the user which one and when it clears. Don't retry, and don't switch to another number or channel to get around it.\n\n### Calls (`start-agent-call`)\n\n- Each call uses 50 of the workspace's automation credits (free if it ends within 15 seconds). Mention the cost when you confirm.\n- Write the `task` as the goal of the call and the details for this situation: who Sona is calling, what to confirm or collect, which options to offer, and when the call is done. Sona already introduces itself as an AI assistant calling on behalf of the business. It also knows the business knowledge, but only uses it to answer the callee's questions. Anything Sona should actively say goes in the task.\n- Write for the ear. Spell out times, dates and amounts in words (\"eleven in the morning\", \"fifty dollars\"), and avoid symbols and abbreviations.\n- Keep the call focused on one goal. Sona tends to say everything in the brief, so label extra facts \"only if it comes up\".\n- Set what happens on voicemail, and keep `maxDurationSeconds` short when the goal is simple.\n- `cancel-agent-call` stops a call that hasn't finished yet and hangs up if it's live.\n\n### SMS conversations (`start-agent-conversation`)\n\n- Sona already knows the business from its business knowledge, so the `task` only needs the goal and this situation's details: who the person is, which options to offer, and when the job is done.\n- Sona keeps going until the goal is met, the person replies STOP, or the run is canceled. It also stops as soon as anyone on the user's team replies in the thread, which is how the user takes over.\n- Only one Sona conversation can run with the same person from the same number. Use `cancel-agent-conversation` to stop one.\n\n### Business knowledge (`ask-knowledge-agent`)\n\nSona keeps the workspace's business knowledge: services, prices, hours, policies and FAQs. Every Quo AI agent in the workspace reads it, including the one that answers new leads. `ask-knowledge-agent` is the way to read it and the only way to change it. Use it for two things.\n\n**1. Ask about the business.** For example: \"What's our cancellation policy?\" or \"Do we list prices for keratin treatments?\" For a lookup only, add \"no changes needed\" to the message and decline any draft Sona offers.\n\n**2. Give feedback to update what the agents know.** Whenever the user corrects or adds something about their business, pass it to Sona. The user doesn't need to ask for an update first. Pass their words as the message, as close to what they said as possible:\n\n- A change: \"We don't open on Sundays anymore.\"\n- Something missing: \"Add our new gift cards, $25, $50 and $100.\"\n- A correction after a bad answer: \"The agent told a caller a haircut is $40. It's $55.\"\n\nSona works the feedback into the right section of the business knowledge. It asks follow-up questions when it needs more, then proposes a draft. Feedback about how an agent described the business belongs here too, even when the user phrases it as a complaint rather than a request.\n\nHow the conversation works:\n\n- Start with a `message` and no `interviewId`. Pass the returned `interviewId` on every follow-up, or you'll open a second conversation.\n- If Sona is still working, call again with the `interviewId` and the `messageId` it returned. Don't resend the message.\n- Relay Sona's questions to the user word for word. Never answer them yourself, and never make up prices or policies.\n- Nothing is saved until the user approves the draft. Show them what changes, especially any new or changed prices and policies. If Quo can't ask them directly, use `decide-knowledge-save` with their answer.\n\n## When something fails\n\n- **Permission or scope error:** the connector was authorized before the feature existed. Ask the user to disconnect and reconnect Quo.\n- **Not turned on, number not allowed, or a limit reached:** tell the user. Don't retry in a loop or reword the request to get around it.\n- **Sona's task was refused by screening:** explain why to the user. Don't rephrase the task to get past the check.\n- **Missing feature:** if the user wants something Quo can't do, offer `submit-feedback`.\n\n## Feedback on Sona\n\nSona's tools are in beta. Say so if the user asks, or when a result falls short of what they expected.\n\n- **How Sona performed** (it misunderstood, missed the goal or sounded unnatural): offer to send it to the Quo team with `submit-feedback`. Include the ID of the Sona run (`AR…`) or knowledge interview so the team can find it.\n- **A wrong fact about the business** (a price, hours or a policy): that's not feedback for the Quo team. Pass it to `ask-knowledge-agent` so the agents learn the right answer.\n\nDon't offer `submit-feedback` in other situations.\n"
}

SHA-256 of public snapshot: 34c2e7910d9dfd8634d286d136f84ce5291835ce61c8d9c77130951d5c24f006