Skip to main content

Queries

account

Returns account related information.

account: Account

accountPreferences

List of account preferences.

accountPreferences: AccountPreferences

agentPreferences

Lists all agent preferences.

agentPreferences(
after: String
before: String
first: Int
last: Int
filter: AgentPreferencesFilterInput
): AgentPreferenceConnection

agents

Lists all agents in the organization.

agents(
after: String
before: String
first: Int
last: Int
filter: AgentFilter
orderBy: AgentOrder
): AgentConnection

aiConversationSuggestions

No description

aiConversationSuggestions(
after: String
before: String
first: Int
last: Int
filter: SuggestionFilterInput!
): AiSuggestionConnection

articles

Lists all Knowledge Base articles.

articles(
after: String
before: String
first: Int
last: Int
filter: ArticleFilter
orderBy: ArticleOrder
): ArticleConnection!

attachments

No description

attachments(
after: String
before: String
first: Int
last: Int
filter: AttachmentsFilterInput
): ConversationAttachmentConnection

billing

Returns billing related information.

billing: BillingType

cannedReplies

Lists all canned replies.

cannedReplies(
after: String
before: String
first: Int
last: Int
filter: CannedReplyFilter
orderBy: CannedReplyOrder
): CannedReplyConnection

cannedReplyCategories

Lists all canned reply categories.

cannedReplyCategories(
after: String
before: String
first: Int
last: Int
orderBy: CategoryOrder
): CannedReplyCategoryConnection

channels

Lists all channels.

channels(
after: String
before: String
first: Int
last: Int
filter: ChannelFilter
orderBy: ChannelOrder
): ChannelConnection!

companies

Lists all companies.

companies(
after: String
before: String
first: Int
last: Int
filter: CompanyFilter
orderBy: CompanyOrder
): CompanyConnection

contacts

Lists all contacts.

contacts(
after: String
before: String
first: Int
last: Int
filter: ContactFilter
orderBy: ContactOrder
): ContactConnection

conversation

Finds a conversation by number.

conversation(
number: Int!
): Conversation

A Groove conversation is a thread of messages (for example emails, chats, or notes) and associated actions or events (for example 'opened', 'snoozed', and 'assigned').

To fetch Messages/Ratings/StateChanges/etc. on a conversation, query the Events connection (on the QueryRoot) with the conversation ID.

To fetch all possible fields:

query Conversation {
node(id: "cnv_12345678") {

__typename
... on Conversation {
assigned {
at
agent {
id
name
}
team {
id
name
}
}
counts {
attachments
interactions
messages
notes
stateChanges
}
createdAt
contact {
id
email
}
deletedAt
drafts {
nodes {
id
}
}
followers {
nodes {
id
email
}
}
id
number
snoozed {
by { id }
until
}
starred
state
stateUpdatedAt
summaryMessage {
id
bodyPlainText
}
subject
systemUpdatedAt
tags {
nodes {
id
name
}
}
updatedAt

... on FacebookConversation {
facebookId
}


... on TwitterConversation {
twitterId
}


... on WidgetConversation {
browser
referrer
pageTitle
pageUrl
platform
referrer
}

}

}
}

To search conversations matching a specific keyword:

query Conversations {
conversations(filter: { keywords: "rad" }) {
edges {
node {
... on Conversation {
id
number
searchSummary {
author {
__typename
... on Agent {
email
role
}
... on Contact {
email
}
}
body
forwarded
note
}
}
}
}
}
}

conversationPreferences

Conversation preferences

conversationPreferences: ConversationPreferences!

conversations

Lists all conversations.

conversations(
after: String
before: String
first: Int
last: Int
filter: ConversationFilter
orderBy: ConversationOrder
): ConversationConnection

customFieldCategories

Lists all custom field categories.

customFieldCategories(
after: String
before: String
first: Int
last: Int
filter: CustomFieldCategoryFilter
): CustomFieldCategoryConnection

customFields

Lists all custom fields.

customFields(
after: String
before: String
first: Int
last: Int
filter: CustomFieldFilter
): CustomFieldConnection

customProfile

Fetches the custom profile for a contact

customProfile(
contactId: ID!
hardRefresh: Boolean
channelId: ID
): JSON

customerRatingSettings

No description

customerRatingSettings(
after: String
before: String
first: Int
last: Int
): CustomerRatingSettingConnection

drafts

Lists drafts associated to requesting user

drafts(
after: String
before: String
first: Int
last: Int
filter: DraftFilter
orderBy: DraftOrder
): DraftConnection!

emailMarketingIntegrations

The installed email marketing integrations.

emailMarketingIntegrations(
after: String
before: String
first: Int
last: Int
): EmailMarketingIntegrationConnection!

emailMarketingSubscriptions

The email marketing

emailMarketingSubscriptions(
after: String
before: String
first: Int
last: Int
integrationId: ID!
contactId: ID!
): EmailMarketingSubscriptionConnection!

ephemeralJobResult

Find an ephemeral job result by id

ephemeralJobResult(
id: ID!
): EphemeralJobResult

eventGroups

No description

eventGroups(
after: String
before: String
first: Int
last: Int
filter: EventGroupsFilterInput!
): EventGroupTypeConnection!

events

Lists the events for a given conversation.

events(
after: String
before: String
first: Int
last: Int
filter: EventsFilterInput!
): EventConnection!

excludedDomains

Lists all excluded domains.

excludedDomains(
after: String
before: String
first: Int
last: Int
): ExcludedDomainConnection

existsForAnyAccount

Checks if there is already existing OauthCredential with provided shop domain for any Groove account.

existsForAnyAccount(
provider: String!
shopDomain: String!
): Boolean!

exports

Lists all exports of organization data.

exports(
after: String
before: String
first: Int
last: Int
filter: ExportFilter
orderBy: ExportOrder
): ExportConnection

featureTemplateCategories

Lists all feature templates categories.

featureTemplateCategories: [String!]!

featureTemplates

Lists feature templates.

featureTemplates: FeatureTemplates!

folders

Lists all folders that are accessible to the authenticated agent. Each folder can be associated with one or more mailboxes.

folders(
after: String
before: String
first: Int
last: Int
filter: FolderFilter
orderBy: FolderOrder
): FolderConnection

import2Imports

Lists all imports.

import2Imports(
after: String
before: String
first: Int
last: Int
): ImportConnection!

import2Tools

Lists all apps provided by Import2 partner.

import2Tools(
after: String
before: String
first: Int
last: Int
): ToolConnection!

integrations

Connected integrations.

integrations(
after: String
before: String
first: Int
last: Int
filter: IntegrationsFilter
): IntegrationUnionConnection!

knowledgeBases

Lists all Knowledge Bases.

knowledgeBases(
after: String
before: String
first: Int
last: Int
): KnowledgeBaseConnection

latestPublicAgentReplies

The latest replies made by an agent in the last 3 months.

latestPublicAgentReplies(
after: String
before: String
first: Int
last: Int
agentId: ID
limit: Int = 10
): ReplyConnection

linkedResources

Lists the linked integration resources for a given conversation.

linkedResources(
after: String
before: String
first: Int
last: Int
filter: LinkedResourcesFilterInput!
): IntegrationAddedConnection!

me

Gets the authenticated agent.

me: Agent!

An agent is a user on Groove that is part of an organization.

To find all active agents, along with the teams they belong to, ordered by name:

query Agents {
agents {
edges {
node {
account {
id
subdomain
}
avatarUrl
createdAt
email
id
name
role
state
subdomain
preferences {
edges {
node {
key
value
}
}
}
teams {
edges {
node {
id
name
}
}
pageInfo {
hasNextPage
}
}
oauthCredentials {
edges {
node {
uid
provider
accessToken
refreshToken
expiresAt
createdAt
updatedAt
}
}
}
username
updatedAt
twoFactorAuthCode {
uri
code
}
}
}
}
}

To query for invited agents:

query Agents {
agents(filter: {state: INVITED}){
edges {
node {
id
name
}
}
}
}

To reverse order the search:

query Agents {
agents( orderBy: { field: NAME, direction: DESC } ) {
edges {
node {
id
name
}
}
}
}

To fetch agents ordered by the most times you assigned them to a conversation:

query Agents {
agents( orderBy: { field: ASSIGNMENT_COUNT, direction: DESC } ) {
nodes {
id
name
}
}
}

To fetch a single agent:

query Node {
node(id: $agentId) {
... on Agent {
id
name
}
}
}

node

Fetches an object given its ID.

node(
id: ID!
): Node

nodes

Fetches a list of objects given a list of IDs.

nodes(
ids: [ID!]!
): [Node]!

ping

Performs a health check for the Groove GraphQL API.

ping: String!

pinnedSearches

Lists all folders that are accessible to the authenticated agent. Each folder can be associated with one or more mailboxes.

pinnedSearches(
after: String
before: String
first: Int
last: Int
filter: PinnedSearchFilter
orderBy: PinnedSearchOrder
): PinnedSearchConnection

pushTokens

All push tokens for the current user.

pushTokens(
after: String
before: String
first: Int
last: Int
): PushTokenConnection!

rawEmail

Load a raw email by the message id

rawEmail(
messageId: ID!
): RawEmail

rooms

Lists all Live Chat rooms.

rooms(
after: String
before: String
first: Int
last: Int
filter: RoomFilter
orderBy: RoomOrder
): RoomConnection

roomsCounts

Lists all Live Chat room counts.

roomsCounts(
folderIds: [ID!]
channelId: ID
channelType: RoomChannelTypeEnum
): RoomsCountsResult

rules

Lists all rules in the organization.

rules(
after: String
before: String
first: Int
last: Int
filter: RuleFilter
orderBy: RuleOrder
): RuleConnection

starredCannedReplies

No description

starredCannedReplies(
after: String
before: String
first: Int
last: Int
): StarredCannedReplyConnection

tags

Lists all tags.

tags(
after: String
before: String
first: Int
last: Int
filter: TagFilter
orderBy: TagOrder
): TagConnection

teams

Lists all teams in the organization.

teams(
after: String
before: String
first: Int
last: Int
filter: TeamFilter
orderBy: TeamOrder
): TeamConnection

themes

Lists all Knowledge Base themes.

themes(
after: String
before: String
first: Int
last: Int
): ThemeConnection!

wallets

Lists all wallets associated with user.

wallets(
after: String
before: String
first: Int
last: Int
features: [String!]
options: WalletOptionsInput
): WalletConnection

webhook

No description

webhook(
id: ID!
): Webhook

webhooks

No description

webhooks(
after: String
before: String
first: Int
last: Int
filter: WebhookFilterInput
): WebhookConnection!

widgets

Lists all widgets in the organization.

widgets(
after: String
before: String
first: Int
last: Int
filter: WidgetFilter
): NewWidgetConnection