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