# Quo

```json
{
  "name": "Quo",
  "slug": "quo",
  "url": "https://composio.dev/toolkits/quo",
  "markdown_url": "https://composio.dev/toolkits/quo.md",
  "logo_url": "https://logos.composio.dev/api/quo",
  "categories": [
    "sales & customer support"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:33:52.968Z"
}
```

![Quo logo](https://logos.composio.dev/api/quo)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Quo MCP or direct API to manage calls, send messages, search contacts, and create follow-up tasks through natural language.

## Summary

Quo is a business phone platform for calls, SMS, contacts, and team conversations.
It helps teams manage customer communication from one shared, searchable workspace.

## Categories

- sales & customer support

## Toolkit Details

- Tools: 36

## Images

- Logo: https://logos.composio.dev/api/quo

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Quo.
  - Setup:
    - Configure Api Key credentials for Quo.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List unread Quo conversations from today
- Send follow-up SMS to missed callers
- Create tasks from recent customer calls

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `QUO_CREATE_CONTACT` | Create Contact | Create a Quo contact with standard fields, optional custom fields, and external source metadata. |
| `QUO_CREATE_TASK` | Create Task | Create a task linked to exactly one phone number, conversation, or activity. |
| `QUO_CREATE_WEBHOOK` | Create Webhook | Create one unified webhook subscription for selected Quo events and return its signing secret, which must be stored securely. |
| `QUO_DELETE_CONTACT` | Delete Contact | Permanently delete one Quo contact by ID. |
| `QUO_DELETE_TASK` | Delete Task | Permanently delete one Quo task by ID. |
| `QUO_DELETE_WEBHOOK` | Delete Webhook | Permanently delete one unified Quo webhook and revoke its signing secret. |
| `QUO_GET_CALL` | Get Call | Get one call and its routing, participants, status, and timing details by ID. |
| `QUO_GET_CALL_VOICEMAIL` | Get Call Voicemail | Get voicemail processing status, transcript, duration, and recording URL for a Quo call. Returns a not-found error when the call has no voicemail. |
| `QUO_GET_CONTACT` | Get Contact | Get one contact with default and custom fields by Quo contact ID. |
| `QUO_GET_MESSAGE` | Get Message | Get one message by Quo message ID, including its content, related IDs, participants, delivery status, and timestamps. |
| `QUO_GET_PHONE_NUMBER` | Get Phone Number | Get one Quo phone number and its assignments and restrictions by ID. |
| `QUO_GET_TASK` | Get Task | Get one task and its current links, assignee, due date, and completion state. |
| `QUO_GET_USER` | Get User | Get one workspace user by Quo user ID. |
| `QUO_GET_WEBHOOK` | Get Webhook | Get one unified Quo webhook by its numeric ID. |
| `QUO_GET_WEBHOOK_DELIVERY` | Get Webhook Delivery | Get the payload and attempt details for one Quo webhook delivery event. |
| `QUO_LIST_CALL_RECORDINGS` | List Call Recordings | List recording segments for a Quo call in chronological order. |
| `QUO_LIST_CALLS` | List Calls | List calls between a Quo number and one external participant with optional user and creation-time filters. Returns one page and a cursor for the next. |
| `QUO_LIST_CONTACT_CUSTOM_FIELDS` | List Contact Custom Fields | List the workspace's contact custom-field definitions for constructing valid contact values. |
| `QUO_LIST_CONTACTS` | List Contacts | List contacts, optionally filtered by external IDs or source, with stable-v1 phone and custom fields. Returns one page and a cursor for the next page. |
| `QUO_LIST_CONVERSATIONS` | List Conversations | List inbox conversations with optional phone-number, user, creation-time, update-time, and inactive-state filters. Returns one page and a cursor for the next page. |
| `QUO_LIST_MESSAGES` | List Messages | List messages exchanged by a Quo phone number and one or more participants, optionally filtered by sender or creation time. Returns one page and a cursor for the next page. |
| `QUO_LIST_PHONE_NUMBERS` | List Phone Numbers | List Quo phone numbers and their assigned users, calling restrictions, and messaging restrictions. |
| `QUO_LIST_TASKS` | List Tasks | List workspace tasks with cursor-controlled pagination. |
| `QUO_LIST_USERS` | List Users | List workspace users and return one cursor-controlled page. |
| `QUO_LIST_WEBHOOK_DELIVERIES` | List Webhook Deliveries | List one page of delivery events for a unified Quo webhook, optionally filtered by status, event type, or dispatch time. |
| `QUO_LIST_WEBHOOKS` | List Webhooks | List unified Quo webhooks across call, message, contact, task, and integration event families. |
| `QUO_SEND_MESSAGE` | Send Message | Send an irreversible text message from a Quo number to one or more recipients. This consumes messaging credits and may require carrier registration. |
| `QUO_SEND_MESSAGE_AND_MARK_CONVERSATION_DONE` | Send Message and Mark Conversation Done | Send an irreversible text message from a Quo number and move the resulting inbox conversation to Done. This consumes messaging credits and may require carrier registration. |
| `QUO_SET_CONVERSATION_STATUS` | Set Conversation Status | Set a Quo conversation to read, done, or open. |
| `QUO_SET_TASK_ASSIGNEE` | Set Task Assignee | Assign or unassign a Quo user on a task. |
| `QUO_SET_TASK_COMPLETION` | Set Task Completion | Complete or reopen a Quo task. |
| `QUO_SET_TASK_CONVERSATION_LINK` | Set Task Conversation Link | Link or unlink a Quo task and conversation. |
| `QUO_SET_TASK_DUE_DATE` | Set Task Due Date | Set or remove a Quo task's due date. |
| `QUO_UPDATE_CONTACT` | Update Contact | Patch selected standard, custom, or source fields on an existing Quo contact. Omitted fields remain unchanged, while explicit null clears a field. |
| `QUO_UPDATE_TASK` | Update Task | Replace both the title and description of an existing Quo task. Both fields are required because Quo treats this as a full textual update. |
| `QUO_UPDATE_WEBHOOK` | Update Webhook | Partially update a unified Quo webhook. Only explicitly supplied fields are changed; explicit null clears resource filters or the label where supported. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Quo Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Quo actions with your Agent
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')

tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List recent Quo conversations with unread messages and summarize who needs a reply'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');

const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List recent Quo conversations with unread messages and summarize who needs a reply'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Quo
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Quo tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List missed Quo calls from yesterday and create follow-up tasks')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { Composio } from '@composio/core';
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const composio = new Composio({ apiKey: 'your-composio-api-key' });
const session = await composio.create('your-user-id');

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'List missed Quo calls from yesterday and create follow-up tasks'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Quo Integration

- Supports both Quo MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable call, message, contact, and task actions
- Rich coverage for reading, writing, and querying your Quo workspace data

### 2. Managed Auth

- Secure API key handling without hard-coding Quo credentials in your agent code
- Central place to manage, scope, and revoke Quo access
- Per user and per environment credentials for safer production deployments

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear tool schemas help agents understand when to list calls, send messages, update contacts, or create tasks
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Quo
- Scoped, least privilege access to Quo resources like calls, messages, contacts, and tasks
- Full audit trail of agent actions to support review and compliance

## Use Quo with any AI Agent Framework

Choose a framework you want to connect Quo with:

None listed.

## Related Toolkits

- [Aeroleads](https://composio.dev/toolkits/aeroleads) - Aeroleads is a B2B lead generation platform for finding business emails and phone numbers. Grow your sales pipeline faster with powerful prospecting tools.
- [Autobound](https://composio.dev/toolkits/autobound) - Autobound is an AI-powered sales engagement platform that crafts hyper-personalized outreach and insights. It helps sales teams boost response rates and close more deals through tailored content and recommendations.
- [Better proposals](https://composio.dev/toolkits/better_proposals) - Better Proposals is a web-based tool for crafting and sending professional proposals. It helps teams impress clients and close deals faster with slick, easy-to-use templates.
- [Bidsketch](https://composio.dev/toolkits/bidsketch) - Bidsketch is a proposal software that helps businesses create professional proposals quickly and efficiently. It streamlines the proposal process, saving time while boosting client win rates.
- [Bolna](https://composio.dev/toolkits/bolna) - Bolna is an AI platform for building conversational voice agents. It helps businesses automate support and streamline interactions through natural, voice-powered conversations.
- [Botdog](https://composio.dev/toolkits/botdog) - Botdog is a LinkedIn outreach platform for managing campaigns, leads, messages, analytics, and sending accounts. It helps sales teams run outbound workflows and track performance from one place.
- [BotPenguin](https://composio.dev/toolkits/botpenguin) - BotPenguin is an AI chatbot platform for customer messaging, contacts, and conversations. It helps teams manage bot-led support and lead engagement across channels.
- [Botsonic](https://composio.dev/toolkits/botsonic) - Botsonic is a no-code AI chatbot builder for easily creating and deploying chatbots to your website. It empowers businesses to offer conversational experiences without writing code.
- [Botstar](https://composio.dev/toolkits/botstar) - BotStar is a comprehensive chatbot platform for designing, developing, and training chatbots visually on Messenger and websites. It helps businesses automate conversations and customer interactions without coding.
- [Callerapi](https://composio.dev/toolkits/callerapi) - CallerAPI is a white-label caller identification platform for branded caller ID and fraud prevention. It helps businesses boost customer trust while stopping spam, fraud, and robocalls.
- [Callingly](https://composio.dev/toolkits/callingly) - Callingly is a lead response management platform that automates immediate call and text follow-ups with new leads. It helps sales teams boost response speed and close more deals by connecting seamlessly with CRMs and lead sources.
- [Callpage](https://composio.dev/toolkits/callpage) - Callpage is a lead capture platform that lets businesses instantly connect with website visitors via callback. It boosts lead generation and increases your sales conversion rates.
- [Charla](https://composio.dev/toolkits/charla) - Charla is a live chat and AI customer-support platform for property teams. It helps manage guest conversations, property contacts, and support knowledge.
- [Chatforma](https://composio.dev/toolkits/chatforma) - Chatforma is a chatbot automation platform for building and managing bots. It helps teams run dialogs, segments, broadcasts, forms, and user updates from one place.
- [Clearout](https://composio.dev/toolkits/clearout) - Clearout is an AI-powered service for verifying, finding, and enriching email addresses. It boosts deliverability and helps you discover high-quality leads effortlessly.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Convolo ai](https://composio.dev/toolkits/convolo_ai) - Convolo ai is an AI-powered communications platform for sales teams. It accelerates lead response and improves conversion rates by automating calls and integrating workflows.
- [Crisp](https://composio.dev/toolkits/crisp) - Crisp is a customer messaging platform for live chat, contacts, helpdesk, and campaigns. It helps support teams manage customer conversations from one shared workspace.
- [Delighted](https://composio.dev/toolkits/delighted) - Delighted is a customer feedback platform based on the Net Promoter System®. It helps you quickly gather, track, and act on customer sentiment.
- [Docsbot ai](https://composio.dev/toolkits/docsbot_ai) - Docsbot ai is a platform that lets you build custom AI chatbots trained on your documentation. It automates customer support and content generation, saving time and improving response quality.

## Frequently Asked Questions

### Do I need my own developer credentials to use Quo with Composio?

Yes, Quo requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
