View as .md ↗
Quo

Quo

MCP server · Communications · quo.com · 6 categories · 36 tools

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.

Update Contact (quo_update-contact)

Replace an existing contact's fields in the connected Quo account by ID. REPLACE SEMANTICS: this call fully overwrites the contact's emails, phone numbers, and custom field values with the arrays you provide — any existing entry you do not resupply is deleted. Call quo_get-contact first to fetch the contact's current emails, phoneNumbers, and customFields, then resupply every entry you want to keep alongside your changes.

Tool Input

idstringrequired— Internal identifier of the contact to update.(min length: 1)
defaultFieldsobjectrequired— The contact's standard fields, including the FULL replace-semantics emails/phoneNumbers arrays.
firstNamestringnull— The contact's first name, or null/omitted to leave it unset.
lastNamestringnull— The contact's last name, or null/omitted to leave it unset.
companystringnull— The contact's company name, or null/omitted to leave it unset.
rolestringnull— The contact's role, or null/omitted to leave it unset.
emailsarrayrequired— The FULL list of the contact's email addresses (replace semantics — call quo_get-contact first and resupply every email you want kept; an existing email you don't resupply is deleted).
[]object
3 fields
namestringrequired— Label for the contact's email address (e.g. "Work").(min length: 1)
valuestringnullrequired— The contact's email address, or null to leave it unset.
idstring— Identifier of an existing contact email entry (from quo_get-contact) to update in place; omit to add a new email.
phoneNumbersarrayrequired— The FULL list of the contact's phone numbers (replace semantics — call quo_get-contact first and resupply every phone number you want kept; an existing phone number you don't resupply is deleted).
[]object
3 fields
namestringrequired— Label for the contact's phone number (e.g. "Mobile").(min length: 1)
valuestringnullrequired— The contact's phone number, or null to leave it unset.
idstring— Identifier of an existing contact phone number entry (from quo_get-contact) to update in place; omit to add a new phone number.
customFieldsarrayrequired— The FULL list of the contact's custom field values (replace semantics — see the tool description; an existing value you don't resupply is deleted).
[]object
idstring— Identifier of an existing contact custom field value (from quo_get-contact) to update in place; omit to add a new value by key.(min length: 1)
keystring— Identifying key of the target custom field definition (see quo_list-contact-custom-fields). Required when id is not supplied.(min length: 1)
valueanyrequired— The custom field's value; shape depends on the targeted definition's type (string for address/string/url, boolean, number, an ISO 8601 date-time string for date, or string[] for multi-select), or null to clear it.
externalIdstringnull— Unique identifier from an external system, or null/omitted to leave it unchanged.
sourcestringnull— Indicates how the contact originated, or null/omitted to leave it unchanged.
sourceUrlstringnull— Link to the contact in the source system, or null/omitted to leave it unchanged.

Tool Output

dataobjectrequired— The updated contact.
idstringrequired— Unique identifier of the contact.
externalIdstringnullrequired— Unique identifier from an external system, or null if unset.
sourcestringnullrequired— How the contact was created or where it originated from, or null if unset.
sourceUrlstringnullrequired— Link to the contact in the source system, or null if unset.
defaultFieldsobjectrequired— The contact's standard (non-custom) fields.
companystringnullrequired— The contact's company name, or null if unset.
emailsarrayrequired— The contact's email addresses.
1 field
[]object
3 fields
namestringrequired— Label for the contact's email address (may be an empty string).
valuestringrequired— The contact's email address (may be an empty string).
idstringrequired— Unique identifier of the contact email field.
firstNamestringnullrequired— The contact's first name, or null if unset.
lastNamestringnullrequired— The contact's last name, or null if unset.
phoneNumbersarrayrequired— The contact's phone numbers.
1 field
[]object
3 fields
namestringrequired— Label for the contact's phone number (may be an empty string).
valuestringrequired— The contact's phone number (may be an empty string).
idstringrequired— Unique identifier of the contact phone number field.
rolestringnullrequired— The contact's role, or null if unset.
customFieldsarrayrequired— The contact's custom field values.
[]object
5 fields
idstring— Unique identifier of the contact custom field, when present.
namestringrequired— Name of the custom contact field.
keystring— Identifying key of the custom contact field, when present.
typestringrequired— Data type of the custom field's value.(enum: "address", "boolean", "date", "multi-select", "number", "string", "url")
valueanyrequired— The custom field's value; shape depends on `type`.
createdAtstringrequired— ISO 8601 timestamp the contact was created.
updatedAtstringrequired— ISO 8601 timestamp the contact was last updated.
createdByUserIdstringrequired— Unique identifier of the user who created the contact.

We're Adding More Quo Tools Constantly!

Don't see a specific Quo tool you need? Email [email protected] and we can add it.

Quo Frequently Asked Questions

What does the Update Contact tool do?

This page documents the Update Contact tool (quo_update-contact). Replace an existing contact's fields in the connected Quo account by ID. REPLACE SEMANTICS: this call fully overwrites the contact's emails, phone numbers, and custom field values with the arrays you provide, any existing entry you do not resupply is deleted. Call quo_get-contact first to fetch the contact's current emails, phoneNumbers, and customFields, then resupply every entry you want to keep alongside your changes. It is one of the Quo Contacts tools, invoked through your firm's Weave MCP connection and available to members whose access level permits it.

I updated a contact and lost some of their emails or phones, why?

update-contact has REPLACE semantics: it fully overwrites the contact's emails, phone numbers, and custom field values with the arrays you pass. Include the existing entries you want to keep (fetch them first with get-contact).

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 Tools