Logo

Quo (OpenPhone)

Authentication Type: API Key
Description: Manage contacts, conversations, and send text messages via the Quo (OpenPhone) phone communication platform. Also known as OpenPhone.


Authentication

To authenticate, you'll need a Quo API key. Your API key is passed directly in the Authorization header. Obtain your API key from the Quo dashboard under API settings.


Contacts

Manage your Quo contact book — create, retrieve, update, and delete contact records.

List Contacts

Retrieve a paginated list of contacts from your Quo account.

Operation Type: Query (Read)

Parameters:

  • pageToken string (optional): Pagination token from a previous response to fetch the next page

Returns:

  • data array: List of contact objects, each containing:
    • id string: Contact ID
    • externalId string (nullable): External system ID
    • source string (nullable): Source system
    • sourceUrl string (nullable): Source URL
    • defaultFields object: Contact fields including firstName, lastName, company, emails, phoneNumbers, role
    • createdAt string (nullable): Creation timestamp
    • updatedAt string (nullable): Last update timestamp
    • createdByUserId string (nullable): ID of the creating user
  • totalItems number: Total number of contacts
  • nextPageToken string (nullable): Token to fetch the next page

Example Usage:

{
  "pageToken": null
}

Create Contact

Create a new contact in your Quo account.

Operation Type: Mutation (Write)

Parameters:

  • firstName string (optional): Contact's first name
  • lastName string (optional): Contact's last name
  • company string (optional): Contact's company name
  • emails array of strings (optional): Contact's email addresses
  • phoneNumbers array of strings (optional): Contact's phone numbers in E.164 format
  • role string (optional): Contact's role or job title
  • externalId string (optional): External system ID for the contact
  • source string (optional): Source system that created the contact
  • sourceUrl string (optional): URL of the source record
  • createdByUserId string (optional): ID of the Quo user creating the contact

Returns: The created Contact object (same fields as List Contacts items)

Example Usage:

{
  "firstName": "Jane",
  "lastName": "Smith",
  "company": "Acme Corp",
  "emails": ["jane.smith@acme.com"],
  "phoneNumbers": ["+14155550100"],
  "role": "VP of Sales"
}

Get Contact

Retrieve a single contact by their ID.

Operation Type: Query (Read)

Parameters:

  • id string (required): The contact ID to retrieve

Returns: A single Contact object

Example Usage:

{
  "id": "contact_abc123"
}

Update Contact

Update an existing contact. Only provide the fields you want to change.

Operation Type: Mutation (Write)

Parameters:

  • id string (required): The contact ID to update
  • firstName string (optional): Updated first name
  • lastName string (optional): Updated last name
  • company string (optional): Updated company name
  • emails array of strings (optional): Updated email addresses
  • phoneNumbers array of strings (optional): Updated phone numbers
  • role string (optional): Updated role or job title
  • externalId string (optional): Updated external system ID
  • source string (optional): Updated source system
  • sourceUrl string (optional): Updated source URL

Returns: The updated Contact object

Example Usage:

{
  "id": "contact_abc123",
  "company": "Acme Holdings",
  "role": "Director of Sales"
}

Delete Contact

Delete a contact from your Quo account.

Operation Type: Mutation (Write)

Parameters:

  • id string (required): The contact ID to delete

Returns:

  • success boolean: Whether the contact was successfully deleted

Example Usage:

{
  "id": "contact_abc123"
}

Conversations

Manage conversation status in your Quo inbox.

List Conversations

Retrieve a paginated list of conversations.

Operation Type: Query (Read)

Parameters:

  • pageToken string (optional): Pagination token from a previous response

Returns:

  • data array: List of conversation objects, each containing:
    • id string: Conversation ID
    • assignedTo string (nullable): User ID the conversation is assigned to
    • phoneNumberId string (nullable): Phone number ID associated with the conversation
    • participants array of strings: Participant identifiers
    • createdAt string (nullable): Creation timestamp
    • updatedAt string (nullable): Last update timestamp
  • totalItems number: Total number of conversations
  • nextPageToken string (nullable): Token to fetch the next page

Example Usage:

{
  "pageToken": null
}

Mark Conversation Open

Mark a conversation as open in your inbox.

Operation Type: Mutation (Write)

Parameters:

  • conversationId string (required): The conversation ID to mark as open

Returns:

  • success boolean: Whether the operation succeeded

Example Usage:

{
  "conversationId": "conv_xyz789"
}

Mark Conversation Read

Mark a conversation as read.

Operation Type: Mutation (Write)

Parameters:

  • conversationId string (required): The conversation ID to mark as read

Returns:

  • success boolean: Whether the operation succeeded

Example Usage:

{
  "conversationId": "conv_xyz789"
}

Mark Conversation Done

Mark a conversation as done (archived/closed).

Operation Type: Mutation (Write)

Parameters:

  • conversationId string (required): The conversation ID to mark as done

Returns:

  • success boolean: Whether the operation succeeded

Example Usage:

{
  "conversationId": "conv_xyz789"
}

Messages

Send and retrieve SMS/text messages through Quo.

Send Message

Send a text message to one or more recipients.

Operation Type: Mutation (Write)

Parameters:

  • content string (required): The text content of the message to send
  • from string (required): The phone number to send from in E.164 format (e.g. +14155550100)
  • to array of strings (required): List of recipient phone numbers in E.164 format
  • phoneNumberId string (optional): The Quo phone number ID (alternative to from)
  • userId string (optional): The Quo user ID to send the message as
  • setInboxStatus string (optional): Set the inbox status after sending (e.g., "done", "open")

Returns:

  • id string: Message ID
  • to array of strings: Recipient phone numbers
  • from string (nullable): Sender phone number
  • text string (nullable): Message text content
  • phoneNumberId string (nullable): Phone number ID used to send
  • conversationId string (nullable): Conversation ID the message belongs to
  • direction string (nullable): Message direction
  • userId string (nullable): User ID who sent the message
  • status string (nullable): Message delivery status
  • createdAt string (nullable): Creation timestamp
  • updatedAt string (nullable): Last update timestamp

Example Usage:

{
  "content": "Hi! Following up on your inquiry about our services.",
  "from": "+14155550100",
  "to": ["+12125550200"]
}

List Messages

Retrieve a paginated list of messages.

Operation Type: Query (Read)

Parameters:

  • pageToken string (optional): Pagination token from a previous response

Returns:

  • data array: List of message objects (same fields as Send Message returns)
  • totalItems number: Total number of messages
  • nextPageToken string (nullable): Token to fetch the next page

Example Usage:

{
  "pageToken": null
}

Get Message

Retrieve a single message by its ID.

Operation Type: Query (Read)

Parameters:

  • id string (required): The message ID to retrieve

Returns: A single Message object (same fields as Send Message returns)

Example Usage:

{
  "id": "msg_def456"
}

Common Use Cases

Customer Communication:

  • Send personalized text messages to leads and customers
  • Track conversation history with contacts
  • Organize conversations by status (open, read, done)

Contact Management:

  • Sync contacts from external CRMs into Quo
  • Enrich contact records with company and role information
  • Look up contact details before reaching out

Workflow Automation:

  • Automatically send follow-up messages based on CRM events
  • Mark conversations as done after completing outreach sequences
  • List recent messages to monitor response rates