Skip to main content

Mutations

accountPreferenceUpsert​

Creates or updates account-level preferences.

accountPreferenceUpsert(
input: AccountPreferenceUpsertInput!
): AccountPreferenceUpsertPayload

affiliatesClickCreate​

No description

affiliatesClickCreate(
input: ClickCreateInput!
): ClickCreatePayload

agentNotificationPreferenceBulkDelete​

Deletes agent notification preferences.

agentNotificationPreferenceBulkDelete(
input: AgentNotificationPreferenceBulkDeleteInput!
): AgentNotificationPreferenceBulkDeletePayload

agentNotificationPreferenceBulkUpsert​

Creates or updates agent notification preferences.

agentNotificationPreferenceBulkUpsert(
input: AgentNotificationPreferenceBulkUpsertInput!
): AgentNotificationPreferenceBulkUpsertPayload

agentPreferenceDelete​

Deletes agent preferences.

agentPreferenceDelete(
input: AgentPreferenceDeleteInput!
): AgentPreferenceDeletePayload

agentPreferenceUpsert​

Creates or updates agent preferences.

agentPreferenceUpsert(
input: AgentPreferenceUpsertInput!
): AgentPreferenceUpsertPayload

agentResetLoginAttempts​

Reset a teammate's 2FA login attempt counter to zero. Available to admins and owners for agents in their own account. Cannot be used on yourself.

agentResetLoginAttempts(
input: AgentResetLoginAttemptsInput!
): AgentResetLoginAttemptsPayload

agentResetPassword​

agentResetPassword(
input: AgentResetPasswordInput!
): AgentResetPasswordPayload

agentSendAdminEmailNotification​

agentSendAdminEmailNotification(
input: AgentSendAdminEmailNotificationInput!
): AgentSendAdminEmailNotificationPayload

aiConversationSuggestionUpsert​

Starts or refreshes an AI suggestion for a conversation.

For example:

mutation SuggestionUpsert($conversationId: ID!, $suggestionType: AiConversationSuggestionType!) {
aiConversationSuggestionUpsert(input: {
conversationId: $conversationId,
suggestionType: $suggestionType
}) {
errors {
message
path
}
}
}
aiConversationSuggestionUpsert(
input: SuggestionUpsertInput!
): SuggestionUpsertPayload

asyncRpc​

No description

asyncRpc(
input: AsyncRpcInput!
): AsyncRpcPayload

cancelDowngrade​

cancelDowngrade(
input: CancelDowngradeInput!
): CancelDowngradePayload

cardSetupIntentCreate​

cardSetupIntentCreate(
input: CardSetupIntentCreateInput!
): CardSetupIntentCreatePayload

cardSetupIntentSucceed​

cardSetupIntentSucceed(
input: CardSetupIntentSucceedInput!
): CardSetupIntentSucceedPayload

channelDelete​

Deletes an existing channel from the Inbox.

Example usage:

mutation($channelId: ID!) {
channelDelete(input: { channelId: $channelId }) {
deletedChannelId
errors {
path
message
}
}
}
channelDelete(
input: ChannelDeleteInput!
): ChannelDeletePayload

channelDisconnect​

No description

channelDisconnect(
input: DisconnectMutationInput!
): DisconnectMutationPayload

channelEmailCreate​

Creates a new email channel in the inbox.

Example usage:

mutation(
$type: ChannelType!,
$email: String,
$name: String!,
$senderName: String,
$color: String!,
$permittedAgentIds: [ID],
$permittedTeamIds: [ID],
$signature: String,
$incomingEmailServer: ImapServerInput,
$outgoingEmailServer: SmtpServerInput,
$position: Int,
$emailTemplates: [EmailTemplateInput],
$aiDraftsChannelIds: [ID],
$aiDraftsKnowledgeBaseIds: [ID],
$autoBccAddress: String,
$useAgentName: Boolean,
$threadingType: ThreadingType
) {
channelEmailCreate(
input: {
type: $type,
email: $email,
name: $name,
senderName: $senderName,
color: $color,
permittedAgentIds: $permittedAgentIds,
permittedTeamIds: $permittedTeamIds,
signature: $signature,
incomingEmailServer: $incomingEmailServer,
outgoingEmailServer: $outgoingEmailServer,
position: $position,
emailTemplates: $emailTemplates,
aiDraftsChannelIds: $aiDraftsChannelIds,
aiDraftsKnowledgeBaseIds: $aiDraftsKnowledgeBaseIds,
autoBccAddress: $autoBccAddress,
useAgentName: $useAgentName,
threadingType: $threadingType
}
) {
channel {
id
color
name
}
errors {
path
message
}
}
}
channelEmailCreate(
input: EmailChannelCreateInput!
): EmailChannelCreatePayload

channelEmailUpdate​

Update an existing Inbox email channel.

Example usage:

mutation(
$channelId: ID!,
$type: ChannelType!,
$email: String,
$name: String!,
$senderName: String,
$color: String!,
$permittedAgentIds: [ID],
$permittedTeamIds: [ID],
$signature: String,
$incomingEmailServer: ImapServerInput,
$outgoingEmailServer: SmtpServerInput,
$position: Int,
$emailTemplates: [EmailTemplateInput],
$aiDraftsChannelIds: [ID],
$aiDraftsKnowledgeBaseIds: [ID],
$autoBccAddress: String,
$useAgentName: Boolean,
$threadingType: ThreadingType
) {
channelEmailUpdate(
input: {
channelId: $channelId,
type: $type,
email: $email,
name: $name,
senderName: $senderName,
color: $color,
permittedAgentIds: $permittedAgentIds,
permittedTeamIds: $permittedTeamIds,
signature: $signature,
incomingEmailServer: $incomingEmailServer,
outgoingEmailServer: $outgoingEmailServer,
position: $position,
emailTemplates: $emailTemplates,
aiDraftsChannelIds: $aiDraftsChannelIds,
aiDraftsKnowledgeBaseIds: $aiDraftsKnowledgeBaseIds,
autoBccAddress: $autoBccAddress,
useAgentName: $useAgentName,
threadingType: $threadingType
}
) {
channel {
id
color
name
}
errors {
path
message
}
}
}
channelEmailUpdate(
input: EmailChannelUpdateInput!
): EmailChannelUpdatePayload

channelImport​

No description

channelImport(
input: ImportMutationInput!
): ImportMutationPayload

checkAccessByMatrixIds​

Returns the provided list of Matrix room IDs with a flag indicating the ability of the current use to access each of them.

mutation CheckAccessByMatrixIds($matrixRoomIds: [ID]) {
checkAccessByMatrixIds(input: { matrixRoomIds: $matrixRoomIds }) {
rooms {
id
number
hasAccess
}
}
}
checkAccessByMatrixIds(
input: CheckAccessByMatrixIdsInput!
): CheckAccessByMatrixIdsPayload

companyAddContacts​

Adds contacts to a company.

For example:

mutation CompanyAddContacts($companyId: ID!, $contactIds: [ID!]!) {
companyAddContacts(input: { companyId: $companyId, contactIds: $contactIds }) {
company {
contacts {
nodes {
id
}
}
}
errors {
message
path
}
}
}
companyAddContacts(
input: CompanyAddContactsInput!
): CompanyAddContactsPayload

companyCreate​

Creates a company.

For example:

mutation CompanyCreate(
$customFields: [CustomFieldInput!]
) {
companyCreate(
input: {
customFields: $customFields
}
) {
company {
id
}
errors {
message
path
}
}
}
companyCreate(
input: CompanyCreateInput!
): CompanyCreatePayload

companyDelete​

Deletes a company.

For example:

mutation CompanyDelete($companyId: ID!) {
companyDelete(input: { companyId: $companyId }) {
deletedCompanyId
errors {
message
path
}
}
}
companyDelete(
input: CompanyDeleteInput!
): CompanyDeletePayload

companyMerge​

Merges one company (the source) into another company (the target). The target company is preserved, and the source company is deleted.

The fields in keepFieldIds from the source company will be preserved in the merge, and will be merged into the destination company.

For example:

mutation CompanyMerge($companyId: ID!, $targetId: ID!) {
companyMerge(input: { companyId: $companyId, targetId: $targetId }) {
target {
id
}
errors {
message
path
}
}
}
companyMerge(
input: CompanyMergeInput!
): CompanyMergePayload

companyRemoveContacts​

Remove contacts from a company.

For example:

mutation CompanyRemoveContacts($companyId: ID!, $contactIds: [ID!]!) {
companyRemoveContacts(input: { companyId: $companyId, contactIds: $contactIds }) {
company {
contacts {
nodes {
id
}
}
}
errors {
message
path
}
}
}
companyRemoveContacts(
input: CompanyRemoveContactsInput!
): CompanyRemoveContactsPayload

contactCreate​

Creates a contact.

For example:

mutation ContactCreate(
$contactType: ContactType!,
$customFields: [CustomFieldInput!]
) {
contactCreate(
input: {
contactType: $contactType,
customFields: $customFields
}
) {
contact {
id
}
errors {
message
path
}
}
}
contactCreate(
input: ContactCreateInput!
): ContactCreatePayload

contactDelete​

Deletes a contact permanently.

For example:

mutation ContactDelete($contactId: ID!) {
contactDelete(input: { contactId: $contactId }) {
deletedContactId
errors {
message
path
}
}
}
contactDelete(
input: ContactDeleteInput!
): ContactDeletePayload

contactMerge​

Merges one contact (the source) into another contact (the target). The target contact is preserved, and the source contact is deleted.

The fields in keepFieldIds from the source contact will be preserved in the merge, and will be merged into the destination contact.

mutation ContactMerge(
$sourceId: ID!,
$targetId: ID!,
$keepFieldIds: [ID!]
) {
contactMerge(input: {
sourceId: $sourceId,
targetId: $targetId,
keepFieldIds: $keepFieldIds
}) {
target {
id
}
errors {
message
path
}
}
}
contactMerge(
input: ContactMergeInput!
): ContactMergePayload

contactResync​

Updates a contact.

mutation ContactResync(
$contactId: ID!,
$integrationId: ID!
) {
contactResync(input: {
contactId: $contactId,
integrationId: $contactId
}) {
contact {
id
}
errors {
message
path
}
}
}
contactResync(
input: ContactResyncInput!
): ContactResyncPayload

contactUpdate​

Updates a contact.

For example:

mutation ContactUpdate(
$contactId: ID!,
$contactType: ContactType!
) {
contactUpdate(input: {
contactId: $contactId,
contactType: $contactType
}) {
contact {
id
}
errors {
message
path
}
}
}
contactUpdate(
input: ContactUpdateInput!
): ContactUpdatePayload

conversationAddNote​

Create a note in a conversation.

mutation(
$conversationId: ID!,
$body: String!,
$draftId: String,
$state: ConversationState,
$snoozedUntil: DateTime,
$attachments: [EmailAttachmentInput],
$skipNotifications: Boolean
) {
conversationAddNote(
input: {
conversationId: $conversationId,
body: $body,
draftId: $draftId,
state: $state,
snoozedUntil: $snoozedUntil,
attachments: $attachments,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
deletedDraftId
errors {
path
message
}
}
}
conversationAddNote(
input: conversationAddNoteInput!
): conversationAddNotePayload

conversationAssign​

Assigns a conversation to an agent, a team, or both.

For example:

mutation(
$agentId: ID,
$conversationId: ID!,
$teamId: ID,
$skipNotifications: Boolean
) {
conversationAssign(
input: {
agentId: $agentId,
conversationId: $conversationId,
teamId: $teamId,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
... on Conversation {
id
assigned {
at
agent {
id
name
}
team {
id
name
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To unassign a conversation see conversationUnassign.

conversationAssign(
input: ConversationAssignInput!
): ConversationAssignPayload

conversationBulkDelete​

Deletes any number of conversations. Conversations can be either soft deleted or hard deleted.

mutation conversationBulkDelete(
$conversationIds: ["cnv_1234567"],
$deleteMode: HARD
) {
conversationBulkDelete(
input: {
conversationIds: $conversationIds,
deleteMode: $deleteMode
}
) {
jid
}
}
conversationBulkDelete(
input: ConversationBulkDeleteInput!
): ConversationBulkDeletePayload

conversationChangeChannel​

Move a conversation to another channel.

conversationChangeChannel(
input: ConversationChangeChannelInput!
): ConversationChangeChannelPayload

conversationChangeContact​

Change the contact associated with a conversation.

For example:

mutation(
$conversationId: ID!,
$contactId: ID!
) {
conversationChangeContact(
input: {
conversationId: $conversationId,
contactId: $contactId
}
) {
conversation {
id
}
diffs {
query
delta
}
errors {
message
path
}
}
}
conversationChangeContact(
input: ConversationChangeContactInput!
): ConversationChangeContactPayload

conversationClose​

Sets a conversation's state to CLOSED.

For example:

mutation(
$conversationId: ID!,
) {
conversationClose( input: {
conversationId: $conversationId,
}) {
changesetId
conversation {
... on Conversation {
id
state
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationClose(
input: ConversationCloseInput!
): ConversationClosePayload

conversationCreateEmail​

Creates a new email conversation.

For example:

mutation(
$assigned: AssignmentInput,
$channelId: ID!,
$message: EmailMessageInput!,
$state: ConversationState,
$cannedReplyId: ID,
$draftId: String,
$snoozeUntil: DateTime,
$tagIds: [ID],
$skipNotifications: Boolean
) {
conversationCreateEmail(
input: {
assigned: $assigned,
channelId: $channelId,
message: $message,
state: $state,
cannedReplyId: $cannedReplyId,
draftId: $draftId,
snoozeUntil: $snoozeUntil,
tagIds: $tagIds,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
state
subject
}
errors {
path
message
}
}
})
conversationCreateEmail(
input: ConversationCreateEmailInput!
): ConversationCreateEmailPayload

conversationDelete​

Deletes up to 25 conversations. Conversations can be either soft deleted or hard deleted.

To trash (soft delete) conversations:

mutation(
$conversationIds: ["cnv_1234567"],
$deleteMode: SOFT,
) {
conversationDelete(
input: {
conversationIds: $conversationIds,
deleteMode: $deleteMode
}
) {
deletedConversationIds
diffs {
query
delta
}
errors {
path
message
}
}
}

To permanently delete conversations:

mutation(
$conversationIds: ["cnv_1234567"],
$deleteMode: HARD,
) {
conversationDelete(
input: {
conversationId: $conversationId,
deleteMode: $deleteMode
}
) {
deletedConversationIds
errors {
path
message
}
}
}
conversationDelete(
input: ConversationDeleteInput!
): ConversationDeletePayload

conversationDeleteNote​

Delete note for comment

mutation(
$messageId: ID!,
$skipNotifications: Boolean
) {
conversationDeleteNote(
input: {
messageId: $messageId,
skipNotifications: $skipNotifications
}
) {
changesetId
deletedMessageId
conversation {
id
}
errors {
path
message
}
}
}
conversationDeleteNote(
input: conversationDeleteNoteInput!
): conversationDeleteNotePayload

conversationEditNote​

Edit a note in a conversation.

mutation(
$messageId: ID!,
$body: String!,
$attachments: [EmailAttachmentInput],
$skipNotifications: Boolean
) {
conversationEditNote(
input: {
messageId: $messageId,
body: $body,
attachments: $attachments,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
errors {
path
message
}
}
}
conversationEditNote(
input: conversationEditNoteInput!
): conversationEditNotePayload

conversationFollow​

Adds one or more agents as followers to a conversation.

For example:

mutation(
$conversationId: ID!,
$followerIds: [ID!]!
) {
conversationFollow(
input: {
conversationId: $conversationId,
followerIds: $followerIds
}
) {
changesetId
conversation {
... on Conversation {
id
followers {
edges {
node {
id
email
}
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
})

To unfollow a conversation see conversationUnfollow.

conversationFollow(
input: ConversationFollowInput!
): ConversationFollowPayload

conversationForward​

Forwards a conversation.

mutation(
$conversationId: ID!,
$body: String!,
$to: Email!,
$cc: [Email],
$bcc: [Email],
$subject: String,
$attachments: [EmailAttachmentInput],
$cannedReplyId: ID,
$draftId: String,
$state: ConversationState,
$snoozeUntil: DateTime
$agentId: ID,
$teamId: ID,
$channelId: ID,
$skipNotifications: Boolean
) {
conversationForward(
input: {
conversationId: $conversationId,
body: $body,
to: $to,
cc: $cc,
bcc: $bcc,
subject: $subject,
attachments: $attachments,
cannedReplyId: $cannedReplyId,
draftId: $draftId,
state: $state,
snoozeUntil: $snoozeUntil
agentId: $agentId,
teamId: $teamId,
channelId: $channelId,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
deletedDraftId
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationForward(
input: ConversationForwardInput!
): ConversationForwardPayload

conversationForwardV2​

Forwards a conversation.

mutation(
$conversationId: ID!,
$body: String!,
$to: [Email!]!,
$cc: [Email],
$bcc: [Email],
$subject: String,
$attachments: [EmailAttachmentInput],
$cannedReplyId: ID,
$draftId: String,
$state: ConversationState,
$snoozeUntil: DateTime,
$tagIdsToAdd: [ID],
$tagIdsToRemove: [ID],
$removeAllTags: Boolean,
$agentId: ID,
$teamId: ID,
$channelId: ID,
$skipNotifications: Boolean
) {
conversationForwardV2(
input: {
conversationId: $conversationId,
body: $body,
to: $to,
cc: $cc,
bcc: $bcc,
subject: $subject,
attachments: $attachments,
cannedReplyId: $cannedReplyId,
draftId: $draftId,
state: $state,
snoozeUntil: $snoozeUntil,
tagIdsToAdd: $tagIdsToAdd,
tagIdsToRemove: $tagIdsToRemove,
removeAllTags: $removeAllTags,
agentId: $agentId,
teamId: $teamId,
channelId: $channelId,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
deletedDraftId
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationForwardV2(
input: ConversationForwardV2Input!
): ConversationForwardV2Payload

conversationLinkResource​

Link an integration resource to the conversation

mutation(
$conversationId: ID!,
$externalId: String!,
$provider: IntegrationProvider!,
$removed: Boolean,
$title: String!,
$url: String!
) {
conversationLinkResource(
input: {
conversationId: $conversationId,
externalId: $externalId,
provider: $provider,
removed: $removed,
title: $title,
url: $url
}
) {
changesetId
conversation {
id
}
errors {
path
message
}
}
}
conversationLinkResource(
input: conversationLinkResourceInput!
): conversationLinkResourcePayload

conversationLog​

Creates a new conversation starting with a note.

mutation ConversationLog(
$assigned: AssignmentInput,
$channelId: ID!,
$message: NoteMessageInput!,
$state: ConversationState,
$cannedReplyId: ID,
$draftId: String,
$snoozeUntil: DateTime,
$skipNotifications: Boolean
) {
conversationLog(input: {
assigned: $assigned,
channelId: $channelId,
message: $message,
state: $state,
cannedReplyId: $cannedReplyId,
draftId: $draftId,
snoozeUntil: $snoozeUntil,
skipNotifications: $skipNotifications
}) {
changesetId
conversation {
id
subject
contact {
id
email
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationLog(
input: ConversationLogInput!
): ConversationLogPayload

conversationMerge​

Merges one conversation (the source) into another conversation (the target). The target conversation is preserved, and the source conversation is deleted.

For example:

conversationMerge(
input: ConversationMergeInput!
): ConversationMergePayload

conversationMoveMessage​

Moves a message out of a conversation to create a new conversation.

mutation($input: { messageId: ID! }) {
conversationMoveMessage(input: $input) {
conversation {
id
}
}
})
conversationMoveMessage(
input: ConversationMoveMessageInput!
): ConversationMoveMessagePayload

conversationOpen​

Sets a conversation's state to OPENED.

For example:

mutation(
$conversationId: ID!,
) {
conversationOpen( input: {
conversationId: $conversationId,
}) {
changesetId
conversation {
... on Conversation {
id
state
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationOpen(
input: ConversationOpenInput!
): ConversationOpenPayload

conversationReply​

Replies to a conversation.

mutation(
$conversationId: ID!,
$body: String!,
$to: Email!,
$cc: [Email],
$bcc: [Email],
$subject: String,
$attachments: [EmailAttachmentInput],
$cannedReplyId: ID,
$draftId: String,
$state: ConversationState,
$snoozedUntil: DateTime,
$tagIdsToAdd: [ID],
$tagIdsToRemove: [ID],
$removeAllTags: Boolean,
$agentId: ID,
$teamId: ID,
$channelId: ID,
$skipNotifications: Boolean
) {
conversationReply(
input: {
conversationId: $conversationId,
body: $body,
to: $to,
cc: $cc,
bcc: $bcc,
subject: $subject,
attachments: $attachments,
cannedReplyId: $cannedReplyId,
draftId: $draftId,
state: $state,
snoozedUntil: $snoozedUntil,
tagIdsToAdd: $tagIdsToAdd,
tagIdsToRemove: $tagIdsToRemove,
removeAllTags: $removeAllTags,
agentId: $agentId,
teamId: $teamId,
channelId: $channelId,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationReply(
input: ConversationReplyInput!
): ConversationReplyPayload

conversationRestore​

Restores up to 25 soft-deleted conversations.

mutation(
$conversationIds: ["cnv_1234567"],
$newState: OPENED
) {
conversationDelete(
input: {
conversationIds: $conversationIds,
newState: $newState
}
) {
conversations {
nodes {
id
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationRestore(
input: conversationRestoreInput!
): conversationRestorePayload

conversationSnooze​

Snoozes a conversation. Conversations can be either snoozed until a specific date or indefinitely.

For example:

mutation(
$conversationId: ID!,
$until: DateTime!
) {
conversationSnooze(
input: {
conversationId: $conversationId,
until: $until
}
) {
changesetId
conversation {
... on Conversation {
id
state
snoozed {
by { id }
until
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To unsnooze and reopen a conversation use conversationOpen.

To unsnooze a conversation while keeping it closed use conversationClose.

conversationSnooze(
input: ConversationSnoozeInput!
): ConversationSnoozePayload

conversationSpam​

Marks the conversation as spam.

For example:

mutation(
$conversationId: ID!
) {
conversationSpam(
input: {
conversationId: $conversationId
}
) {
changesetId
conversation {
... on Conversation {
id
state
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationSpam(
input: ConversationSpamInput!
): ConversationSpamPayload

conversationStar​

Stars a conversation.

For example:

mutation(
$conversationId: ID!
) {
conversationStar(
input: {
conversationId: $conversationId
}
) {
changesetId
conversation {
... on Conversation {
id
starred
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To unstar a conversation see conversationUnstar,

conversationStar(
input: ConversationStarInput!
): ConversationStarPayload

conversationSubject​

Updates the conversation subject.

For example:

mutation(
$conversationId: ID!,
$subject: String!,
) {
conversationSubject( input: {
conversationId: $conversationId,
subject: $subject
}) {
changesetId
conversation {
... on Conversation {
id
subject
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationSubject(
input: ConversationSubjectInput!
): ConversationSubjectPayload

conversationTag​

Add one or more tags to a Conversation.

For example:

mutation(
$conversationId: ID!,
$tagIds: [ID!]!
) {
conversationTag(
input: {
conversationId: $conversationId,
tagIds: $tagIds
}
) {
changesetId
conversation {
... on Conversation {
id
tags {
edges {
node {
id
name
}
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To untag a conversation see conversationUntag.

conversationTag(
input: ConversationTagInput!
): ConversationTagPayload

conversationToggleNoteReaction​

Toggle note reaction for comment

mutation(
$messageId: ID!,
$reaction: String!,
$skipNotifications: Boolean
) {
conversationToggleNoteReaction(
input: {
messageId: $messageId,
reaction: $reaction,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
id
}
message {
id
}
errors {
path
message
}
}
}
conversationToggleNoteReaction(
input: conversationToggleNoteReactionInput!
): conversationToggleNoteReactionPayload

conversationTrash​

Sets a conversation's state to DELETED.

For example:

mutation(
$conversationId: ID!,
) {
conversationTrash( input: {
conversationId: $conversationId,
}) {
changesetId
conversation {
... on Conversation {
id
state
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationTrash(
input: ConversationTrashInput!
): ConversationTrashPayload

conversationUnassign​

Unassigns a conversation from an agent, a team, or both.

For example:

mutation(
$agent: Boolean,
$conversationId: ID!,
$team: Boolean,
$skipNotifications: Boolean
) {
conversationUnassign(
input: {
agent: $agent,
conversationId: $conversationId,
team: $team,
skipNotifications: $skipNotifications
}
) {
changesetId
conversation {
... on Conversation {
id
assigned {
at
agent {
id
name
}
team {
id
name
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To assign a conversation see conversationAssign.

conversationUnassign(
input: ConversationUnassignInput!
): ConversationUnassignPayload

conversationUndoSend​

Undo the sending of a new conversation, reply or forward.

mutation(
$conversationId: ID!,
$changesetId: ID!
) {
conversationUndoSend(
input: {
conversationId: $conversationId,
changesetId: $changesetId
}
) {
changesetId
errors {
path
message
}
}
}
conversationUndoSend(
input: conversationUndoSendInput!
): conversationUndoSendPayload

conversationUnfollow​

Removes one or more agents as followers from a conversation.

For example:

mutation(
$conversationId: ID!,
$followerIds: [ID!]!
) {
conversationUnfollow(
input: {
conversationId: $conversationId,
followerIds: $followerIds
}
) {
changesetId
conversation {
... on Conversation {
id
followers {
edges {
node {
id
email
}
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To follow a conversation see conversationFollow.

conversationUnfollow(
input: ConversationUnfollowInput!
): ConversationUnfollowPayload

conversationUnread​

Sets a conversation's state to UNREAD.

For example:

mutation(
$conversationId: ID!,
) {
conversationUnread(
input: {
conversationId: $conversationId,
}
) {
changesetId
conversation {
... on Conversation {
id
state
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}
conversationUnread(
input: ConversationUnreadInput!
): ConversationUnreadPayload

conversationUnstar​

Unstars a conversation.

For example:

mutation(
$conversationId: ID!
) {
conversationUnstar(
input: {
conversationId: $conversationId
}
) {
changesetId
conversation {
... on Conversation {
id
starred
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To star a conversation see conversationStar,

conversationUnstar(
input: ConversationUnstarInput!
): ConversationUnstarPayload

conversationUntag​

Removes one or more tags from a conversation.

For example:

mutation(
$conversationId: ID!,
$tagIds: [ID!]!
) {
conversationUntag(
input: {
conversationId: $conversationId,
tagIds: $tagIds
}
) {
changesetId
conversation {
... on Conversation {
id
tags {
edges {
node {
id
name
}
}
}
}
}
diffs {
query
delta
}
errors {
path
message
}
}
}

To tag a conversation see conversationTag.

conversationUntag(
input: ConversationUntagInput!
): ConversationUntagPayload

customFieldCategoryCreate​

Creates a custom field category.

mutation CustomFieldCategoryCreate(
$name: String!,
$type: CustomFieldCategoryType!,
$key: String!
) {
customFieldCategoryCreate(input: {
name: $name,
type: $type,
key: $key
}) {
errors {
message
path
}
category {
id
}
}
}
customFieldCategoryCreate(
input: CustomFieldCategoryCreateInput!
): CustomFieldCategoryCreatePayload

customFieldCategoryDelete​

Deletes a custom field category.

mutation CustomFieldCategoryDelete(
$categoryId: ID!,
$newCategoryId: ID
) {
customFieldCategoryDelete(input: {
categoryId: $categoryId,
newCategoryId: $newCategoryId
}) {
deletedCategoryId
errors {
message
path
}
}
}
customFieldCategoryDelete(
input: CustomFieldCategoryDeleteInput!
): CustomFieldCategoryDeletePayload

customFieldCategoryUpdate​

Updates a custom field category.

mutation CustomFieldCategoryUpdate($categoryId: ID!, $name: String!) {
customFieldCategoryUpdate(input: { categoryId: $categoryId, name: $name }) {
errors {
message
path
}
category {
id
}
}
}
customFieldCategoryUpdate(
input: CustomFieldCategoryUpdateInput!
): CustomFieldCategoryUpdatePayload

customFieldCreate​

Creates a custom field.

For example:

mutation CustomFieldCreate(
$categoryId: ID!,
$key: String!,
$name: String!,
$icon: CustomFieldIcon,
$description: String,
$type: CustomFieldType!,
$placeholder: String,
$isArray: Boolean!
$options: [CustomFieldOptionInput]
) {
customFieldCreate(input: {
categoryId: $categoryId,
key: $key,
name: $name,
icon: $icon,
description: $description,
type: $type,
placeholder: $placeholder,
isArray: $isArray
options: $options
}) {
customField {
id
}
errors {
message
path
}
}
}
customFieldCreate(
input: CustomFieldCreateInput!
): CustomFieldCreatePayload

customFieldDelete​

Deletes a custom field.

For example:

mutation CustomFieldDelete(
$customFieldId: ID!,
$deleteMode: DeleteMode
) {
customFieldDelete(input: {
customFieldId: $customFieldId,
deleteMode: $deleteMode
}) {
deletedCustomFieldId
errors {
message
path
}
}
}
customFieldDelete(
input: CustomFieldDeleteInput!
): CustomFieldDeletePayload

customFieldOptionDelete​

Deletes a custom field option.

mutation CustomFieldOptionDelete($customFieldOptionId: ID!) {
customFieldOptionDelete(input: { customFieldOptionId: $customFieldOptionId }) {
errors {
path
message
}
}
}
customFieldOptionDelete(
input: CustomFieldOptionDeleteInput!
): CustomFieldOptionDeletePayload

customFieldRemove​

Removes a custom field from a contact or company.

mutation CustomFieldRemove($customFieldId: ID!, $itemId: ID!) {
customFieldRemove(input: { customFieldId: $customFieldId, itemId: $itemId }) {
errors {
message
path
}
}
}
customFieldRemove(
input: CustomFieldRemoveInput!
): CustomFieldRemovePayload

customFieldRestore​

No description

customFieldRestore(
input: customFieldRestoreInput!
): customFieldRestorePayload

customFieldUpdate​

Updates a custom field.

For example:

mutation CustomFieldUpdate(
$customFieldId: ID!,
$categoryId: ID!,
$name: String!,
$icon: CustomFieldIcon,
$type: CustomFieldType!,
$options: [CustomFieldOptionInput]
) {
customFieldUpdate(input: {
customFieldId: $customFieldId,
categoryId: $categoryId,
name: $name,
icon: $icon,
type: $type,
options: $options
}) {
customField {
id
}
errors {
message
path
}
}
}
customFieldUpdate(
input: CustomFieldUpdateInput!
): CustomFieldUpdatePayload

customFieldValuesBulkUpdate​

Updates multiple contact or company custom fields in one go.

This is important if, for example, you want to constantly synchronize your contacts with an external data source.

Changes will be proccessed asynchronously in the background.

mutation CustomFieldValuesBulkUpdate($items: [SubjectWithCustomFieldsInput!]!, $sync: Boolean!) {
customFieldValuesBulkUpdate(input: { items: $items, sync: $sync }) {
jid
}
}
customFieldValuesBulkUpdate(
input: CustomFieldValuesBulkUpdateInput!
): CustomFieldValuesBulkUpdatePayload

customFieldValuesUpdate​

Creates, updates, or deletes custom field values for a contact or company.

mutation CustomFieldValuesUpdate(
$subjectId: ID!,
$customFieldList: [CustomFieldListInput]
) {
customFieldValuesUpdate(input: {
subjectId: $subjectId,
customFieldList: $values
}) {
subject {
id
}
}
}

Example request, with payload in the payload.json file:

curl 'https://api.groovehq.com/v2/graphql' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer TOKEN' -d payload.json

Example payload.json file:

{
"query":"
mutation UpdateCustomFieldValue(
$input: CustomFieldValuesUpdateInput!
) {
customFieldValuesUpdate(input: $input) {
subject {
id
}
errors {
message
path
type
}
}
}
",
"_method":"POST",
"variables": {
"input": {
"subjectId":"co_0000000000",
"customFieldList":[
{
"customFieldIdOrKey":"cf_0000000000",
"value":"My new value"
}
]
},
}
}
customFieldValuesUpdate(
input: CustomFieldValuesUpdateInput!
): CustomFieldValuesUpdatePayload

customerRatingSettingDelete​

No description

customerRatingSettingDelete(
input: CustomerRatingSettingDeleteInput!
): CustomerRatingSettingDeletePayload

customerRatingSettingUpsert​

No description

customerRatingSettingUpsert(
input: CustomerRatingSettingUpsertInput!
): CustomerRatingSettingUpsertPayload

draftDelete​

Deletes a draft.

For example:

mutation(
$draftId: String!,
) {
draftRemove( input: {
draftId: $draftId,
}) {
deletedDraftId
success
}
}
draftDelete(
input: DraftDeleteInput!
): DraftDeletePayload

draftSave​

Creates or updates a draft.

For example:

mutation(
$draftId: ID!,
$conversationId: ID!,
$version: Int!,
$draftType String!,
$payload: String!,
) {
draftSave( input: {
draftId: $draftId,
conversationId: $conversationId,
version: $version,
draftType: $payload,
payload: $payload,
}) {
draftId
version
}
}
draftSave(
input: DraftSaveInput!
): DraftSavePayload

draftUpsert​

Upserts a draft

For example:

mutation(
$draftId: String!,
$conversationId: ID!,
$version: Int!,
$draftType DraftType!,
$payload: JSON!,
$metadata: JSON!
) {
draftSave( input: {
draftId: $draftId,
conversationId: $conversationId,
version: $version,
draftType: $payload,
payload: $payload,
metadata: $metadata
}) {
draft {
id
}
version
}
}
draftUpsert(
input: DraftUpsertInput!
): DraftUpsertPayload

emailMarketingSubscriptionCreate​

No description

emailMarketingSubscriptionCreate(
input: EmailMarketingSubscriptionCreateInput!
): EmailMarketingSubscriptionCreatePayload

emailMarketingSubscriptionDelete​

No description

emailMarketingSubscriptionDelete(
input: EmailMarketingSubscriptionDeleteInput!
): EmailMarketingSubscriptionDeletePayload

enduserUpsert​

No description

enduserUpsert(
input: CrmEnduserUpsertInput!
): CrmEnduserUpsertPayload

eventsShopifyCreate​

eventsShopifyCreate(
input: EventsShopifyCreateInput!
): EventsShopifyCreatePayload

excludedDomainCreate​

Creates an excluded domain.

mutation(
$domain: String!
) {
excludedDomainCreate(
input: {
domain: $domain
}
) {
excludedDomain {
id
domain
}
errors {
message
path
}
}
}
excludedDomainCreate(
input: ExcludedDomainCreateInput!
): ExcludedDomainCreatePayload

excludedDomainDelete​

Deletes an excluded domain.

mutation ExcludedDomainDelete($excludedDomainId: ID!) {
excludedDomainDelete(input: { excludedDomainId: $excludedDomainId }) {
deletedExcludedDomainId
errors {
message
path
}
}
}
excludedDomainDelete(
input: ExcludedDomainDeleteInput!
): ExcludedDomainDeletePayload

excludedDomainUpdate​

Updates an excluded domain.

mutation(
$excludedDomainId: ID!,
$domain: String!
) {
excludedDomainCreate(
input: {
excludedDomainId: $excludedDomainId,
domain: $domain
}
) {
excludedDomain {
id
domain
}
errors {
message
path
}
}
}
excludedDomainUpdate(
input: ExcludedDomainUpdateInput!
): ExcludedDomainUpdatePayload

folderCreate​

Creates an Inbox folder.

mutation(
$name: String!,
$description: String,
$matchType: FolderMatchTypes!,
$state: FolderState!,
$position: Int,
$displayCountWhenInactive: Boolean,
$hideIfZeroConversations: Boolean,
$permittedAgentIds: [ID!],
$permittedTeamIds: [ID!],
$channelIds: [ID!],
$conditions: [ConditionInput!]!
) {
folderCreate(
input: {
name: $name,
description: $description,
matchType: $matchType,
state: $state,
position: $position,
displayCountWhenInactive: $displayCountWhenInactive,
hideIfZeroConversations: $hideIfZeroConversations,
permittedAgentIds: $permittedAgentIds,
permittedTeamIds: $permittedTeamIds,
channelIds: $channelIds,
conditions: $conditions
}
) {
folder {
id
name
}
errors {
path
message
}
}
}
folderCreate(
input: FolderCreateInput!
): FolderCreatePayload

folderDelete​

Deletes an Inbox folder.

mutation(
$folderId: ID!
) {
folderDelete(
input: {
folderId: $folderId
}
) {
deletedFolderId
errors {
path
message
}
}
}
folderDelete(
input: FolderDeleteInput!
): FolderDeletePayload

folderUpdate​

Updates an Inbox folder.

mutation(
$folderId: ID!,
$name: String!,
$description: String,
$matchType: FolderMatchTypes!,
$state: FolderState!,
$position: Int,
$displayCountWhenInactive: Boolean,
$hideIfZeroConversations: Boolean,
$permittedAgentIds: [ID!],
$permittedTeamIds: [ID!],
$channelIds: [ID!],
$conditions: [ConditionInput!]!
) {
folderUpdate(
input: {
folderId: $folderId,
name: $name,
description: $description,
matchType: $matchType,
state: $state,
position: $position,
displayCountWhenInactive: $displayCountWhenInactive,
hideIfZeroConversations: $hideIfZeroConversations,
permittedAgentIds: $permittedAgentIds,
permittedTeamIds: $permittedTeamIds,
channelIds: $channelIds,
conditions: $conditions
}
) {
folder {
id
name
}
errors {
path
message
}
}
}
folderUpdate(
input: FolderUpdateInput!
): FolderUpdatePayload

import2Create​

No description

import2Create(
input: Import2CreateInput!
): Import2CreatePayload

integrationDelete​

Delete an integration.

Example:

mutation IntegrationDelete($integrationId: ID!) {
integrationDelete(input: { integrationId: $integrationId }) {
deletedIntegrationId

errors {
path
message
}
}
}
integrationDelete(
input: IntegrationDeleteInput!
): IntegrationDeletePayload

integrationDeleteByProvider​

Delete an integrations by provider.

Example:

mutation IntegrationDeleteByProvider($provider: IntegrationProvider!) {
integrationDeleteByProvider(input: { provider: $provider }) {
deletedIntegrationIds

errors {
path
message
}
}
}
integrationDeleteByProvider(
input: IntegrationDeleteByProviderInput!
): IntegrationDeleteByProviderPayload

integrationJiraServerUpsert​

Update or create a Jira Server integration.

integrationJiraServerUpsert(
input: IntegrationJiraServerCreateInput!
): IntegrationJiraServerCreatePayload

integrationProviderSettingsUpdate​

Update settings for all integrations for a specific provider.

For example:

mutation IntegrationSettingsUpdate(
$provider: IntegrationProvider!,
$settings: JSON!
) {
integrationSettingsUpdate(input: {
provider: $provider,
settings: $settings
}) {
integrations {
nodes {
... on Integration {
provider
settings {
settings
}
}
}
}
settings {
settings
}
}
}
integrationProviderSettingsUpdate(
input: IntegrationProviderSettingsUpdateInput!
): IntegrationProviderSettingsUpdatePayload

integrationSettingsUpdate​

Update settings for an integration.

For example:

mutation IntegrationSettingsUpdate(
$integrationId: ID!,
$settings: JSON!
) {
integrationSettingsUpdate(input: {
integrationId: $integrationId,
settings: $settings
}) {
integration {
... on Integration {
provider
settings {
id
settings
}
}
}
}
}
integrationSettingsUpdate(
input: IntegrationSettingsUpdateInput!
): IntegrationSettingsUpdatePayload

kbArticleDelete​

Deletes a Knowledge Base article.

For example:

mutation KbArticleDelete($articleId: ID!) {
kbArticleDelete(input: { articleId: $articleId }) {
deletedArticleId
errors {
message
path
}
}
}
kbArticleDelete(
input: KbArticleDeleteInput!
): KbArticleDeletePayload

kbSlugAvailability​

Checks whether a Knowledge Base article slug is available.

For example:

mutation KbSlugAvailability($knowledgeBaseId: ID!, $value: ID!) {
kbSlugAvailability(input: { knowledgeBaseId: $knowledgeBaseId, value: $value }) {
available
errors {
message
path
}
}
}
kbSlugAvailability(
input: KbSlugAvailabilityInput!
): KbSlugAvailabilityPayload

kbSubdomainAvailability​

Checks whether a Knowledge Base subdomain is available.

For example:

mutation KbSubdomainAvailability($value: ID!) {
kbSubdomainAvailability(input: { value: $value }) {
available
suggestion
errors {
message
path
}
}
}
kbSubdomainAvailability(
input: KbSubdomainAvailabilityInput!
): KbSubdomainAvailabilityPayload

login​

Authenticates an agent and returns credentials or a two-factor authentication challenge.

For example:

mutation Login($subdomain: String!, $email: String!, $password: String!) {
login(input: { subdomain: $subdomain, email: $email, password: $password }) {
authState
otpChallenge
otpIdentifier
credentials {
token
expiresAt
}
user {
id
email
}
errors {
message
path
}
}
}
login(
input: LoginInput!
): LoginPayload

mobileNotificationPreferencesUpsert​

No description

mobileNotificationPreferencesUpsert(
input: MobileNotificationPreferencesUpsertInput!
): MobileNotificationPreferencesUpsertPayload

pushTokenClearNotificationCount​

pushTokenClearNotificationCount(
input: PushTokenClearNotificationCountInput!
): PushTokenClearNotificationCountPayload

pushTokenCreate​

Creates a mobile push notification token for the current agent.

For example:

mutation PushTokenCreate($token: String!) {
pushTokenCreate(input: { token: $token }) {
pushToken {
id
}
errors {
message
path
}
}
}
pushTokenCreate(
input: PushTokenCreateInput!
): PushTokenCreatePayload

pushTokenDelete​

pushTokenDelete(
input: PushTokenDeleteInput!
): PushTokenDeletePayload

roomDelete​

Deletes a Live Chat room.

mutation RoomDelete($conversationId: ID!) {
roomDelete(input: { conversationId: $conversationId }) {
deletedConversationId
errors {
message
path
}
}
}
roomDelete(
input: DeleteRoomInput!
): DeleteRoomPayload

rpc​

No description

rpc(
input: SyncRpcInput!
): SyncRpcPayload

ruleCreate​

Creates a Rule.

mutation(
$name: String!,
$description: String,
$matchType: RuleMatchTypes!,
$state: RuleState!,
$position: Int,
$conditions: [RuleConditionInput!]!,
$triggers: [TriggerInput!]!,
$actions: [ActionInput!]!,
$scheduleType: ScheduleType!,
$stopUpcoming: Boolean!
) {
ruleCreate(
input: {
name: $name,
description: $description,
matchType: $matchType,
state: $state,
position: $position,
conditions: $conditions,
triggers: $triggers,
actions: $actions,
scheduleType: $scheduleType,
stopUpcoming: $stopUpcoming
}
) {
rule {
id
name
}
errors {
path
message
}
}
}
ruleCreate(
input: RuleCreateInput!
): RuleCreatePayload

ruleDelete​

Deletes a Rule.

mutation($ruleId: ID!) {
ruleDelete(input: { ruleId: $ruleId }) {
deletedRuleId
errors {
path
message
}
}
}
ruleDelete(
input: RuleDeleteInput!
): RuleDeletePayload

ruleUpdate​

Updates a Rule.

mutation(
$ruleId: ID!,
$name: String!,
$description: String,
$matchType: RuleMatchTypes!,
$state: RuleState!,
$position: Int,
$conditions: [RuleConditionInput!]!,
$triggers: [TriggerInput!]!,
$actions: [ActionInput!]!,
$scheduleType: ScheduleType,
$scheduleSettings: FeatureTemplateRuleScheduleSettingsInput,
$stopUpcoming: Boolean!
) {
ruleUpdate(
input: {
ruleId: $ruleId,
name: $name,
description: $description,
matchType: $matchType,
state: $state,
position: $position,
conditions: $conditions,
triggers: $triggers,
actions: $actions,
scheduleType: $scheduleType,
scheduleSettings: $scheduleSettings,
stopUpcoming: $stopUpcoming
}
) {
rule {
id
name
}
errors {
path
message
}
}
}
ruleUpdate(
input: RuleUpdateInput!
): RuleUpdatePayload

starredCannedReplyCreate​

No description

starredCannedReplyCreate(
input: StarredCannedReplyCreateInput!
): StarredCannedReplyCreatePayload

starredCannedReplyDelete​

No description

starredCannedReplyDelete(
input: StarredCannedReplyDeleteInput!
): StarredCannedReplyDeletePayload

tagBatchDelete​

Deletes an Inbox tag.

mutation(
$filter: TagFilter,
$tagIds: [ID!]
) {
tagBatchDelete(
input: {
filter: $filter,
tagIds: $tagIds,
}
) {
jobId
errors {
path
message
}
}
}
tagBatchDelete(
input: TagBatchDeleteInput!
): TagBatchDeletePayload

tagCreate​

Creates an Inbox tag.

mutation(
$color: String,
$name: String!,
) {
tagCreate(
input: {
color: $color,
name: $name,
}
) {
tag {
id
color
name
}
errors {
path
message
}
}
}

To apply an existing tag to a conversation see conversationTag.

tagCreate(
input: TagCreateInput!
): TagCreatePayload

tagDelete​

Deletes an Inbox tag.

mutation(
$tagId: ID!,
) {
tagDelete(
input: {
tagId: $tagId,
}
) {
deletedTagId
errors {
path
message
}
}
}

To remove an existing tag from a conversation see conversationUntag.

tagDelete(
input: TagDeleteInput!
): TagDeletePayload

tagMerge​

Merges one or more tags into a parent tag.

mutation(
$parentTagId: ID!,
$filter: TagFilter,
$tagIds: [ID!]
) {
tagMerge(
input: {
parentTagId: $parentTagId,
filter: $filter,
tagIds: $tagIds,
}
) {
jobId
errors {
path
message
}
}
}
tagMerge(
input: TagMergeInput!
): TagMergePayload

tagUpdate​

Updates an Inbox tag.

mutation(
$color: String,
$name: String,
$tagId: ID!,
) {
tagUpdate(
input: {
color: $color,
name: $name,
tagId: $tagId,
}
) {
tag {
id
color
name
}
errors {
path
message
}
}
}

To change tags applied to a conversation see the conversationTag or conversationUntag mutations.

tagUpdate(
input: TagUpdateInput!
): TagUpdatePayload

teamCreate​

Creates a team and optionally assigns agents to it.

For example:

mutation TeamsCreate($name: String!, $description: String, $agentIds: [ID!]) {
teamsCreate(input: { name: $name, description: $description, agentIds: $agentIds }) {
team {
id
name
}
errors {
message
path
}
}
}
teamCreate(
input: teamsCreateInput!
): teamsCreatePayload

teamDestroy​

Deletes a team.

For example:

mutation TeamsDestroy($teamId: ID!) {
teamsDestroy(input: { teamId: $teamId }) {
team {
id
name
}
errors {
message
path
}
}
}
teamDestroy(
input: teamsDestroyInput!
): teamsDestroyPayload

teamUpdate​

Updates a team and optionally replaces its assigned agents.

For example:

mutation TeamsUpdate($teamId: ID!, $name: String, $description: String, $agentIds: [String!]) {
teamsUpdate(input: { teamId: $teamId, name: $name, description: $description, agentIds: $agentIds }) {
team {
id
name
}
errors {
message
path
}
}
}
teamUpdate(
input: teamsUpdateInput!
): teamsUpdatePayload

updatePresence​

Returns the provided list of Matrix room IDs with a flag indicating the ability of the current use to access each of them.

mutation UpdatePresence($presenceStatus: PresenceStatusTypeEnum!) {
updatePresence(input: { presenceStatus: $presenceStatus }) {
presenceStatus
lastActiveAt
updatedAt
accessibleWidgetIds
}
}
updatePresence(
input: UpdatePresenceInput!
): UpdatePresencePayload

uploadPayloadGenerate​

followed by a field, in your POST request.

uploadPayloadGenerate(
input: UploadPayloadGenerateInput!
): UploadPayloadGeneratePayload

walletTransactionCreate​

No description

walletTransactionCreate(
input: WalletTransactionCreateInput!
): WalletTransactionCreatePayload

walletUpdate​

No description

walletUpdate(
input: WalletUpdateInput!
): WalletUpdatePayload

webhookCreate​

Creates a webhook.

Example usage:

mutation WebhookCreate($event: WebhookEvent!, $url: String!) {
webhookCreate(input: { event: $event, url: $url }) {
webhook {
id
event
url
state
}
errors {
path
message
}
}
}

Variables:

{
"event": "TICKET_STARTED",
"url": "https://example.com/webhooks/groove"
}
webhookCreate(
input: WebhookCreateInput!
): WebhookCreatePayload

webhookDelete​

Deletes a webhook.

Example usage:

mutation WebhookDelete($webhookId: ID!) {
webhookDelete(input: { webhookId: $webhookId }) {
deletedWebhookId
errors {
path
message
}
}
}

Variables:

{
"webhookId": "wh_0000000000"
}
webhookDelete(
input: WebhookDeleteInput!
): WebhookDeletePayload

webhookReactivate​

Reactivates a webhook.

Example usage:

mutation WebhookReactivate($webhookId: ID!) {
webhookReactivate(input: { webhookId: $webhookId }) {
webhook {
id
event
url
state
}
errors {
path
message
}
}
}

Variables:

{
"webhookId": "wh_0000000000"
}
webhookReactivate(
input: WebhookReactivateInput!
): WebhookReactivatePayload

webhookTest​

Sends a test payload to a webhook.

Example usage:

mutation WebhookTest($webhookId: ID!) {
webhookTest(input: { webhookId: $webhookId }) {
webhook {
id
event
url
state
}
statusCode
success
errors {
path
message
}
}
}

Variables:

{
"webhookId": "wh_0000000000"
}
webhookTest(
input: WebhookTestInput!
): WebhookTestPayload

webhookUpdate​

Updates a webhook.

Example usage:

mutation WebhookUpdate($webhookId: ID!, $event: WebhookEvent, $url: String) {
webhookUpdate(input: { webhookId: $webhookId, event: $event, url: $url }) {
webhook {
id
event
url
state
}
errors {
path
message
}
}
}

Variables:

{
"webhookId": "wh_0000000000",
"event": "TICKET_STARTED",
"url": "https://example.com/webhooks/groove"
}
webhookUpdate(
input: WebhookUpdateInput!
): WebhookUpdatePayload

widgetHelplyProvision​

Provisions a Helply account and widgets from Groove data using silent provision mode (no user invitation).

widgetHelplyProvision(
input: WidgetHelplyProvisionInput!
): WidgetHelplyProvisionPayload