Skip to main content

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
}
}
}
}
}
}
interface Conversation {
assigned: Assignment
channel: Channel!
contact: Contact
counts: ConversationCounts!
createdAt: DateTime!
customFieldValues(
after: String
before: String
filter: CustomFieldValuesFilter
first: Int
last: Int
): CustomFieldValueConnection
deletedAt: DateTime
drafts(
after: String
before: String
first: Int
last: Int
): DraftConnection
followers(
after: String
before: String
filter: AgentFilter
first: Int
last: Int
orderBy: AgentOrder
): AgentConnection
id: ID!
lastUnansweredUserMessageAt: DateTime!
mentions: [Mention!]!
number: Int!
searchSummary: SearchSummary
snoozed: Snooze
starred: Boolean!
state: ConversationState!
stateUpdatedAt: DateTime
subject: String
summaryMessage: SummaryMessage
systemUpdatedAt: DateTime!
tags(
after: String
before: String
filter: TagFilter
first: Int
last: Int
orderBy: TagOrder
): TagConnection
updatedAt: DateTime!
}

Fields

Conversation.assigned ● Assignment object common

The agents and/or teams that are assigned to the conversation.

Conversation.channel ● Channel! non-null interface common

The channel in which the conversation is happening.

Conversation.contact ● Contact object common

The primary contact associated with the conversation.

Conversation.counts ● ConversationCounts! non-null object common

The statistics about the messages and interactions in the conversation.

Conversation.createdAt ● DateTime! non-null scalar common

The date and time that the object was created.

Conversation.customFieldValues ● CustomFieldValueConnection object common

Lists all custom fields.

Conversation.customFieldValues.after ● String scalar common

Returns the elements in the list that come after the specified cursor.

Conversation.customFieldValues.before ● String scalar common

Returns the elements in the list that come before the specified cursor.

Conversation.customFieldValues.filter ● CustomFieldValuesFilter input common

Filter custom field values.

Conversation.customFieldValues.first ● Int scalar common

Returns the first n elements from the list.

Conversation.customFieldValues.last ● Int scalar common

Returns the last n elements from the list.

Conversation.deletedAt ● DateTime scalar common

The date and time that the conversation was trashed.

Conversation.drafts ● DraftConnection object common

The current user's draft messages on the conversation.

Conversation.drafts.after ● String scalar common

Returns the elements in the list that come after the specified cursor.

Conversation.drafts.before ● String scalar common

Returns the elements in the list that come before the specified cursor.

Conversation.drafts.first ● Int scalar common

Returns the first n elements from the list.

Conversation.drafts.last ● Int scalar common

Returns the last n elements from the list.

Conversation.followers ● AgentConnection object common

Lists all agents that are following the conversation.

Conversation.followers.after ● String scalar common

Returns the elements in the list that come after the specified cursor.

Conversation.followers.before ● String scalar common

Returns the elements in the list that come before the specified cursor.

Conversation.followers.filter ● AgentFilter input common

The fields by which to filter the results.

Conversation.followers.first ● Int scalar common

Returns the first n elements from the list.

Conversation.followers.last ● Int scalar common

Returns the last n elements from the list.

Conversation.followers.orderBy ● AgentOrder input common

The field and direction by which to order the results.

Conversation.id ● ID! non-null scalar common

Conversation.lastUnansweredUserMessageAt ● DateTime! non-null scalar common

The date and time of the last unanswered user message.

Conversation.mentions ● [Mention!]! non-null object common

The mentions for the conversation.

Conversation.number ● Int! non-null scalar common

The ID of the conversation within the account.

Conversation.searchSummary ● SearchSummary object common

The comment that matched the given search keywords.

Conversation.snoozed ● Snooze object common

The agent that snoozed the conversation and when it is snoozed until.

Conversation.starred ● Boolean! non-null scalar common

True if the conversation is starred; false otherwise.

Conversation.state ● ConversationState! non-null enum common

The state of the conversation.

Conversation.stateUpdatedAt ● DateTime scalar common

The date and time that the conversation state was last updated.

Conversation.subject ● String scalar common

The subject of the conversation.

Conversation.summaryMessage ● SummaryMessage object common

The conversation summary, which is usually the first MessageChange in the conversation.

Conversation.systemUpdatedAt ● DateTime! non-null scalar common

The date and time that the conversation was last updated.

Conversation.tags ● TagConnection object common

Lists all tags.

Conversation.tags.after ● String scalar common

Returns the elements in the list that come after the specified cursor.

Conversation.tags.before ● String scalar common

Returns the elements in the list that come before the specified cursor.

Conversation.tags.filter ● TagFilter input common

The fields by which to filter the results.

Conversation.tags.first ● Int scalar common

Returns the first n elements from the list.

Conversation.tags.last ● Int scalar common

Returns the last n elements from the list.

Conversation.tags.orderBy ● TagOrder input common

The field and direction by which to order the results.

Conversation.updatedAt ● DateTime! non-null scalar common

The date and time that the object was last updated.

Returned by

conversation query

Member of

conversationAddNotePayload object ● ConversationAssignPayload object ● ConversationChangeChannelPayload object ● ConversationChangeContactPayload object ● ConversationClosePayload object ● ConversationConnection object ● conversationDeleteNotePayload object ● ConversationEdge object ● conversationEditNotePayload object ● ConversationFollowPayload object ● ConversationForwardPayload object ● ConversationForwardV2Payload object ● conversationLinkResourcePayload object ● ConversationMerged object ● ConversationMergePayload object ● ConversationMoveMessagePayload object ● ConversationOpenPayload object ● ConversationReplyPayload object ● ConversationSnoozePayload object ● ConversationSpamPayload object ● ConversationStarPayload object ● ConversationSubjectPayload object ● ConversationTagPayload object ● conversationToggleNoteReactionPayload object ● ConversationTrashPayload object ● ConversationUnassignPayload object ● ConversationUnfollowPayload object ● ConversationUnreadPayload object ● ConversationUnstarPayload object ● ConversationUntagPayload object ● Draft interface ● EmailMessage object ● FacebookDraft object ● FacebookMessage object ● ForwardedMessage object ● IntegrationRemoved object ● Message interface ● MessageMoved object ● Note object ● NoteDraft object ● Reply object ● ReplyDraft object ● SummaryMessage object ● TwitterDraft object ● TwitterMessage object ● WidgetMessage object

Implemented by

EmailConversation object ● FacebookConversation object ● TwitterConversation object ● WidgetConversation object