---
canonical_url: "https://docs.composio.dev/toolkits/quo"
markdown_url: "https://docs.composio.dev/toolkits/quo.md"
product: "platform"
version: null
last_updated: null
---

# Quo

Quo, formerly OpenPhone, is a business phone platform for managing calls, messages, contacts, conversations, tasks, users, and webhooks.

- **Category:** phone & sms
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 36
- **Triggers:** 0
- **Slug:** `QUO`
- **Version:** 20261010_00

## Tools

### Create Contact

**Slug:** `QUO_CREATE_CONTACT`

Create a Quo contact with standard fields, optional custom fields, and external source metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | No | Contact role or title. |
| `emails` | array | No | Labeled email entries to add to the contact. |
| `source` | string | No | Non-reserved source label. It cannot be device, zapier, google-people, or other, and cannot start with openphone or csv. |
| `company` | string | No | Contact company. |
| `last_name` | string | No | Contact last name. |
| `first_name` | string | Yes | Contact first name; Quo requires this key but permits null. |
| `source_url` | string | No | URL of the corresponding record in the source system. |
| `external_id` | string | No | Unique external-system identifier, at most 75 characters. |
| `custom_fields` | array | No | Workspace-defined custom-field values keyed by field definition. |
| `phone_numbers` | array | No | Labeled phone entries; use E.164 values when possible. |
| `created_by_user_id` | string | No | Quo user ID to record as the contact creator. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `QUO_CREATE_TASK`

Create a task linked to exactly one phone number, conversation, or activity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Task title. |
| `due_date` | string | No | Optional ISO 8601 due timestamp. |
| `activity_id` | string | No | AC-prefixed conversation activity ID to link to the task. Calls and messages share this ID namespace, so use an ID returned by the relevant Quo call or message tool rather than inferring its resource type. |
| `assigned_to` | string | No | Optional US-prefixed Quo user ID to assign to the task. |
| `description` | string | Yes | Task details. |
| `conversation_id` | string | No | CN-prefixed Quo conversation ID to link to the task. |
| `phone_number_id` | string | No | PN-prefixed Quo phone number ID to link to the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `QUO_CREATE_WEBHOOK`

Create one unified webhook subscription for selected Quo events and return its signing secret, which must be stored securely.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Public HTTPS callback URL that receives webhook events. |
| `label` | string | No | Human-readable label for the webhook. |
| `events` | array | Yes | One or more Quo event types to deliver to the callback URL. |
| `status` | string ("enabled" | "disabled") | No | Initial webhook status. |
| `resource_ids` | array | No | PN-prefixed phone number IDs whose activity events should be delivered, or a single '*' to include all phone numbers. Contact events remain organization-wide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `QUO_DELETE_CONTACT`

Permanently delete one Quo contact by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Quo contact ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `QUO_DELETE_TASK`

Permanently delete one Quo task by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | TK-prefixed Quo task ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `QUO_DELETE_WEBHOOK`

Permanently delete one unified Quo webhook and revoke its signing secret.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | Numeric unified webhook ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Call

**Slug:** `QUO_GET_CALL`

Get one call and its routing, participants, status, and timing details by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `call_id` | string | Yes | Quo call ID beginning with AC. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Call Voicemail

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `call_id` | string | Yes | Quo call ID beginning with AC. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `QUO_GET_CONTACT`

Get one contact with default and custom fields by Quo contact ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Quo contact ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Message

**Slug:** `QUO_GET_MESSAGE`

Get one message by Quo message ID, including its content, related IDs, participants, delivery status, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message_id` | string | Yes | Quo message ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Phone Number

**Slug:** `QUO_GET_PHONE_NUMBER`

Get one Quo phone number and its assignments and restrictions by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phone_number_id` | string | Yes | Quo phone number ID beginning with PN. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task

**Slug:** `QUO_GET_TASK`

Get one task and its current links, assignee, due date, and completion state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Quo task ID beginning with TK. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `QUO_GET_USER`

Get one workspace user by Quo user ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Quo user ID beginning with US. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook

**Slug:** `QUO_GET_WEBHOOK`

Get one unified Quo webhook by its numeric ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | Numeric webhook ID returned by the unified Quo webhook API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook Delivery

**Slug:** `QUO_GET_WEBHOOK_DELIVERY`

Get the payload and attempt details for one Quo webhook delivery event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Webhook delivery event ID returned by List Webhook Deliveries. |
| `webhook_id` | string | Yes | Numeric ID of the unified Quo webhook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Call Recordings

**Slug:** `QUO_LIST_CALL_RECORDINGS`

List recording segments for a Quo call in chronological order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `call_id` | string | Yes | Quo call ID beginning with AC. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Calls

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum calls to return in this page (1-100). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |
| `user_id` | string | No | Apply this Quo user's access scope to the results. The provider defaults to the workspace owner when omitted. |
| `participant` | array | Yes | The other participant's E.164 phone number. Quo supports one-to-one calls only; this value is sent as a one-item participants array. |
| `created_after` | string | No | Only return calls created after this ISO 8601 timestamp. |
| `created_before` | string | No | Only return calls created before this ISO 8601 timestamp. |
| `phone_number_id` | string | Yes | Quo phone number ID associated with the calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contact Custom Fields

**Slug:** `QUO_LIST_CONTACT_CUSTOM_FIELDS`

List the workspace's contact custom-field definitions for constructing valid contact values.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contacts

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum contacts in this page (1-50). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |
| `sources` | array | No | Contact source values to match. |
| `external_ids` | array | No | External-system IDs to match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Conversations

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum conversations in this page (1-100). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |
| `user_id` | string | No | Scope results to conversations accessible to this Quo user ID. |
| `created_after` | string | No | Only return conversations created after this ISO 8601 timestamp. |
| `phone_numbers` | array | No | Quo phone number IDs or E.164 numbers to include. |
| `updated_after` | string | No | Only return conversations updated after this ISO 8601 timestamp. |
| `created_before` | string | No | Only return conversations created before this ISO 8601 timestamp. |
| `updated_before` | string | No | Only return conversations updated before this ISO 8601 timestamp. |
| `exclude_inactive` | boolean | No | Exclude inactive conversations when true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Messages

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum messages to return in this page (1-100). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |
| `user_id` | string | No | Return only messages sent by this Quo user ID. |
| `participants` | array | Yes | Other participant phone numbers in E.164 format. Values are sent as repeated participants query parameters; use multiple values for a group conversation. |
| `created_after` | string | No | Return only messages created after this ISO 8601 timestamp. |
| `created_before` | string | No | Return only messages created before this ISO 8601 timestamp. |
| `phone_number_id` | string | Yes | Quo phone number ID used to send or receive the messages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Phone Numbers

**Slug:** `QUO_LIST_PHONE_NUMBERS`

List Quo phone numbers and their assigned users, calling restrictions, and messaging restrictions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | Return only numbers associated with this Quo user ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `QUO_LIST_TASKS`

List workspace tasks with cursor-controlled pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum tasks in this page (1-100). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `QUO_LIST_USERS`

List workspace users and return one cursor-controlled page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum users to return in this page (1-50). |
| `cursor` | string | No | Pass the previous response's next_cursor to fetch the next page; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhook Deliveries

**Slug:** `QUO_LIST_WEBHOOK_DELIVERIES`

List one page of delivery events for a unified Quo webhook, optionally filtered by status, event type, or dispatch time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum deliveries in this page (1-50). |
| `cursor` | string | No | Cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged. |
| `status` | string ("success" | "pending" | "sending" | "failed") | No | Filter by the current delivery status. |
| `webhook_id` | string | Yes | Numeric webhook ID returned by the unified Quo webhook API. |
| `event_types` | array | No | Event types to include, such as message.received or call.completed. |
| `created_after` | string | No | Only include deliveries dispatched after this ISO 8601 timestamp. |
| `created_before` | string | No | Only include deliveries dispatched before this ISO 8601 timestamp. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `QUO_LIST_WEBHOOKS`

List unified Quo webhooks across call, message, contact, task, and integration event families.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Message

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | array | Yes | One to ten recipient phone numbers. |
| `from` | string | Yes | Sender as a PN-prefixed Quo number ID or an E.164 phone number. |
| `content` | string | Yes | Non-blank message text, from 1 to 1600 characters. |
| `user_id` | string | No | Quo user ID sending the message. Omit to use the phone-number owner. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Message and Mark Conversation Done

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | array | Yes | One to ten recipient phone numbers. |
| `from` | string | Yes | Sender as a PN-prefixed Quo number ID or an E.164 phone number. |
| `content` | string | Yes | Non-blank message text, from 1 to 1600 characters. |
| `user_id` | string | No | Quo user ID sending the message. Omit to use the phone-number owner. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Conversation Status

**Slug:** `QUO_SET_CONVERSATION_STATUS`

Set a Quo conversation to read, done, or open.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("read" | "done" | "open") | Yes | Inbox state transition to apply: read, done, or open. |
| `conversation_id` | string | Yes | Quo conversation ID beginning with CN. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Assignee

**Slug:** `QUO_SET_TASK_ASSIGNEE`

Assign or unassign a Quo user on a task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Quo task ID beginning with TK. |
| `user_id` | string | Yes | Quo user ID beginning with US to assign or unassign. |
| `operation` | string ("assign" | "unassign") | Yes | Whether to add or remove the user assignment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Completion

**Slug:** `QUO_SET_TASK_COMPLETION`

Complete or reopen a Quo task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `state` | string ("completed" | "open") | Yes | Desired task completion state: completed or open. |
| `task_id` | string | Yes | Quo task ID beginning with TK. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Conversation Link

**Slug:** `QUO_SET_TASK_CONVERSATION_LINK`

Link or unlink a Quo task and conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Quo task ID beginning with TK. |
| `operation` | string ("link" | "unlink") | Yes | Whether to add or remove the task-conversation relationship. |
| `conversation_id` | string | Yes | CN-prefixed Quo conversation ID to link or unlink. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Due Date

**Slug:** `QUO_SET_TASK_DUE_DATE`

Set or remove a Quo task's due date.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Quo task ID beginning with TK. |
| `due_date` | string | No | ISO 8601 due timestamp. Required when operation is set. |
| `operation` | string ("set" | "remove") | Yes | Whether to set or remove the task due date. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact

**Slug:** `QUO_UPDATE_CONTACT`

Patch selected standard, custom, or source fields on an existing Quo contact. Omitted fields remain unchanged, while explicit null clears a field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | No | New role or title; explicit null clears it. |
| `emails` | array | No | Replacement email entries as name, value, and optional existing ID. Set an existing item's value to null to remove it. |
| `source` | string | No | New contact source, or null to clear it. |
| `company` | string | No | New company; explicit null clears it. |
| `last_name` | string | No | New last name; explicit null clears it. |
| `contact_id` | string | Yes | Quo contact ID to update. |
| `first_name` | string | No | New first name; explicit null clears it. |
| `source_url` | string | No | New source-record URL, or null to clear it. |
| `external_id` | string | No | New external-system identifier, or null to clear it. |
| `custom_fields` | array | No | Custom-field updates as key or existing ID plus value. Explicit null clears a value. |
| `phone_numbers` | array | No | Replacement phone entries as name, value, and optional existing ID. Set an existing item's value to null to remove it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `QUO_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Replacement task title. |
| `task_id` | string | Yes | Quo task ID beginning with TK. |
| `description` | string | Yes | Replacement task description. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook

**Slug:** `QUO_UPDATE_WEBHOOK`

Partially update a unified Quo webhook. Only explicitly supplied fields are changed; explicit null clears resource filters or the label where supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Replacement public callback URL. Omit it to leave the URL unchanged. |
| `label` | string | No | Replacement webhook label, or explicit null to clear it. |
| `events` | array | No | Replacement non-empty set of Quo event types. |
| `status` | string ("enabled" | "disabled") | No | Replacement webhook status. Omit it to leave the status unchanged. |
| `webhook_id` | string | Yes | Numeric webhook ID returned by the unified Quo webhook API. |
| `resource_ids` | array | No | Replacement PN-prefixed phone-number filters. Explicit null, an empty list, or ['*'] clears phone-number filtering; omission leaves it unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
