Objects

AccountIntegration#

No description

type AccountIntegration {
}

Address#

A full address.

type Address {
city: String
country: String
postalCode: String
state: String
street: String
street2: String
}

Fields#

NameDescription
city (String) The name of the city, district, village, or town.
country (String) The name of the country.
postalCode (String) The ZIP Code or postal code.
state (String) The region of the address.
street (String) The first line of the address.
street2 (String) The second line of the address.

Browser#

The web browser used by the contact.

type Browser {
family: String
version: String
}

Fields#

NameDescription
family (String) The name of the browser.
version (String) The version of the browser.

ChannelIntegration#

No description

type ChannelIntegration {
}

Company#

A company represents an organization containing one or more contacts.

type Company implements Node, Timestamped, CustomFieldValuesField {
contacts(
after: String
before: String
first: Int = 0
last: Int = 0
): ContactConnection
conversationCount: Int!
createdAt: DateTime!
customFieldValues(
after: String
before: String
first: Int = 0
last: Int = 0
filter: CustomFieldValuesFilter = "[object Object]"
): CustomFieldValueConnection
domain: String
id: ID!
logoUrl: String
name: String
updatedAt: DateTime!
}

Fields#

NameDescription
contacts (ContactConnection) The contacts in the company.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
conversationCount (Int!) The total number of conversations that the company is involved in.
createdAt (DateTime!) The date and time that the object was created.
customFieldValues (CustomFieldValueConnection) Lists all custom fields.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (CustomFieldValuesFilter)
Filter custom field values.
domain (String) The company's primary domain.
id (ID!) The URL of the company's logo.
name (String) The company name.
updatedAt (DateTime!) The date and time that the object was last updated.

Interfaces#

NameDescription
Node An object with an ID.
Timestamped An object with timestamp fields for when it was created and last updated.
CustomFieldValuesField A list of custom fields filtered by input.

CompanyAddContactsPayload#

Autogenerated return type of CompanyAddContacts

type CompanyAddContactsPayload {
clientMutationId: String
company: Company!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
company (Company!) The updated company.
errors ([UserError!]!) Errors related to user input.

CompanyConnection#

The connection type for Company.

type CompanyConnection {
edges: [CompanyEdge]
nodes: [Company]
pageInfo: PageInfo!
totalCount: Int!
totalPageCount: Int!
}

Fields#

NameDescription
edges ([CompanyEdge]) A list of edges.
nodes ([Company]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.
totalCount (Int!) The total number of objects returned from the query.
totalPageCount (Int!) The total number of pages based on total page count and page size.

CompanyCreatePayload#

Autogenerated return type of CompanyCreate

type CompanyCreatePayload {
clientMutationId: String
company: Company
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
company (Company) The company that was created.
errors ([UserError!]!) Errors related to user input.

CompanyDeletePayload#

Autogenerated return type of CompanyDelete

type CompanyDeletePayload {
clientMutationId: String
deletedCompanyId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedCompanyId (ID) The ID of the deleted company.
errors ([UserError!]!) Errors related to user input.

CompanyEdge#

An edge in a connection.

type CompanyEdge {
cursor: String!
node: Company
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (Company) The item at the end of the edge.

CompanyMergePayload#

Autogenerated return type of CompanyMerge

type CompanyMergePayload {
clientMutationId: String
errors: [UserError!]!
target: Company!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
target (Company!) The merged company.

CompanyRemoveContactsPayload#

Autogenerated return type of CompanyRemoveContacts

type CompanyRemoveContactsPayload {
clientMutationId: String
company: Company!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
company (Company!) Errors related to user input.

Contact#

that role is defined by their participation with a particular conversation. This means the same contact could be the customer on one conversation, and a collaborator on another.

type Contact implements Node, Timestamped, CustomFieldValuesField {
avatarUrl: String
companies(
after: String
before: String
first: Int = 0
last: Int = 0
): CompanyConnection
contactType: ContactType!
conversationCount: Int!
createdAt: DateTime!
customFieldValues(
after: String
before: String
first: Int = 0
last: Int = 0
filter: CustomFieldValuesFilter = "[object Object]"
): CustomFieldValueConnection
email: EmailAddress
firstName: String
id: ID!
lastName: String
lastSeenAt: DateTime
name: String
role: ContactRole
secondaryEmails: [EmailAddress!]
updatedAt: DateTime!
}

Fields#

NameDescription
avatarUrl (String) The URL of the contact's avatar.
companies (CompanyConnection) The companies that the contact belongs to.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
contactType (ContactType!) The type of the contact.
conversationCount (Int!) The total number of conversations that the contact is involved in.
createdAt (DateTime!) The date and time that the object was created.
customFieldValues (CustomFieldValueConnection) Lists all custom fields.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (CustomFieldValuesFilter)
Filter custom field values.
email (EmailAddress) The contact's primary email address.
firstName (String) The contact's first name.
id (ID!) The contact's last name.
lastSeenAt (DateTime) The date and time that the contact was last seen.
name (String) The contact's full name.
role (ContactRole) The contact's role in a conversation.
secondaryEmails ([EmailAddress!]) The contact's secondary email addresses.
updatedAt (DateTime!) The date and time that the object was last updated.

Interfaces#

NameDescription
Node An object with an ID.
Timestamped An object with timestamp fields for when it was created and last updated.
CustomFieldValuesField A list of custom fields filtered by input.

ContactConnection#

The connection type for Contact.

type ContactConnection {
edges: [ContactEdge]
nodes: [Contact]
pageInfo: PageInfo!
totalCount: Int!
totalPageCount: Int!
}

Fields#

NameDescription
edges ([ContactEdge]) A list of edges.
nodes ([Contact]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.
totalCount (Int!) The total number of objects returned from the query.
totalPageCount (Int!) The total number of pages based on total page count and page size.

ContactCreatePayload#

Autogenerated return type of ContactCreate

type ContactCreatePayload {
clientMutationId: String
contact: Contact
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
contact (Contact) The contact that was created.
errors ([UserError!]!) Errors related to user input.

ContactDeletePayload#

Autogenerated return type of ContactDelete

type ContactDeletePayload {
clientMutationId: String
deletedContactId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedContactId (ID) The ID of the deleted contact.
errors ([UserError!]!) Errors related to user input.

ContactEdge#

An edge in a connection.

type ContactEdge {
cursor: String!
node: Contact
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (Contact) The item at the end of the edge.

ContactMergePayload#

Autogenerated return type of ContactMerge

type ContactMergePayload {
clientMutationId: String
errors: [UserError!]!
target: Contact!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
target (Contact!) The merged contact.

ContactResyncPayload#

Autogenerated return type of ContactResync

type ContactResyncPayload {
clientMutationId: String
contact: Contact!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
contact (Contact!) The updated contact.
errors ([UserError!]!) Errors related to user input.

ContactUpdatePayload#

Autogenerated return type of ContactUpdate

type ContactUpdatePayload {
clientMutationId: String
contact: Contact!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
contact (Contact!) The updated contact.
errors ([UserError!]!) Errors related to user input.

Credentials#

No description

type Credentials {
createdAt: DateTime!
expiresAt: DateTime
expiresIn: Int
token: String!
}

Fields#

NameDescription
createdAt (DateTime!) The date and time when the access token was created.
expiresAt (DateTime) The date and time when the access token expires.
expiresIn (Int) The number of seconds until the access token expires.
token (String!) The access token.

CustomField#

Custom fields provide agents with the ability to define extra data on a contact or company, along with the means of specifying how that information is entered and displayed.

type CustomField implements Node, Timestamped {
category: CustomFieldCategory!
createdAt: DateTime!
deletable: Boolean!
description: String
handleType: CustomFieldHandleType
hidden: Boolean!
icon: CustomFieldIcon!
id: ID!
isArray: Boolean!
key: String!
name: String
options(
after: String
before: String
first: Int = 0
last: Int = 0
): CustomFieldOptionConnection
placeholder: String
position: Int
type: CustomFieldType!
updatedAt: DateTime!
}

Fields#

NameDescription
category (CustomFieldCategory!) The category the custom field belongs to.
createdAt (DateTime!) The date and time that the object was created.
deletable (Boolean!) True if the custom field can be deleted; false otherwise.
description (String) A description of the custom field.
handleType (CustomFieldHandleType) The unique identifier type linked to this field.
hidden (Boolean!) True if the custom field needs to be hidden in the UI; false otherwise.
icon (CustomFieldIcon!) The icon for the custom field.
id (ID!) True if the custom field allows arrays of values; false otherwise.
key (String!) An immutable identifier for the custom field.
name (String) The name of the custom field.
options (CustomFieldOptionConnection) The available options for the custom field if the type is.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
placeholder (String) The text to show in the input field when it is empty.
position (Int) The position of the custom field within the category. The first item starts at 1. Leave blank to append the custom field to the end of the list.
type (CustomFieldType!) The data type of the custom field.
updatedAt (DateTime!) The date and time that the object was last updated.

Interfaces#

NameDescription
Node An object with an ID.
Timestamped An object with timestamp fields for when it was created and last updated.

CustomFieldCategory#

A grouping of contact or company fields.

type CustomFieldCategory implements Node, Timestamped {
createdAt: DateTime!
customFields(
after: String
before: String
first: Int = 0
last: Int = 0
): CustomFieldConnection!
deletable: Boolean!
id: ID!
key: String!
name: String!
type: CustomFieldCategoryType!
updatedAt: DateTime!
}

Fields#

NameDescription
createdAt (DateTime!) The date and time that the object was created.
customFields (CustomFieldConnection!) The custom fields belonging to the custom field category.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
deletable (Boolean!) True if the custom field category can be deleted; false otherwise.
id (ID!) An immutable identifier for the custom field category.
name (String!) The name of the custom field category.
type (CustomFieldCategoryType!) The type of the custom field category.
updatedAt (DateTime!) The date and time that the object was last updated.

Interfaces#

NameDescription
Node An object with an ID.
Timestamped An object with timestamp fields for when it was created and last updated.

CustomFieldCategoryConnection#

The connection type for CustomFieldCategory.

type CustomFieldCategoryConnection {
edges: [CustomFieldCategoryEdge]
nodes: [CustomFieldCategory]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([CustomFieldCategoryEdge]) A list of edges.
nodes ([CustomFieldCategory]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

CustomFieldCategoryCreatePayload#

Autogenerated return type of CustomFieldCategoryCreate

type CustomFieldCategoryCreatePayload {
category: CustomFieldCategory
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
category (CustomFieldCategory) The created custom field category.
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

CustomFieldCategoryDeletePayload#

Autogenerated return type of CustomFieldCategoryDelete

type CustomFieldCategoryDeletePayload {
clientMutationId: String
deletedCategoryId: ID
errors: [UserError!]!
newCategory: CustomFieldCategory
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedCategoryId (ID) The ID of the deleted custom field category.
errors ([UserError!]!) Errors related to user input.
newCategory (CustomFieldCategory) The category that the custom fields were moved to.

CustomFieldCategoryEdge#

An edge in a connection.

type CustomFieldCategoryEdge {
cursor: String!
node: CustomFieldCategory
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (CustomFieldCategory) The item at the end of the edge.

CustomFieldCategoryUpdatePayload#

Autogenerated return type of CustomFieldCategoryUpdate

type CustomFieldCategoryUpdatePayload {
category: CustomFieldCategory
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
category (CustomFieldCategory) The updated custom field category.
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

CustomFieldConnection#

The connection type for CustomField.

type CustomFieldConnection {
edges: [CustomFieldEdge]
nodes: [CustomField]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([CustomFieldEdge]) A list of edges.
nodes ([CustomField]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

CustomFieldCreatePayload#

Autogenerated return type of CustomFieldCreate

type CustomFieldCreatePayload {
clientMutationId: String
customField: CustomField
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
customField (CustomField) The created custom field.
errors ([UserError!]!) Errors related to user input.

CustomFieldDeletePayload#

Autogenerated return type of CustomFieldDelete

type CustomFieldDeletePayload {
clientMutationId: String
deletedCustomFieldId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedCustomFieldId (ID) The ID of the deleted custom field.
errors ([UserError!]!) Errors related to user input.

CustomFieldEdge#

An edge in a connection.

type CustomFieldEdge {
cursor: String!
node: CustomField
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (CustomField) The item at the end of the edge.

CustomFieldOption#

An option for a custom field of type DROPDOWN.

type CustomFieldOption {
customField: CustomField!
label: String!
value: String!
}

Fields#

NameDescription
customField (CustomField!) The custom field associated with the list.
label (String!) The label of the dropdown option.
value (String!) The value of the dropdown option.

CustomFieldOptionConnection#

The connection type for CustomFieldOption.

type CustomFieldOptionConnection {
edges: [CustomFieldOptionEdge]
nodes: [CustomFieldOption]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([CustomFieldOptionEdge]) A list of edges.
nodes ([CustomFieldOption]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

CustomFieldOptionDeletePayload#

Autogenerated return type of CustomFieldOptionDelete

type CustomFieldOptionDeletePayload {
clientMutationId: String
deletedCustomFieldOptionId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedCustomFieldOptionId (ID) The ID of the deleted custom field option.
errors ([UserError!]!) Errors related to user input.

CustomFieldOptionEdge#

An edge in a connection.

type CustomFieldOptionEdge {
cursor: String!
node: CustomFieldOption
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (CustomFieldOption) The item at the end of the edge.

CustomFieldRemovePayload#

Autogenerated return type of CustomFieldRemove

type CustomFieldRemovePayload {
clientMutationId: String
errors: [UserError!]!
item: CustomFieldSubjectType!
removedItemId: ID!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
item (CustomFieldSubjectType!) The updated contact or company.
removedItemId (ID!) The ID of the removed custom field.

customFieldRestorePayload#

Autogenerated return type of customFieldRestore

type customFieldRestorePayload {
clientMutationId: String
customField: CustomField!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
customField (CustomField!) The custom field that was restored.
errors ([UserError!]!) Errors related to user input.

CustomFieldUpdatePayload#

Autogenerated return type of CustomFieldUpdate

type CustomFieldUpdatePayload {
clientMutationId: String
customField: CustomField!
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
customField (CustomField!) The updated custom field.
errors ([UserError!]!) Errors related to user input.

CustomFieldValue#

The value of a contact or company custom field.

type CustomFieldValue {
customField: CustomField!
id: ID!
value: ValueTypeUnion!
}

Fields#

NameDescription
customField (CustomField!) The custom field.
id (ID!) The value assigned to the custom field.

CustomFieldValueConnection#

The connection type for CustomFieldValue.

type CustomFieldValueConnection {
edges: [CustomFieldValueEdge]
nodes: [CustomFieldValue]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([CustomFieldValueEdge]) A list of edges.
nodes ([CustomFieldValue]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

CustomFieldValueEdge#

An edge in a connection.

type CustomFieldValueEdge {
cursor: String!
node: CustomFieldValue
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (CustomFieldValue) The item at the end of the edge.

CustomFieldValuesBulkUpdatePayload#

Autogenerated return type of CustomFieldValuesBulkUpdate

type CustomFieldValuesBulkUpdatePayload {
clientMutationId: String
errors: [UserError!]!
jid: String
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

CustomFieldValuesUpdatePayload#

Autogenerated return type of CustomFieldValuesUpdate

type CustomFieldValuesUpdatePayload {
clientMutationId: String
errors: [UserError!]!
subject: CustomFieldSubjectType!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
subject (CustomFieldSubjectType!) The company or contact the custom field values where set on.

Device#

The device used by the contact.

type Device {
family: String
}

Fields#

NameDescription
family (String) The name of the device.

EmailMarketingIntegration#

No description

type EmailMarketingIntegration {
id: ID!
lists(contactId: ID = 0): [EmailMarketingList!]!
type: EmailMarketingIntegrationType!
}

Fields#

NameDescription
id (ID!) The lists available for this integration.
Arguments
contactId (ID)
Filter out lists that the contact is already subscribed to.
type (EmailMarketingIntegrationType!) The email marketing integration type.

EmailMarketingIntegrationConnection#

The connection type for EmailMarketingIntegration.

type EmailMarketingIntegrationConnection {
edges: [EmailMarketingIntegrationEdge]
nodes: [EmailMarketingIntegration]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([EmailMarketingIntegrationEdge]) A list of edges.
nodes ([EmailMarketingIntegration]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

EmailMarketingIntegrationEdge#

An edge in a connection.

type EmailMarketingIntegrationEdge {
cursor: String!
node: EmailMarketingIntegration
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (EmailMarketingIntegration) The item at the end of the edge.

EmailMarketingList#

No description

type EmailMarketingList {
id: String!
name: String!
}

Fields#

NameDescription
id (String!) The ID of the email marketing list.
name (String!) The name of the email marketing list.

EmailMarketingSubscription#

No description

type EmailMarketingSubscription {
externalUrl: String
id: String!
listId: String!
listName: String!
subscribedAt: DateTime
}

Fields#

NameDescription
externalUrl (String) The external url of the email marketing subscription.
id (String!) The ID of the email marketing subscription.
listId (String!) The ID of the email marketing list.
listName (String!) The name of the email marketing list.
subscribedAt (DateTime) The date and time that the contact subscribed to the list.

EmailMarketingSubscriptionConnection#

The connection type for EmailMarketingSubscription.

type EmailMarketingSubscriptionConnection {
edges: [EmailMarketingSubscriptionEdge]
nodes: [EmailMarketingSubscription]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([EmailMarketingSubscriptionEdge]) A list of edges.
nodes ([EmailMarketingSubscription]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

EmailMarketingSubscriptionCreatePayload#

Autogenerated return type of EmailMarketingSubscriptionCreate

type EmailMarketingSubscriptionCreatePayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

EmailMarketingSubscriptionDeletePayload#

Autogenerated return type of EmailMarketingSubscriptionDelete

type EmailMarketingSubscriptionDeletePayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

EmailMarketingSubscriptionEdge#

An edge in a connection.

type EmailMarketingSubscriptionEdge {
cursor: String!
node: EmailMarketingSubscription
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (EmailMarketingSubscription) The item at the end of the edge.

EventGroupType#

A group of events associated with a conversation.

query EventGroups {
eventGroups(filter: "cnv_12345678") {
edges {
node {
id
collapsed
fromMerge
isNote
isForward
hasAttachments
actor {
__typename
... on Contact {
name
}
... on Agent {
name
email
}
}
summary {
body
}
events {
nodes {
id
change {
__typename
... on Message {
body
}
}
}
}
}
}
}
}
type EventGroupType {
actor: Actor!
changesetId: String!
collapsed: Boolean!
fromMerge: Boolean!
hasAttachments: Boolean!
id: ID!
isForward: Boolean!
isNote: Boolean!
}

Fields#

NameDescription
actor (Actor!) The person or thing that triggered the action.
changesetId (String!) A unique identifier for this event group, used for deep linking and message sharing.
collapsed (Boolean!) True if the event group is collapsed; false otherwise.
fromMerge (Boolean!) True if the event group comes from a merged conversation; false otherwise.
hasAttachments (Boolean!) True if the event group contains attachments; false otherwise.
id (ID!) True if the event group is a forward; false otherwise.
isNote (Boolean!) True if the event group is a note; false otherwise.

EventGroupTypeConnection#

The connection type for EventGroupType.

type EventGroupTypeConnection {
edges: [EventGroupTypeEdge]
nodes: [EventGroupType]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([EventGroupTypeEdge]) A list of edges.
nodes ([EventGroupType]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

EventGroupTypeEdge#

An edge in a connection.

type EventGroupTypeEdge {
cursor: String!
node: EventGroupType
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (EventGroupType) The item at the end of the edge.

EventsShopifyCreatePayload#

Autogenerated return type of EventsShopifyCreate

type EventsShopifyCreatePayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

ExcludedDomain#

A domain that is excluded from being automatically created as a company.

To fetch all excluded domains:

query ExcludedDomains {
excludedDomains {
nodes {
id
domain
}
}
}
type ExcludedDomain {
domain: String!
id: ID!
}

Fields#

NameDescription
domain (String!) The excluded domain.

ExcludedDomainConnection#

The connection type for ExcludedDomain.

type ExcludedDomainConnection {
edges: [ExcludedDomainEdge]
nodes: [ExcludedDomain]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([ExcludedDomainEdge]) A list of edges.
nodes ([ExcludedDomain]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

ExcludedDomainCreatePayload#

Autogenerated return type of ExcludedDomainCreate

type ExcludedDomainCreatePayload {
clientMutationId: String
errors: [UserError!]!
excludedDomain: ExcludedDomain
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
excludedDomain (ExcludedDomain) The created excluded domain.

ExcludedDomainDeletePayload#

Autogenerated return type of ExcludedDomainDelete

type ExcludedDomainDeletePayload {
clientMutationId: String
deletedExcludedDomainId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedExcludedDomainId (ID) The ID of the deleted excluded domain.
errors ([UserError!]!) Errors related to user input.

ExcludedDomainEdge#

An edge in a connection.

type ExcludedDomainEdge {
cursor: String!
node: ExcludedDomain
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (ExcludedDomain) The item at the end of the edge.

ExcludedDomainUpdatePayload#

Autogenerated return type of ExcludedDomainUpdate

type ExcludedDomainUpdatePayload {
clientMutationId: String
errors: [UserError!]!
excludedDomain: ExcludedDomain
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
excludedDomain (ExcludedDomain) The updated excluded domain.

File#

A file attached to a contact or company.

type File {
contentDisposition: CustomFieldFileContentDisposition!
contentType: String!
fileName: String!
fileSize: Int!
url: String!
}

Fields#

NameDescription
contentDisposition (CustomFieldFileContentDisposition!) The file content disposition.
contentType (String!) The file content type.
fileName (String!) The file name.
fileSize (Int!) The size of the file.
url (String!) The URL of the file.

IntegrationDeleteByProviderPayload#

Autogenerated return type of IntegrationDeleteByProvider

type IntegrationDeleteByProviderPayload {
clientMutationId: String
deletedIntegrationIds: [ID!]
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedIntegrationIds ([ID!]) The IDs of the integrations that were deleted.
errors ([UserError!]!) Errors related to user input.

IntegrationDeletePayload#

Autogenerated return type of IntegrationDelete

type IntegrationDeletePayload {
clientMutationId: String
deletedIntegrationId: ID
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
deletedIntegrationId (ID) The ID of the integration that was deleted.
errors ([UserError!]!) Errors related to user input.

IntegrationJiraServerCreatePayload#

Autogenerated return type of IntegrationJiraServerCreate

type IntegrationJiraServerCreatePayload {
clientMutationId: String
errors: [UserError!]!
integration: JiraServerIntegration
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
integration (JiraServerIntegration) The jira server integration that was created.

IntegrationProviderSettingsUpdatePayload#

Autogenerated return type of IntegrationProviderSettingsUpdate

type IntegrationProviderSettingsUpdatePayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

IntegrationSettingsUpdatePayload#

Autogenerated return type of IntegrationSettingsUpdate

type IntegrationSettingsUpdatePayload {
clientMutationId: String
errors: [UserError!]!
integration: IntegrationUnion!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.
integration (IntegrationUnion!) The integration that was updated.

IntegrationUnionConnection#

The connection type for IntegrationUnion.

type IntegrationUnionConnection {
edges: [IntegrationUnionEdge]
nodes: [IntegrationUnion]
pageInfo: PageInfo!
}

Fields#

NameDescription
edges ([IntegrationUnionEdge]) A list of edges.
nodes ([IntegrationUnion]) A list of nodes.
pageInfo (PageInfo!) Information to aid in pagination.

IntegrationUnionEdge#

An edge in a connection.

type IntegrationUnionEdge {
cursor: String!
node: IntegrationUnion
}

Fields#

NameDescription
cursor (String!) A cursor for use in pagination.
node (IntegrationUnion) The item at the end of the edge.

IpAddress#

An IP address.

type IpAddress {
accuracy: Float
address: String!
city: String
country: String
domain: String
isp: String
latitude: Float
longitude: Float
organization: String
postalCode: String
subdivisions: String
timeZone: String
}

Fields#

NameDescription
accuracy (Float) The accuracy of the IP address geolocation.
address (String!) The IP address.
city (String) The city of the IP address geolocation.
country (String) The country of the IP address geolocation.
domain (String) The domain name of the ISP.
isp (String) The ISP associated with the IP address.
latitude (Float) The latitude of the IP address geolocation.
longitude (Float) The longitude of the IP address geolocation.
organization (String) The organization associated with the IP address.
postalCode (String) The postal code of the IP address geolocation.
subdivisions (String) The time zone of the IP address geolocation.

JiraServerIntegration#

No description

type JiraServerIntegration {
url: String!
username: String!
}

Fields#

NameDescription
url (String!) The url.
username (String!) The username.

Link#

A text link.

type Link {
link: String!
text: String
}

Fields#

NameDescription
link (String!) The URL of the link.
text (String) The displayed text of the link.

LoginPayload#

Autogenerated return type of Login

type LoginPayload {
authState: AuthState!
clientMutationId: String
credentials: Credentials
errors: [UserError!]!
otpChallenge: Boolean
otpIdentifier: String
}

Fields#

NameDescription
authState (AuthState!) A unique identifier for the client performing the mutation.
credentials (Credentials) Errors related to user input.

MobileNotificationPreferencesUpsertPayload#

Autogenerated return type of MobileNotificationPreferencesUpsert

type MobileNotificationPreferencesUpsertPayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

Money#

A amount with the linked defined currency.

type Money {
amount: Float!
currencyCode: String
}

Fields#

NameDescription
amount (Float!) The amount.
currencyCode (String) The ISO currency code.

PageInfo#

Information about pagination in a connection.

type PageInfo {
endCursor: String
hasNextPage: Boolean!
hasPreviousPage: Boolean!
startCursor: String
}

Fields#

NameDescription
endCursor (String) When paginating forwards, the cursor to continue.
hasNextPage (Boolean!) When paginating forwards, are there more items.
hasPreviousPage (Boolean!) When paginating backwards, are there more items.
startCursor (String) When paginating backwards, the cursor to continue.

PageView#

An instance of a page being loaded in browser by a visitor.

type PageView {
id: String
ipAddress: IpAddress
language: String
occurredAt: String
referrer: ReferrerUrl
timeOnPage: Float
title: String
url: UrlStruct!
userAgent: UserAgent
}

Fields#

NameDescription
id (String) A unique identifier for the page view.
ipAddress (IpAddress) The IP address of the visitor.
language (String) The browser language set by the visitor.
occurredAt (String) The date and time that the page view took place.
referrer (ReferrerUrl) The page view referrer.
timeOnPage (Float) The total time spent on the page by the visitor.
title (String) The title of the page being loaded.
url (UrlStruct!) The URL of the page being loaded.
userAgent (UserAgent) The visitor's user agent.

Platform#

No description

type Platform {
family: String
version: String
}

PushTokenClearNotificationCountPayload#

Autogenerated return type of PushTokenClearNotificationCount

type PushTokenClearNotificationCountPayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

PushTokenCreatePayload#

Autogenerated return type of PushTokenCreate

type PushTokenCreatePayload {
clientMutationId: String
errors: [UserError!]!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

QueryRoot#

The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start.

CHANGELOG

2020-01

  • [NEW] mailboxes now accessible via channels
type QueryRoot implements CompaniesField, ContactsField {
companies(
after: String
before: String
first: Int = 0
last: Int = 0
filter: CompanyFilter
orderBy: CompanyOrder = "[object Object]"
): CompanyConnection
contacts(
after: String
before: String
first: Int = 0
last: Int = 0
filter: ContactFilter = "[object Object]"
orderBy: ContactOrder = "[object Object]"
): ContactConnection
customFieldCategories(
after: String
before: String
first: Int = 0
last: Int = 0
filter: CustomFieldCategoryFilter
): CustomFieldCategoryConnection
customFields(
after: String
before: String
first: Int = 0
last: Int = 0
filter: CustomFieldFilter
): CustomFieldConnection
customProfile(contactId: ID!, hardRefresh: Boolean, channelId: ID = 0): JSON
emailMarketingIntegrations(
after: String
before: String
first: Int = 0
last: Int = 0
): EmailMarketingIntegrationConnection!
emailMarketingSubscriptions(
after: String
before: String
first: Int = 0
last: Int = 0
integrationId: ID!
contactId: ID!
): EmailMarketingSubscriptionConnection!
eventGroups(
after: String
before: String
first: Int = 0
last: Int = 0
filter: EventGroupsFilterInput!
): EventGroupTypeConnection!
excludedDomains(
after: String
before: String
first: Int = 0
last: Int = 0
): ExcludedDomainConnection
existsForAnyAccount(provider: String!, shopDomain: String!): Boolean!
integrations(
after: String
before: String
first: Int = 0
last: Int = 0
filter: IntegrationsFilter
): IntegrationUnionConnection!
node(id: ID!): Node
nodes(ids: [ID!]!): [Node]!
ping: String!
}

Fields#

NameDescription
companies (CompanyConnection) Lists all companies.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (CompanyFilter)
The fields by which to filter the results.
orderBy (CompanyOrder)
The field and direction by which to order the results.
contacts (ContactConnection) Lists all contacts.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (ContactFilter)
The fields by which to filter the results.
orderBy (ContactOrder)
The field and direction by which to order the results.
customFieldCategories (CustomFieldCategoryConnection) Lists all custom field categories.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (CustomFieldCategoryFilter)
The fields by which to filter the results.
customFields (CustomFieldConnection) Lists all custom fields.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (CustomFieldFilter)
The fields by which to filter the results.
customProfile (JSON) Fetches the custom profile for a contact.
Arguments
contactId (ID!)
The ID of the contact.
hardRefresh (Boolean)
Whether the custom profile should be refreshed.
channelId (ID)
The ID of the channel.
emailMarketingIntegrations (EmailMarketingIntegrationConnection!) The installed email marketing integrations.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
emailMarketingSubscriptions (EmailMarketingSubscriptionConnection!) The email marketing.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
integrationId (ID!)
The ID of the email marketing integration.
contactId (ID!)
The ID of the contact.
eventGroups (EventGroupTypeConnection!) Returns the elements in the list that come after the specified cursor.
Arguments
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (EventGroupsFilterInput!)
The fields by which to filter the results.
excludedDomains (ExcludedDomainConnection) Lists all excluded domains.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
existsForAnyAccount (Boolean!) Checks if there is already existing OauthCredential with provided shop domain for any Groove account.
Arguments
provider (String!)
The provider to check for existing integrations for.
shopDomain (String!)
The shop domain.
integrations (IntegrationUnionConnection!) Connected integrations.
Arguments
after (String)
Returns the elements in the list that come after the specified cursor.
before (String)
Returns the elements in the list that come before the specified cursor.
first (Int)
Returns the first n elements from the list.
last (Int)
Returns the last n elements from the list.
filter (IntegrationsFilter)
Filter integrations.
node (Node) Fetches an object given its ID.
Arguments
id (ID!)
ID of the object.
nodes ([Node]!) Fetches a list of objects given a list of IDs.
Arguments
ids ([ID!]!)
IDs of the objects.
ping (String!) Performs a health check for the Groove GraphQL API.

Interfaces#

NameDescription
CompaniesField A list of companies filtered by input.
ContactsField A list of contacts filtered by input.

RechargeIntegration#

No description

type RechargeIntegration {
fullStoreDomain: String!
storeDomain: String!
storeName: String!
}

Fields#

NameDescription
fullStoreDomain (String!) The full store domain.
storeDomain (String!) The shop domain.
storeName (String!) The shop name.

ReferrerUrl#

The address of the webpage from which the visitor came to your page.

type ReferrerUrl {
domain: String
hash: String
medium: String
path: String
protocol: String
query: String
raw: String!
searchTerm: String
source: String
}

Fields#

NameDescription
domain (String) The domain of the URL.
hash (String) The URL's hash property.
medium (String) The category of the source.
path (String) The path of the URL.
protocol (String) The URL's protocol.
query (String) The query string of the URL.
raw (String!) The raw URL.
searchTerm (String) The search term used by the visitor.
source (String) The origin of the visitor.

SalesforceIntegration#

No description

type SalesforceIntegration {
salesforceDomain: String!
}

Fields#

NameDescription
salesforceDomain (String!) The domain of the salesforce installation.

Session#

A contact visit session as recorded by the Widget.

type Session {
firstPageView: PageView
id: String
lastPageView: PageView
penultimatePageView: PageView
totalPageViews: Int
totalTimeOnPage: Float
}

Fields#

NameDescription
firstPageView (PageView) The first page view.
id (String) The session ID.
lastPageView (PageView) The last page view.
penultimatePageView (PageView) The second-to-last page view.
totalPageViews (Int) The total number of page views.
totalTimeOnPage (Float) The total time spent on page.

ShopifyIntegration#

No description

type ShopifyIntegration {
storeDomain: String!
storeName: String
}

Fields#

NameDescription
storeDomain (String!) The shop domain.
storeName (String) The shop name.

ShopifyV2Integration#

No description

type ShopifyV2Integration {
storeDomain: String!
storeName: String!
}

Fields#

NameDescription
storeDomain (String!) The shop domain.
storeName (String!) The shop name.

Text#

A text string. It can represent either a single line, multiple lines, or an email.

type Text {
content: String!
}

Fields#

NameDescription
content (String!) The text content.

UploadPayloadField#

No description

type UploadPayloadField {
name: String!
value: String!
}

UploadPayloadGeneratePayload#

Autogenerated return type of UploadPayloadGenerate

type UploadPayloadGeneratePayload {
clientMutationId: String
errors: [UserError!]!
key: String!
previewUrl: String!
request: UploadPayloadRequest!
}

Fields#

NameDescription
clientMutationId (String) A unique identifier for the client performing the mutation.
errors ([UserError!]!) Errors related to user input.

UploadPayloadRequest#

No description

type UploadPayloadRequest {
contentType: String!
data: [UploadPayloadField!]!
method: String!
url: String!
}

UrlStruct#

A URL.

type UrlStruct {
domain: String
hash: String
path: String
protocol: String
query: String
raw: String!
}

Fields#

NameDescription
domain (String) The domain of the URL.
hash (String) The URL's hash property.
path (String) The path of the URL.
protocol (String) The URL's protocol.
query (String) The query string of the URL.
raw (String!) The raw URL.

UserAgent#

A characteristic string used to identify visitors.

type UserAgent {
browser: Browser
device: Device
platform: Platform
raw: String!
}

Fields#

NameDescription
browser (Browser) The browser used by the visitor.
device (Device) The device used by the visitor.
platform (Platform) The native platform the browser is running on.
raw (String!) The raw user agent.

UserError#

A user-readable error

type UserError {
message: String!
path: [String!]
type: String
}

Fields#

NameDescription
message (String!) A description of the error.
path ([String!]) The input value where the error came from.
type (String) A name that can be used to identify the error type.

UserIntegration#

No description

type UserIntegration {
}

On this page