# List Calls

`quo_list-calls` · Quo MCP tool · Calls

List calls for a Quo phone number against a single other participant (Quo currently supports only 1:1 call lookups). Requires phoneNumberId, participant, and maxResults; supports pagination via pageToken and date filtering via createdAfter/createdBefore.

## Quo Frequently Asked Questions

**What does the List Calls tool do?**

This page documents the List Calls tool (`quo_list-calls`). List calls for a Quo phone number against a single other participant (Quo currently supports only 1:1 call lookups). Requires phoneNumberId, participant, and maxResults; supports pagination via pageToken and date filtering via createdAfter/createdBefore. It is one of the Quo Calls tools, invoked through your firm's Weave MCP connection and available to members whose access level permits it.

**Can I list every call at once?**

No. Quo supports only 1:1 call lookups, so list-calls needs a phoneNumberId, a single participant, and maxResults; paginate with pageToken for more.

**What is the Quo integration?**

The Quo integration connects your firm's Quo account to Weave. Quo is a cloud phone/SMS platform. This integration exposes calls, messages, contacts, conversations, and tasks as governed MCP tools, scoped per member by access level. It groups 36 tools into 6 categories, exposed through your firm's Weave MCP connection and filtered per member by access level.

**How does my firm connect Quo to Weave?**

An admin connects Quo once for the whole firm by entering your Quo workspace API key in the Weave console. Every member then works through that single connection; there is no per-user Quo login. Your key is encrypted at rest and stays inside Weave's infrastructure.

**Do I need to install or configure anything locally?**

No. Weave is fully hosted, so there is nothing to install, run, or maintain on your own machines. After an admin connects Quo once from the console, each member simply points their AI assistant at your firm's Weave MCP endpoint, and the tools they are allowed to use appear automatically based on their access level.

**Can everyone on my team use every tool?**

No. Tools are exposed per member by access level, so each person only sees the Quo tools their role permits.

**Are changes made through these tools reversible?**

Reads are always safe. Sending a text cannot be undone, once sent it can't be recalled, and it spends the workspace's prepaid SMS credits. Deletes are irreversible: delete-contact and delete-task permanently remove the record from Quo. Most other actions can be reversed with a follow-up tool (for example reopen-task or unassign-task).

**Why can't I send a text to a US number?**

Sending SMS to US numbers requires your Quo account to have completed US Carrier Registration. That is a Quo-side prerequisite; once it is done, send-message works for US recipients.

## Related
- /integrations/quo/calls/get-call/
- /integrations/quo/conversations/list-conversations/

## Input

- **phoneNumberId** `string` (required, min length: 1) — Internal identifier of the Quo number associated with the calls to list.
- **participant** `string` (required, min length: 1) — E.164 phone number of the other call participant (excluding your Quo number). Quo currently supports only one-to-one (1:1) call lookups — exactly one participant per query.
- **maxResults** `integer` (required, >= 1, <= 100) — Maximum number of calls to return per page (1-100).
- **pageToken** `string` — Opaque pagination token from a prior response's nextPageToken, to fetch the next page.
- **userId** `string` — Internal identifier of the Quo user whose access scope is applied to the results. Defaults to the workspace owner.
- **createdAfter** `string(date-time)` (pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$) — Only include calls created after this RFC 3339 date-time (e.g. 2022-01-01T00:00:00Z).
- **createdBefore** `string(date-time)` (pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$) — Only include calls created before this RFC 3339 date-time (e.g. 2022-01-01T00:00:00Z).

## Output

- **data** `array` (required) — The page of calls returned.
  - **[]** `object`
    - **answeredAt** `string | null` (required) — ISO 8601 timestamp the call was answered, or null if it was never answered.
    - **answeredBy** `string | null` (required) — Internal identifier of the Quo user who answered an incoming call, or null for outgoing/unanswered calls.
    - **initiatedBy** `string | null` (required) — Internal identifier of the Quo user who initiated an outgoing call, or null for incoming calls.
    - **direction** `string` (required, enum: "incoming", "outgoing") — The call's direction relative to the Quo number.
    - **status** `string` (required, enum: "queued", "initiated", "ringing", "in-progress", "completed", "busy", "failed", "no-answer", "canceled", "missed", "answered", "forwarded", "abandoned") — The call's current status.
    - **completedAt** `string | null` (required) — ISO 8601 timestamp the call ended, or null if ongoing/not completed.
    - **createdAt** `string` (required) — ISO 8601 timestamp the call record was created.
    - **callRoute** `string | null` (required) — How the call reached the user's inbox (e.g. phone-number, phone-menu), or null for outbound calls.
    - **duration** `integer` (required) — Total duration of the call in seconds.
    - **forwardedFrom** `string | null` (required) — Phone number or Quo user id the call was forwarded from, or null if not forwarded.
    - **forwardedTo** `string | null` (required) — Phone number, Quo phone number id, or Quo user id the call was forwarded to, or null if not forwarded.
    - **aiHandled** `string | null` (required) — Type of AI that answered the call (e.g. ai-agent), or null for a human-answered call.
    - **id** `string` (required) — Internal identifier of the call.
    - **phoneNumberId** `string` (required) — Internal identifier of the Quo number associated with the call.
    - **participants** `array` (required) — E.164 phone numbers of the call participants, excluding the Quo number.
      - **[]** `string`
    - **updatedAt** `string | null` (required) — ISO 8601 timestamp the call record was last updated, or null. See note above.
    - **userId** `string | null` (required) — Internal identifier of the Quo user account associated with the call, or null. See note above.
- **totalItems** `integer` (required) — Total call count across all pages, as reported by Quo.
- **nextPageToken** `string | null` (required) — Opaque token for the next page, or null when there is no further page.
