Skip to main content

Open API Reference

Welcome

Endpoint

https://open.api.woztell.com/v3

Open API is built around GraphQL.

Open API is built around GraphQL. It is recommended to have prior knowledge of GraphQL in order to make use of the Open API.

You can visit our Open API Playground, where you can test our Open API. For your reference, API Documentation and Schema are also available at the right side of the playground.

Authentication

Headers

Authorization: Bearer <YOUR_TOKEN_HERE>
  1. Follow this guide to generate an access token from your WOZTELL app.

  2. In the Open API playground, insert the access token into the HTTP HEADERS.

Open API Playground

How to test our API calls?

  1. Write your query on the left panel. You can try with the following call to get conversation history.
query getChatHistory (: IntMax100) {
  apiViewer {
    conversationHistory (first: ) {
      edges {
        node {
          messageEvent
        }
      }
    }
  }
}
  1. You can refer to the SCHEMA and DOCS for other query types.

API Docs

API Schema

  1. Varaiables can be entered in the QUERY VARIABLES.

Query Variables

  1. Click the button to test the API call, the response will be displayed on the right panel.

API call sent

Rate Limit

There are rate limits on our API calls. After sending an API call to WOZTELL with GraphQL Client (e.g. Postman), you can view the rate limit in Response Headers:

X-RateLimit-Remaining: The count of API calls that you can send in a minute

X-RateLimit-Limit: The count of API calls sent in a minute

Retry-After: The time needed until the next call after reaching the rate limit (in seconds)

Response Headers

Queries

apiViewer

Response

Returns an ApiScope

Arguments
Name Description
appId - ID

Example

Query
query ApiViewer($appId: ID) {
  apiViewer(appId: $appId) {
    id
    _id
    distinctDataSourceData
    fetchDataSourceData
    fetchGeoNearDataSourceData
    memberRaw
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    members {
      edges {
        ...MemberEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    admins {
      edges {
        ...AdminEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    conversationHistory {
      edges {
        ...ChatEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    assignments {
      edges {
        ...AssignmentEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    assignment {
      id
      _id
      createdAt
      updatedAt
      inlet {
        ...ChannelFragment
      }
      inletId
      targets {
        ...AssignmentTargetFragment
      }
      member {
        ...MemberFragment
      }
      memberId
      group {
        ...GroupFragment
      }
      groupId
      groupExternalId
      assignedAt
      assignee {
        ...AdminFragment
      }
      assigner {
        ...AdminFragment
      }
      expiry
      groupInfo
      relayMessage
      reassignRelayMessage
      takenMessage
      app {
        ...AppFragment
      }
      appId
      etag
      tags
      inactivatedAt
      reassign
      history
      active
      inletGroup
      inletMessage
      inletGroupInfo
      inletGroupExternalId
      parentAssignment {
        ...AssignmentFragment
      }
      parentAssignmentId
      previousAssignment {
        ...AssignmentFragment
      }
      previousAssignmentId
      adminContactMessage
      redirectMemberToNode {
        ...RedirectFragment
      }
      label
      status
      meta
      isZendesk
      noGroupCreation
    }
    groups {
      edges {
        ...GroupEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    installedIntegrations {
      _id
      id
      app {
        ...AppFragment
      }
      appId
      description
      alias
      meta
      integration_id
      integrationKey
      integrationId
      features
      build
      etag
      createdAt
      updatedAt
      signature
      secret
      channel {
        ...ChannelFragment
      }
      integrationName
      integrationDescription
      latestPublished
      isLatestPublished
      icon
      author {
        ...AuthorFragment
      }
      authorId
      supportEmail
      readme
      termsAndConditionsUrl
      privacyPolicyUrl
      websiteUrl
      builderSidebarView {
        ...IntegrationViewFragment
      }
      dashboardView {
        ...IntegrationViewFragment
      }
      customView {
        ...IntegrationViewFragment
      }
      changelog
      scopes
      endpoints {
        ...IntegrationEndpointsFragment
      }
      resourceTemplates {
        ...ResourceTemplateFragment
      }
      defaultResourceTemplate {
        ...ResourceTemplateFragment
      }
      hooks {
        ...HookFragment
      }
      functionString
      settingsView
      platformSettingsView
      settingsSchema
      settingsValidatorFunctionString
      trees {
        ...IntegrationTreeFragment
      }
      supportTicketing
      version
      inbox {
        ...InboxIntegrationFragment
      }
    }
    installedIntegration {
      _id
      id
      app {
        ...AppFragment
      }
      appId
      description
      alias
      meta
      integration_id
      integrationKey
      integrationId
      features
      build
      etag
      createdAt
      updatedAt
      signature
      secret
      channel {
        ...ChannelFragment
      }
      integrationName
      integrationDescription
      latestPublished
      isLatestPublished
      icon
      author {
        ...AuthorFragment
      }
      authorId
      supportEmail
      readme
      termsAndConditionsUrl
      privacyPolicyUrl
      websiteUrl
      builderSidebarView {
        ...IntegrationViewFragment
      }
      dashboardView {
        ...IntegrationViewFragment
      }
      customView {
        ...IntegrationViewFragment
      }
      changelog
      scopes
      endpoints {
        ...IntegrationEndpointsFragment
      }
      resourceTemplates {
        ...ResourceTemplateFragment
      }
      defaultResourceTemplate {
        ...ResourceTemplateFragment
      }
      hooks {
        ...HookFragment
      }
      functionString
      settingsView
      platformSettingsView
      settingsSchema
      settingsValidatorFunctionString
      trees {
        ...IntegrationTreeFragment
      }
      supportTicketing
      version
      inbox {
        ...InboxIntegrationFragment
      }
    }
    integrations
    app {
      id
      _id
      createdAt
      updatedAt
      name
      description
      inlets {
        ...ChannelFragment
      }
      outlets {
        ...ChannelFragment
      }
      meta
      integrations
      activated
      teamMembers {
        ...TeamMemberFragment
      }
      dataSources {
        ...DataSourceFragment
      }
      dataSource {
        ...DataSourceFragment
      }
      pairs {
        ...PairFragment
      }
      managedBy {
        ...PartnerFragment
      }
      managementType
      etag
    }
    userContext
    channels {
      edges {
        ...ChannelEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    tree {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    whatsAppFile {
      ok
      err_code
      err
      url
    }
    whatsAppTemplate {
      edges {
        ...WhatsAppMessageTemplateEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    postCommentAnalyticsOverview {
      edges {
        ...PostCommentAnalyticsOverviewEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    nlpAnalyticsOverview {
      edges {
        ...NLPAnalyticsCounterEdgeFragment
      }
      total_no_of_nlp_analytics
      pageInfo {
        ...PageInfoFragment
      }
    }
    analyticsCustomEventOverviewDateHistogram {
      edges {
        ...AnalyticsCustomEventCounterEdgeTBFragment
      }
      total_no_of_analytics
      pageInfo {
        ...PageInfoFragment
      }
    }
    analyticsCustomEventOverviewTable {
      edges {
        ...AnalyticsCustomEventCounterEdgeRDFragment
      }
      total_no_of_analytics
      pageInfo {
        ...PageInfoFragment
      }
    }
    dailyActiveMemberOverview {
      data {
        ...DailyActiveMemberRowFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    activeMemberCounter {
      data {
        ...ActiveMemberCounterFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
      total_no_of_member
      total_no_of_comment_member
    }
    newMemberCounter {
      data {
        ...NewMemberCounterFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
      total_no_of_member
      total_no_of_comment_member
    }
    actions {
      edges {
        ...ActionEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    audiences {
      edges {
        ...AudienceEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    conditions {
      edges {
        ...ConditionEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    localeGroups {
      edges {
        ...LocaleGroupEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    nodes {
      edges {
        ...NodeObjectEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    priorityGroups {
      edges {
        ...PriorityGroupEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    responses {
      edges {
        ...ResponseEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    subscriptionPushes {
      edges {
        ...SubscriptionPushEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    trees {
      edges {
        ...TreeEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    triggers {
      edges {
        ...TriggerEdgeFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    file {
      fileId
      fileType
      url
      size
    }
    chat {
      id
      _id
      createdAt
      updatedAt
      sentAt
      readAt
      deliveredAt
      deletedAt
      group {
        ...GroupFragment
      }
      assignment {
        ...AssignmentFragment
      }
      messageEvent
      from
      member {
        ...MemberFragment
      }
      memberId
      admin {
        ...AdminFragment
      }
      errors
      failedAt
      platform
      channel {
        ...ChannelFragment
      }
      channelId
      app {
        ...AppFragment
      }
      appId
      tags
      meta
      etag
      isMultipleParty
    }
    backgroundTask {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      type
      message
      status
      data
      meta
      runAt
      endAt
      etag
    }
  }
}
Variables
{"appId": "4"}
Response
{
  "data": {
    "apiViewer": {
      "id": "4",
      "_id": 4,
      "distinctDataSourceData": {},
      "fetchDataSourceData": {},
      "fetchGeoNearDataSourceData": {},
      "memberRaw": {},
      "member": Member,
      "members": MemberConnection,
      "admins": AdminConnection,
      "channel": Channel,
      "conversationHistory": ChatConnection,
      "assignments": AssignmentConnection,
      "assignment": Assignment,
      "groups": GroupConnection,
      "installedIntegrations": [AppIntegration],
      "installedIntegration": AppIntegration,
      "integrations": {},
      "app": App,
      "userContext": {},
      "channels": ChannelConnection,
      "tree": Tree,
      "whatsAppFile": WhatsAppFileUrl,
      "whatsAppTemplate": WhatsAppMessageTemplateConnection,
      "postCommentAnalyticsOverview": PostCommentAnalyticsOverviewConnection,
      "nlpAnalyticsOverview": NLPAnalyticsCounterConnection,
      "analyticsCustomEventOverviewDateHistogram": AnalyticsCustomEventCounterConnectionTB,
      "analyticsCustomEventOverviewTable": AnalyticsCustomEventCounterConnectionRD,
      "dailyActiveMemberOverview": DailyActiveMemberOverviewPayload,
      "activeMemberCounter": ActiveMemberCounterConnection,
      "newMemberCounter": NewMemberCounterConnection,
      "actions": ActionConnection,
      "audiences": AudienceConnection,
      "conditions": ConditionConnection,
      "localeGroups": LocaleGroupConnection,
      "nodes": NodeObjectConnection,
      "priorityGroups": PriorityGroupConnection,
      "responses": ResponseConnection,
      "subscriptionPushes": SubscriptionPushConnection,
      "trees": TreeConnection,
      "triggers": TriggerConnection,
      "file": RetrieveFilePayload,
      "chat": Chat,
      "backgroundTask": BackgroundTask
    }
  }
}

user

Response

Returns a User

Example

Query
query User {
  user {
    id
    _id
    createdAt
    updatedAt
    apps {
      appId
      app {
        ...AppFragment
      }
      acls
      default
      roles {
        ...RoleFragment
      }
    }
    partners {
      partnerId
      partner {
        ...PartnerFragment
      }
      acls
      default
      roles {
        ...RoleFragment
      }
    }
    firstName
    lastName
    fullName
    profilePic
    ownRoles {
      id
      _id
      createdAt
      updatedAt
      name
      acls
      app {
        ...AppFragment
      }
      system
      tags
      etag
    }
    acls
    email {
      email
      emails {
        ...EmailFragment
      }
      verified
    }
    meta
    tags
    platformCred {
      fbUserId
    }
    sessionMeta
    preferences {
      recentTrees {
        ...TreeFragment
      }
      recentTreeIds
    }
    etag
    stripeProducts
  }
}
Response
{
  "data": {
    "user": {
      "id": 4,
      "_id": "4",
      "createdAt": {},
      "updatedAt": {},
      "apps": [UserAppConfig],
      "partners": [UserPartnerConfig],
      "firstName": "xyz789",
      "lastName": "xyz789",
      "fullName": "xyz789",
      "profilePic": "abc123",
      "ownRoles": [Role],
      "acls": ["xyz789"],
      "email": EmailCred,
      "meta": {},
      "tags": ["abc123"],
      "platformCred": PlatformCred,
      "sessionMeta": {},
      "preferences": UserPreferences,
      "etag": 4,
      "stripeProducts": {}
    }
  }
}

Mutations

Agenda

createAgenda

Description

A function to create agenda.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "agenda:create"]

Response

Returns a CreateAgendaPayload

Arguments
Name Description
input - CreateAgendaInput!

Example

Query
mutation CreateAgenda($input: CreateAgendaInput!) {
  createAgenda(input: $input) {
    agenda {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      member {
        ...MemberFragment
      }
      memberId
      channel {
        ...ChannelFragment
      }
      channelId
      responses
      tree {
        ...TreeFragment
      }
      treeId
      node {
        ...NodeObjectFragment
      }
      nodeCompositeId
      nextRunAt
      completed
      lastRunAt
      pattern
      runUntil
      type
      priority
      subscriptionPush {
        ...AgendaSubscriptionPushConfigFragment
      }
      tag
      meta
      etag
    }
    agendaRaw
    clientMutationId
  }
}
Variables
{"input": CreateAgendaInput}
Response
{
  "data": {
    "createAgenda": {
      "agenda": Agenda,
      "agendaRaw": {},
      "clientMutationId": "4"
    }
  }
}

updateAgenda

Description

A function to update agenda.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "agenda:update"]

Response

Returns an UpdateAgendaPayload

Arguments
Name Description
input - UpdateAgendaInput!

Example

Query
mutation UpdateAgenda($input: UpdateAgendaInput!) {
  updateAgenda(input: $input) {
    agenda {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      member {
        ...MemberFragment
      }
      memberId
      channel {
        ...ChannelFragment
      }
      channelId
      responses
      tree {
        ...TreeFragment
      }
      treeId
      node {
        ...NodeObjectFragment
      }
      nodeCompositeId
      nextRunAt
      completed
      lastRunAt
      pattern
      runUntil
      type
      priority
      subscriptionPush {
        ...AgendaSubscriptionPushConfigFragment
      }
      tag
      meta
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdateAgendaInput}
Response
{
  "data": {
    "updateAgenda": {
      "agenda": Agenda,
      "clientMutationId": "4"
    }
  }
}

deleteAgenda

Description

A function to delete agenda.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "agenda:delete"]

Response

Returns a DeleteAgendaPayload

Arguments
Name Description
input - DeleteAgendaInput!

Example

Query
mutation DeleteAgenda($input: DeleteAgendaInput!) {
  deleteAgenda(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteAgendaInput}
Response
{
  "data": {
    "deleteAgenda": {
      "clientMutationId": "4"
    }
  }
}

App Integration

putAppIntegration

No longer supported
Description

A function to put app integration. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "integration:create"]

Response

Returns a PutAppIntegrationPayload

Arguments
Name Description
input - PutAppIntegrationInput!

Example

Query
mutation PutAppIntegration($input: PutAppIntegrationInput!) {
  putAppIntegration(input: $input) {
    app {
      id
      _id
      createdAt
      updatedAt
      name
      description
      inlets {
        ...ChannelFragment
      }
      outlets {
        ...ChannelFragment
      }
      meta
      integrations
      activated
      teamMembers {
        ...TeamMemberFragment
      }
      dataSources {
        ...DataSourceFragment
      }
      dataSource {
        ...DataSourceFragment
      }
      pairs {
        ...PairFragment
      }
      managedBy {
        ...PartnerFragment
      }
      managementType
      etag
    }
    appId
    ok
    err_code
    err
    integrationId
    clientMutationId
  }
}
Variables
{"input": PutAppIntegrationInput}
Response
{
  "data": {
    "putAppIntegration": {
      "app": App,
      "appId": 4,
      "ok": 123,
      "err_code": 123,
      "err": "xyz789",
      "integrationId": 4,
      "clientMutationId": 4
    }
  }
}

updateAppIntegration

No longer supported
Description

A function to update app integration. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "integration:update"]

Response

Returns an UpdateAppIntegrationPayload

Arguments
Name Description
input - UpdateAppIntegrationInput!

Example

Query
mutation UpdateAppIntegration($input: UpdateAppIntegrationInput!) {
  updateAppIntegration(input: $input) {
    app {
      id
      _id
      createdAt
      updatedAt
      name
      description
      inlets {
        ...ChannelFragment
      }
      outlets {
        ...ChannelFragment
      }
      meta
      integrations
      activated
      teamMembers {
        ...TeamMemberFragment
      }
      dataSources {
        ...DataSourceFragment
      }
      dataSource {
        ...DataSourceFragment
      }
      pairs {
        ...PairFragment
      }
      managedBy {
        ...PartnerFragment
      }
      managementType
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdateAppIntegrationInput}
Response
{
  "data": {
    "updateAppIntegration": {
      "app": App,
      "clientMutationId": "4"
    }
  }
}

updateAppIntegrationMeta

Description

A function to update App Integration Meta.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "appIntegration:update"]

Response

Returns an UpdateAppIntegrationMetaPayload

Arguments
Name Description
input - UpdateAppIntegrationMetaInput!

Example

Query
mutation UpdateAppIntegrationMeta($input: UpdateAppIntegrationMetaInput!) {
  updateAppIntegrationMeta(input: $input) {
    appIntegration {
      _id
      id
      app {
        ...AppFragment
      }
      appId
      description
      alias
      meta
      integration_id
      integrationKey
      integrationId
      features
      build
      etag
      createdAt
      updatedAt
      signature
      secret
      channel {
        ...ChannelFragment
      }
      integrationName
      integrationDescription
      latestPublished
      isLatestPublished
      icon
      author {
        ...AuthorFragment
      }
      authorId
      supportEmail
      readme
      termsAndConditionsUrl
      privacyPolicyUrl
      websiteUrl
      builderSidebarView {
        ...IntegrationViewFragment
      }
      dashboardView {
        ...IntegrationViewFragment
      }
      customView {
        ...IntegrationViewFragment
      }
      changelog
      scopes
      endpoints {
        ...IntegrationEndpointsFragment
      }
      resourceTemplates {
        ...ResourceTemplateFragment
      }
      defaultResourceTemplate {
        ...ResourceTemplateFragment
      }
      hooks {
        ...HookFragment
      }
      functionString
      settingsView
      platformSettingsView
      settingsSchema
      settingsValidatorFunctionString
      trees {
        ...IntegrationTreeFragment
      }
      supportTicketing
      version
      inbox {
        ...InboxIntegrationFragment
      }
    }
    clientMutationId
  }
}
Variables
{"input": UpdateAppIntegrationMetaInput}
Response
{
  "data": {
    "updateAppIntegrationMeta": {
      "appIntegration": AppIntegration,
      "clientMutationId": "4"
    }
  }
}

Boradcast

createAudience

Description

A function to create audience.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "audience:create"]

Response

Returns a CreateAudiencePayload

Arguments
Name Description
input - CreateAudienceInput!

Example

Query
mutation CreateAudience($input: CreateAudienceInput!) {
  createAudience(input: $input) {
    audience {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      filter {
        ...AudienceFilterFragment
      }
      channel {
        ...ChannelFragment
      }
      channelId
      tags
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateAudienceInput}
Response
{
  "data": {
    "createAudience": {
      "audience": Audience,
      "clientMutationId": "4"
    }
  }
}

createRetryAudience

Description

A function to create retry audience from subscription push.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "audience:create"]

Response

Returns a CreateRetryAudiencePayload

Arguments
Name Description
input - CreateRetryAudienceInput!

Example

Query
mutation CreateRetryAudience($input: CreateRetryAudienceInput!) {
  createRetryAudience(input: $input) {
    audiences {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      filter {
        ...AudienceFilterFragment
      }
      channel {
        ...ChannelFragment
      }
      channelId
      tags
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateRetryAudienceInput}
Response
{
  "data": {
    "createRetryAudience": {
      "audiences": [Audience],
      "clientMutationId": "4"
    }
  }
}

updateAudience

Description

A function to update audience.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "audience:update"]

Response

Returns an UpdateAudiencePayload

Arguments
Name Description
input - UpdateAudienceInput!

Example

Query
mutation UpdateAudience($input: UpdateAudienceInput!) {
  updateAudience(input: $input) {
    audience {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      filter {
        ...AudienceFilterFragment
      }
      channel {
        ...ChannelFragment
      }
      channelId
      tags
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdateAudienceInput}
Response
{
  "data": {
    "updateAudience": {
      "audience": Audience,
      "clientMutationId": 4
    }
  }
}

deleteAudience

Description

A function to delete audience.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "audience:delete"]

Response

Returns a DeleteAudiencePayload

Arguments
Name Description
input - DeleteAudienceInput!

Example

Query
mutation DeleteAudience($input: DeleteAudienceInput!) {
  deleteAudience(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteAudienceInput}
Response
{"data": {"deleteAudience": {"clientMutationId": 4}}}

createSubscriptionPush

Description

A function to create subscription push.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "push:create"]

Response

Returns a CreateSubscriptionPushPayload

Arguments
Name Description
input - CreateSubscriptionPushInput!

Example

Query
mutation CreateSubscriptionPush($input: CreateSubscriptionPushInput!) {
  createSubscriptionPush(input: $input) {
    subscriptionPush {
      id
      _id
      createdAt
      updatedAt
      name
      description
      messages
      messagesHydrated {
        ...MessageFragment
      }
      app {
        ...AppFragment
      }
      appId
      sent
      sentCount
      read
      readCount
      interacted
      interactedCount
      tags
      agendaMeta
      fbMessageTag
      fbOTNTags
      errors {
        ...SubscriptionPushErrorFragment
      }
      errorStats {
        ...SubscriptionPushErrorStatsFragment
      }
      includeAudiences {
        ...AudienceFragment
      }
      excludeAudiences {
        ...AudienceFragment
      }
      filter {
        ...AudienceFilterFragment
      }
      memberIds
      memberCount
      members {
        ...MemberConnectionFragment
      }
      scheduleAt
      sentStart
      sentEnd
      agendas {
        ...AgendaFragment
      }
      priority
      parentSubscriptionPush {
        ...SubscriptionPushFragment
      }
      parentSubscriptionPushId
      childSubscriptionPushes {
        ...SubscriptionPushFragment
      }
      childSubscriptionPushIds
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateSubscriptionPushInput}
Response
{
  "data": {
    "createSubscriptionPush": {
      "subscriptionPush": SubscriptionPush,
      "clientMutationId": 4
    }
  }
}

updateSubscriptionPush

Description

A function to create subscription push.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "push:update"]

Response

Returns an UpdateSubscriptionPushPayload

Arguments
Name Description
input - UpdateSubscriptionPushInput!

Example

Query
mutation UpdateSubscriptionPush($input: UpdateSubscriptionPushInput!) {
  updateSubscriptionPush(input: $input) {
    subscriptionPush {
      id
      _id
      createdAt
      updatedAt
      name
      description
      messages
      messagesHydrated {
        ...MessageFragment
      }
      app {
        ...AppFragment
      }
      appId
      sent
      sentCount
      read
      readCount
      interacted
      interactedCount
      tags
      agendaMeta
      fbMessageTag
      fbOTNTags
      errors {
        ...SubscriptionPushErrorFragment
      }
      errorStats {
        ...SubscriptionPushErrorStatsFragment
      }
      includeAudiences {
        ...AudienceFragment
      }
      excludeAudiences {
        ...AudienceFragment
      }
      filter {
        ...AudienceFilterFragment
      }
      memberIds
      memberCount
      members {
        ...MemberConnectionFragment
      }
      scheduleAt
      sentStart
      sentEnd
      agendas {
        ...AgendaFragment
      }
      priority
      parentSubscriptionPush {
        ...SubscriptionPushFragment
      }
      parentSubscriptionPushId
      childSubscriptionPushes {
        ...SubscriptionPushFragment
      }
      childSubscriptionPushIds
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdateSubscriptionPushInput}
Response
{
  "data": {
    "updateSubscriptionPush": {
      "subscriptionPush": SubscriptionPush,
      "clientMutationId": 4
    }
  }
}

deleteSubscriptionPush

Description

A function to create subscription push.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "push:delete"]

Response

Returns a DeleteSubscriptionPushPayload

Arguments
Name Description
input - DeleteSubscriptionPushInput!

Example

Query
mutation DeleteSubscriptionPush($input: DeleteSubscriptionPushInput!) {
  deleteSubscriptionPush(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteSubscriptionPushInput}
Response
{"data": {"deleteSubscriptionPush": {"clientMutationId": 4}}}

Channel

createChannel

Description

A function to create channel.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "channel:createChannel"]

Response

Returns a CreateChannelPayload

Arguments
Name Description
input - CreateChannelInput!

Example

Query
mutation CreateChannel($input: CreateChannelInput!) {
  createChannel(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": CreateChannelInput}
Response
{
  "data": {
    "createChannel": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateChannel

Description

A function to update channel.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "channel:updateAvailabilities", "channel:updateBasicInfo"]

Input params scope
                      
                      "on"
                      

scope: ["api:admin", "channel:updateAvailabilities"]

"name"

scope: ["api:admin", "channel:updateBasicInfo"]

"description"

scope: ["api:admin", "channel:updateBasicInfo"]

"tags"

scope: ["api:admin", "channel:updateBasicInfo"]

"meta"

scope: ["api:admin", "channel:updateBasicInfo"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelInput!

Example

Query
mutation UpdateChannel($input: UpdateChannelInput!) {
  updateChannel(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelInput}
Response
{
  "data": {
    "updateChannel": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

deleteChannel

Description

A function to delete a channel.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "channel:deleteChannel"]

Response

Returns a DeleteChannelPayload

Arguments
Name Description
input - DeleteChannelInput!

Example

Query
mutation DeleteChannel($input: DeleteChannelInput!) {
  deleteChannel(input: $input) {
    error {
      name
      code
      message
    }
    forceRequest
    errorMessage
    errors {
      name
      code
      message
      meta
    }
    clientMutationId
  }
}
Variables
{"input": DeleteChannelInput}
Response
{
  "data": {
    "deleteChannel": {
      "error": GenericError,
      "forceRequest": true,
      "errorMessage": "xyz789",
      "errors": [endpointError],
      "clientMutationId": "4"
    }
  }
}

unsubscribeChannel

Description

A function to unsubscribe a channel.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "channel:Unsubscribe"]

Response

Returns an UnsubscribeChannelPayload

Arguments
Name Description
input - UnsubscribeChannelInput!

Example

Query
mutation UnsubscribeChannel($input: UnsubscribeChannelInput!) {
  unsubscribeChannel(input: $input) {
    error {
      name
      code
      message
    }
    forceRequest
    errorMessage
    errors {
      name
      code
      message
      meta
    }
    clientMutationId
  }
}
Variables
{"input": UnsubscribeChannelInput}
Response
{
  "data": {
    "unsubscribeChannel": {
      "error": GenericError,
      "forceRequest": false,
      "errorMessage": "abc123",
      "errors": [endpointError],
      "clientMutationId": "4"
    }
  }
}

subscribeChannel

Description

A function to subscribe channel from platform integration

rate limit

10 call(s) per app per mintue

scope

["api:admin", "channel:updatePlatformInfo"]

Response

Returns a SubscribeChannelPayload

Arguments
Name Description
input - SubscribeChannelInput!

Example

Query
mutation SubscribeChannel($input: SubscribeChannelInput!) {
  subscribeChannel(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": SubscribeChannelInput}
Response
{
  "data": {
    "subscribeChannel": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateChannelEnvironment

Description

A function to update channel environment.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateTreeSettings", "channel:updateBasicInfo", "channel:updateAvailabilities", "channel:updateDetail"]

Input params scope
                      
                      "on"
                      

scope: ["api:admin", "channel:updateAvailabilities"]

"availability"

scope: ["api:admin", "channel:updateAvailabilities"]

"name"

scope: ["api:admin", "channel:updateBasicInfo"]

"hooks"

scope: ["api:admin", "channel:updateDetail"]

"webhooks"

scope: ["api:admin", "channel:updateDetail"]

"treeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"globalNodeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"offTreeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"offGlobalNodeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"livechatTreeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"livechatGlobalNodeIds"

scope: ["api:admin", "channel:updateTreeSettings"]

"coreVersion"

scope: ["api:admin", "channel:updateTreeSettings"]

"meta"

scope: ["api:admin", "channel:updateTreeSettings"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentInput!

Example

Query
mutation UpdateChannelEnvironment($input: UpdateChannelEnvironmentInput!) {
  updateChannelEnvironment(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelEnvironmentInput}
Response
{
  "data": {
    "updateChannelEnvironment": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

updateChannelEnvironmentHooks

Description

A function to update channel environment hooks.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateDetail"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentHooksInput!

Example

Query
mutation UpdateChannelEnvironmentHooks($input: UpdateChannelEnvironmentHooksInput!) {
  updateChannelEnvironmentHooks(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelEnvironmentHooksInput}
Response
{
  "data": {
    "updateChannelEnvironmentHooks": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateChannelEnvironmentWebhooks

Description

A function to update channel environment webhooks.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateDetail"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentWebhooksInput!

Example

Query
mutation UpdateChannelEnvironmentWebhooks($input: UpdateChannelEnvironmentWebhooksInput!) {
  updateChannelEnvironmentWebhooks(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelEnvironmentWebhooksInput}
Response
{
  "data": {
    "updateChannelEnvironmentWebhooks": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateChannelEnvironmentTreeGlobalNode

Description

A function to update channel environment trees and global nodes.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateTreeSettings"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentTreeGlobalNodeInput!

Example

Query
mutation UpdateChannelEnvironmentTreeGlobalNode($input: UpdateChannelEnvironmentTreeGlobalNodeInput!) {
  updateChannelEnvironmentTreeGlobalNode(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelEnvironmentTreeGlobalNodeInput}
Response
{
  "data": {
    "updateChannelEnvironmentTreeGlobalNode": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

updateChannelEnvironmentOffTreeGlobalNode

Description

A function to update channel environment off trees and global nodes.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateTreeSettings"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentOffTreeGlobalNodeInput!

Example

Query
mutation UpdateChannelEnvironmentOffTreeGlobalNode($input: UpdateChannelEnvironmentOffTreeGlobalNodeInput!) {
  updateChannelEnvironmentOffTreeGlobalNode(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelEnvironmentOffTreeGlobalNodeInput}
Response
{
  "data": {
    "updateChannelEnvironmentOffTreeGlobalNode": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

updateChannelEnvironmentLivechatTreeGlobalNode

Description

A function to update channel environment livechat trees and global nodes.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:updateTreeSettings"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - UpdateChannelEnvironmentLivechatTreeGlobalNodeInput!

Example

Query
mutation UpdateChannelEnvironmentLivechatTreeGlobalNode($input: UpdateChannelEnvironmentLivechatTreeGlobalNodeInput!) {
  updateChannelEnvironmentLivechatTreeGlobalNode(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{
  "input": UpdateChannelEnvironmentLivechatTreeGlobalNodeInput
}
Response
{
  "data": {
    "updateChannelEnvironmentLivechatTreeGlobalNode": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

createChannelEnvironment

Description

A function to create a new channel environment.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "channel:createEnvironment"]

Response

Returns an UpdateChannelPayload

Arguments
Name Description
input - CreateChannelEnvironmentInput!

Example

Query
mutation CreateChannelEnvironment($input: CreateChannelEnvironmentInput!) {
  createChannelEnvironment(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": CreateChannelEnvironmentInput}
Response
{
  "data": {
    "createChannelEnvironment": {
      "channel": Channel,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

deleteChannelEnvironment

Description

A function to delete a new channel environment.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "channel:deleteEnvironment"]

Response

Returns a DeleteChannelEnvironmentPayload

Arguments
Name Description
input - DeleteChannelEnvironmentInput!

Example

Query
mutation DeleteChannelEnvironment($input: DeleteChannelEnvironmentInput!) {
  deleteChannelEnvironment(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    forceRequest
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": DeleteChannelEnvironmentInput}
Response
{
  "data": {
    "deleteChannelEnvironment": {
      "channel": Channel,
      "forceRequest": true,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateChannelIncomingWebhooks

Description

rate limit 5 call(s) per app per mintue

scope

["api:admin", "channel:updateDetail"]

Arguments
Name Description
input - UpdateChannelIncomingWebhookInput!

Example

Query
mutation UpdateChannelIncomingWebhooks($input: UpdateChannelIncomingWebhookInput!) {
  updateChannelIncomingWebhooks(input: $input) {
    channel {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      type
      relayWebhooks
      webhooks
      verificationToken
      channelSecret
      info
      broadcastGroups {
        ...ChannelBroadcastGroupFragment
      }
      meta
      trees {
        ...TreeFragment
      }
      globalNodes {
        ...NodeObjectFragment
      }
      priorityGroups {
        ...ChannelPriorityGroupFragment
      }
      tags
      inletGroup
      etag
      on
      sendOutletMessageViaBot
      livechatAgendas
      liveChatAgendaObjects {
        ...LiveChatAgendaFragment
      }
      availability
      exclusiveLiveChat
      locked
      wabaStatus
      wabaError
      wabaInfo
      wabaIntegration {
        ...WABAIntegrationFragment
      }
      environment {
        ...ChannelEnvironmentFragment
      }
      environments {
        ...ChannelEnvironmentFragment
      }
      incomingWebhooks {
        ...ChannelIncomingWebhookFragment
      }
      archived
      archivedAt
      connected
    }
    clientMutationId
  }
}
Variables
{"input": UpdateChannelIncomingWebhookInput}
Response
{
  "data": {
    "updateChannelIncomingWebhooks": {
      "channel": Channel,
      "clientMutationId": 4
    }
  }
}

Priority Group

createPriorityGroup

Description

A function to create priority group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "priorityGroup:create"]

Response

Returns a CreatePriorityGroupPayload

Arguments
Name Description
input - CreatePriorityGroupInput!

Example

Query
mutation CreatePriorityGroup($input: CreatePriorityGroupInput!) {
  createPriorityGroup(input: $input) {
    priorityGroup {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      channel {
        ...ChannelFragment
      }
      members {
        ...MemberFragment
      }
      memberIds
      tags
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreatePriorityGroupInput}
Response
{
  "data": {
    "createPriorityGroup": {
      "priorityGroup": PriorityGroup,
      "clientMutationId": 4
    }
  }
}

updatePriorityGroup

Description

A function to update priority group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "priorityGroup:update"]

Response

Returns an UpdatePriorityGroupPayload

Arguments
Name Description
input - UpdatePriorityGroupInput!

Example

Query
mutation UpdatePriorityGroup($input: UpdatePriorityGroupInput!) {
  updatePriorityGroup(input: $input) {
    priorityGroup {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      channel {
        ...ChannelFragment
      }
      members {
        ...MemberFragment
      }
      memberIds
      tags
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdatePriorityGroupInput}
Response
{
  "data": {
    "updatePriorityGroup": {
      "priorityGroup": PriorityGroup,
      "clientMutationId": "4"
    }
  }
}

deletePriorityGroup

Description

A function to delete priority group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "priorityGroup:delete"]

Response

Returns a DeletePriorityGroupPayload

Arguments
Name Description
input - DeletePriorityGroupInput!

Example

Query
mutation DeletePriorityGroup($input: DeletePriorityGroupInput!) {
  deletePriorityGroup(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeletePriorityGroupInput}
Response
{
  "data": {
    "deletePriorityGroup": {
      "clientMutationId": "4"
    }
  }
}

Data Source

createDataSourceDoc

Description

A function to create datasource document.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:createDoc"]

Response

Returns a CreateDataSourceDocPayload

Arguments
Name Description
input - CreateDataSourceDocInput!

Example

Query
mutation CreateDataSourceDoc($input: CreateDataSourceDocInput!) {
  createDataSourceDoc(input: $input) {
    clientMutationId
    data
  }
}
Variables
{"input": CreateDataSourceDocInput}
Response
{"data": {"createDataSourceDoc": {"clientMutationId": 4, "data": {}}}}

updateDataSourceDoc

Description

A function to update datasource document (replace) by _id.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:updateDoc"]

Response

Returns an UpdateDataSourceDocPayload

Arguments
Name Description
input - UpdateDataSourceDocInput!

Example

Query
mutation UpdateDataSourceDoc($input: UpdateDataSourceDocInput!) {
  updateDataSourceDoc(input: $input) {
    clientMutationId
    data
  }
}
Variables
{"input": UpdateDataSourceDocInput}
Response
{
  "data": {
    "updateDataSourceDoc": {
      "clientMutationId": "4",
      "data": {}
    }
  }
}

deleteDataSourceDocs

Description

A function to delete datasource documents by _id.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:deleteDoc"]

Response

Returns a DeleteDataSourceDocsPayload

Arguments
Name Description
input - DeleteDataSourceDocsInput!

Example

Query
mutation DeleteDataSourceDocs($input: DeleteDataSourceDocsInput!) {
  deleteDataSourceDocs(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteDataSourceDocsInput}
Response
{"data": {"deleteDataSourceDocs": {"clientMutationId": 4}}}

importDataSource

Description

A function to import datasource documents.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:importDatasource"]

Response

Returns an ImportDataSourcePayload

Arguments
Name Description
input - ImportDataSourceInput!

Example

Query
mutation ImportDataSource($input: ImportDataSourceInput!) {
  importDataSource(input: $input) {
    clientMutationId
    data
  }
}
Variables
{"input": ImportDataSourceInput}
Response
{"data": {"importDataSource": {"clientMutationId": 4, "data": {}}}}

createDataSource

Description

A function to create datasource.

rate limit

20 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:createDatasource"]

Response

Returns a CreateDataSourcePayload

Arguments
Name Description
input - CreateDataSourceInput!

Example

Query
mutation CreateDataSource($input: CreateDataSourceInput!) {
  createDataSource(input: $input) {
    dataSource {
      name
      description
      collectionName
      shopifyIntegration
      data {
        ...DataSourceConnectionFragment
      }
      dataByQuery
    }
    clientMutationId
  }
}
Variables
{"input": CreateDataSourceInput}
Response
{
  "data": {
    "createDataSource": {
      "dataSource": DataSource,
      "clientMutationId": 4
    }
  }
}

updateDataSource

Description

A function to update datasource.

rate limit

20 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:updateDatasource"]

Response

Returns an UpdateDataSourcePayload

Arguments
Name Description
input - UpdateDataSourceInput!

Example

Query
mutation UpdateDataSource($input: UpdateDataSourceInput!) {
  updateDataSource(input: $input) {
    dataSource {
      name
      description
      collectionName
      shopifyIntegration
      data {
        ...DataSourceConnectionFragment
      }
      dataByQuery
    }
    clientMutationId
  }
}
Variables
{"input": UpdateDataSourceInput}
Response
{
  "data": {
    "updateDataSource": {
      "dataSource": DataSource,
      "clientMutationId": 4
    }
  }
}

deleteDataSource

Description

A function to delete datasource.

rate limit

20 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:deleteDatasource"]

Response

Returns a DeleteDataSourcePayload

Arguments
Name Description
input - DeleteDataSourceInput!

Example

Query
mutation DeleteDataSource($input: DeleteDataSourceInput!) {
  deleteDataSource(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteDataSourceInput}
Response
{
  "data": {
    "deleteDataSource": {
      "clientMutationId": "4"
    }
  }
}

upsertDataSourceDocs

Description

A function to upsert datasource document.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dataSource:createDoc", "dateSource:updateDoc"]

Response

Returns an UpsertDataSourceDocsPayload

Arguments
Name Description
input - UpsertDataSourceDocsInput!

Example

Query
mutation UpsertDataSourceDocs($input: UpsertDataSourceDocsInput!) {
  upsertDataSourceDocs(input: $input) {
    result
    clientMutationId
  }
}
Variables
{"input": UpsertDataSourceDocsInput}
Response
{
  "data": {
    "upsertDataSourceDocs": {
      "result": {},
      "clientMutationId": "4"
    }
  }
}

updateDataSourceDocs

Description

A function to update datasource document.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dateSource:updateDoc"]

Response

Returns an UpdateDataSourceDocsPayload

Arguments
Name Description
input - UpdateDataSourceDocsInput!

Example

Query
mutation UpdateDataSourceDocs($input: UpdateDataSourceDocsInput!) {
  updateDataSourceDocs(input: $input) {
    result
    clientMutationId
  }
}
Variables
{"input": UpdateDataSourceDocsInput}
Response
{"data": {"updateDataSourceDocs": {"result": {}, "clientMutationId": 4}}}

findAndModifyDataSourceDoc

Description

A function to find and modify datasource document.

Format: https://docs.mongodb.com/manual/reference/method/db.collection.findAndModify/

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api", "dateSource:updateDoc"]

Arguments
Name Description
input - FindAndModifyDataSourceDocInput!

Example

Query
mutation FindAndModifyDataSourceDoc($input: FindAndModifyDataSourceDocInput!) {
  findAndModifyDataSourceDoc(input: $input) {
    result
    clientMutationId
  }
}
Variables
{"input": FindAndModifyDataSourceDocInput}
Response
{
  "data": {
    "findAndModifyDataSourceDoc": {
      "result": {},
      "clientMutationId": "4"
    }
  }
}

aggregateDataSourceDocs

Description

A function to aggregate datasource documents.

Format: https://docs.mongodb.com/manual/core/aggregation-pipeline/

rate limit

30 call(s) per app per mintue

scope

["api:admin", "datasource:api"]

Response

Returns an AggregateDataSourceDocsPayload

Arguments
Name Description
input - AggregateDataSourceDocsInput!

Example

Query
mutation AggregateDataSourceDocs($input: AggregateDataSourceDocsInput!) {
  aggregateDataSourceDocs(input: $input) {
    result
    clientMutationId
  }
}
Variables
{"input": AggregateDataSourceDocsInput}
Response
{"data": {"aggregateDataSourceDocs": {"result": {}, "clientMutationId": 4}}}

Locale Group

createLocaleGroup

Description

A function to create locale group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "localeGroup:create"]

Response

Returns a CreateLocaleGroupPayload

Arguments
Name Description
input - CreateLocaleGroupInput!

Example

Query
mutation CreateLocaleGroup($input: CreateLocaleGroupInput!) {
  createLocaleGroup(input: $input) {
    localeGroup {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      locales
      name
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateLocaleGroupInput}
Response
{
  "data": {
    "createLocaleGroup": {
      "localeGroup": LocaleGroup,
      "clientMutationId": 4
    }
  }
}

updateLocaleGroup

Description

A function to update locale group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "localeGroup:update"]

Response

Returns an UpdateLocaleGroupPayload

Arguments
Name Description
input - UpdateLocaleGroupInput!

Example

Query
mutation UpdateLocaleGroup($input: UpdateLocaleGroupInput!) {
  updateLocaleGroup(input: $input) {
    localeGroup {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      locales
      name
      etag
    }
    clientMutationId
  }
}
Variables
{"input": UpdateLocaleGroupInput}
Response
{
  "data": {
    "updateLocaleGroup": {
      "localeGroup": LocaleGroup,
      "clientMutationId": 4
    }
  }
}

deleteLocaleGroup

Description

A function to delete locale group.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "localeGroup:delete"]

Response

Returns a DeleteLocaleGroupPayload

Arguments
Name Description
input - DeleteLocaleGroupInput!

Example

Query
mutation DeleteLocaleGroup($input: DeleteLocaleGroupInput!) {
  deleteLocaleGroup(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteLocaleGroupInput}
Response
{"data": {"deleteLocaleGroup": {"clientMutationId": 4}}}

Media Library

Members

createMember

Description

A function to create member.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:create"]

Response

Returns a CreateMemberPayload

Arguments
Name Description
input - CreateMemberInput!

Example

Query
mutation CreateMember($input: CreateMemberInput!) {
  createMember(input: $input) {
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateMemberInput}
Response
{
  "data": {
    "createMember": {
      "member": Member,
      "clientMutationId": "4"
    }
  }
}

updateMember

Description

A function to update member.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "member:update", "member:updateProfile", "member:updateBotMeta", "member:updateMeta"]

Input params scope
                      
                      "profile"
                      

scope: ["api:admin", "member:update", "member:updateProfile"]

"tags"

scope: ["api:admin", "member:update", "member:updateProfile"]

"meta"

scope: ["api:admin", "member:update", "member:updateMeta"]

"botMeta"

scope: ["api:admin", "member:update", "member:updateBotMeta"]

"admin"

scope: ["api:admin", "member:update"]

"group"

scope: ["api:admin", "member:update"]

"firstName"

scope: ["api:admin", "member:update", "member:updateProfile"]

"lastName"

scope: ["api:admin", "member:update", "member:updateProfile"]

"profilePic"

scope: ["api:admin", "member:update", "member:updateProfile"]

"gender"

scope: ["api:admin", "member:update", "member:updateProfile"]

"locale"

scope: ["api:admin", "member:update", "member:updateProfile"]

"email"

scope: ["api:admin", "member:update", "member:updateProfile"]

"profilePicString"

scope: ["api:admin", "member:update", "member:updateProfile"]

Response

Returns an UpdateMemberPayload

Arguments
Name Description
input - UpdateMemberInput!

Example

Query
mutation UpdateMember($input: UpdateMemberInput!) {
  updateMember(input: $input) {
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    memberRaw
    clientMutationId
  }
}
Variables
{"input": UpdateMemberInput}
Response
{
  "data": {
    "updateMember": {
      "member": Member,
      "memberRaw": {},
      "clientMutationId": "4"
    }
  }
}

deleteMember

Description

A function to permanently delete a member. The conversation history of this member will also be deleted.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:delete"]

Response

Returns a DeleteMemberPayload

Arguments
Name Description
input - DeleteMemberInput!

Example

Query
mutation DeleteMember($input: DeleteMemberInput!) {
  deleteMember(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteMemberInput}
Response
{
  "data": {
    "deleteMember": {
      "clientMutationId": "4"
    }
  }
}

deleteMembers

Description

A function to permanently delete members in batch with time filter. The conversation history of these members will also be deleted. NOTE: if no criteria / createdAtFrom / createdAtTo / updatedAtFrom / updatedAtTo is specified, ALL members of the app will be deleted.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:delete"]

Response

Returns a DeleteMembersPayload

Arguments
Name Description
input - DeleteMembersInput!

Example

Query
mutation DeleteMembers($input: DeleteMembersInput!) {
  deleteMembers(input: $input) {
    backgroundTask {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      type
      message
      status
      data
      meta
      runAt
      endAt
      etag
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": DeleteMembersInput}
Response
{
  "data": {
    "deleteMembers": {
      "backgroundTask": BackgroundTask,
      "error": GenericError,
      "clientMutationId": 4
    }
  }
}

updateMembers

Description

A function to update members.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:update"]

Response

Returns an UpdateMembersPayload

Arguments
Name Description
input - UpdateMembersInput!

Example

Query
mutation UpdateMembers($input: UpdateMembersInput!) {
  updateMembers(input: $input) {
    result
    clientMutationId
  }
}
Variables
{"input": UpdateMembersInput}
Response
{"data": {"updateMembers": {"result": {}, "clientMutationId": 4}}}

mergeMembersByExternalIds

Description

A function to merge members using two externalIds.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:merge"]

Arguments
Name Description
input - MergeMembersByExternalIdsInput!

Example

Query
mutation MergeMembersByExternalIds($input: MergeMembersByExternalIdsInput!) {
  mergeMembersByExternalIds(input: $input) {
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    action
    clientMutationId
  }
}
Variables
{"input": MergeMembersByExternalIdsInput}
Response
{
  "data": {
    "mergeMembersByExternalIds": {
      "member": Member,
      "action": "xyz789",
      "clientMutationId": 4
    }
  }
}

exportChats

Description

A function to export chat history (max return 1000 rows).

rate limit

5 call(s) per app per mintue

scope

["api:admin", "conversation:read"]

Response

Returns an ExportChatsPayload

Arguments
Name Description
input - ExportChatsInput!

Example

Query
mutation ExportChats($input: ExportChatsInput!) {
  exportChats(input: $input) {
    url
    urls
  }
}
Variables
{"input": ExportChatsInput}
Response
{
  "data": {
    "exportChats": {
      "url": "xyz789",
      "urls": ["xyz789"]
    }
  }
}

importMembers

Description

A function to import member.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:import"]

Response

Returns an ImportMembersPayload

Arguments
Name Description
input - ImportMembersInput!

Example

Query
mutation ImportMembers($input: ImportMembersInput!) {
  importMembers(input: $input) {
    clientMutationId
    backgroundTask {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      type
      message
      status
      data
      meta
      runAt
      endAt
      etag
    }
  }
}
Variables
{"input": ImportMembersInput}
Response
{
  "data": {
    "importMembers": {
      "clientMutationId": "4",
      "backgroundTask": BackgroundTask
    }
  }
}

toggleLiveChat

Description

A function to toggle member live chat state.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "member:updateDetails", "member:ToggleLiveChat"]

Response

Returns a toggleLiveChatPayload

Arguments
Name Description
input - toggleLiveChatInput!

Example

Query
mutation ToggleLiveChat($input: toggleLiveChatInput!) {
  toggleLiveChat(input: $input) {
    ok
    err_code
    err
    memberId
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    clientMutationId
  }
}
Variables
{"input": toggleLiveChatInput}
Response
{
  "data": {
    "toggleLiveChat": {
      "ok": 123,
      "err_code": 987,
      "err": "abc123",
      "memberId": "4",
      "member": Member,
      "clientMutationId": "4"
    }
  }
}

addMemberTags

Description

A function to add tags to member.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "member:updateDetails", "member:write"]

Response

Returns a ModifyMemberTagsPayload

Arguments
Name Description
input - ModifyMemberTagsInput!

Example

Query
mutation AddMemberTags($input: ModifyMemberTagsInput!) {
  addMemberTags(input: $input) {
    ok
    err_code
    err
    memberId
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    clientMutationId
  }
}
Variables
{"input": ModifyMemberTagsInput}
Response
{
  "data": {
    "addMemberTags": {
      "ok": 123,
      "err_code": 123,
      "err": "abc123",
      "memberId": 4,
      "member": Member,
      "clientMutationId": "4"
    }
  }
}

removeMemberTags

Description

A function to remove tags to member.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "member:updateDetails", "member:write"]

Response

Returns a ModifyMemberTagsPayload

Arguments
Name Description
input - ModifyMemberTagsInput!

Example

Query
mutation RemoveMemberTags($input: ModifyMemberTagsInput!) {
  removeMemberTags(input: $input) {
    ok
    err_code
    err
    memberId
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    clientMutationId
  }
}
Variables
{"input": ModifyMemberTagsInput}
Response
{
  "data": {
    "removeMemberTags": {
      "ok": 123,
      "err_code": 987,
      "err": "xyz789",
      "memberId": "4",
      "member": Member,
      "clientMutationId": "4"
    }
  }
}

batchUpdateMember

Description

A function to batch update member.

rate limit

10 call(s) per app per mintue

Array Size Limit max
                      
                      Input params array size limit
                      
                      "memberIds"
                      

max: 100

"externalIds"

max: 100

"tags"

max: 10

scope

["api:admin", "member:update", "member:updateProfile"]

Input params scope
                      
                      "tags"
                      

scope: ["api:admin", "member:update", "member:updateProfile"]

"locale"

scope: ["api:admin", "member:update", "member:updateProfile"]

"gender"

scope: ["api:admin", "member:update", "member:updateProfile"]

Response

Returns a BatchUpdateMemberPayload

Arguments
Name Description
input - BatchUpdateMemberInput!

Example

Query
mutation BatchUpdateMember($input: BatchUpdateMemberInput!) {
  batchUpdateMember(input: $input) {
    clientMutationId
  }
}
Variables
{"input": BatchUpdateMemberInput}
Response
{
  "data": {
    "batchUpdateMember": {
      "clientMutationId": "4"
    }
  }
}

batchCreateChat

Description

A function to batch update member.

Array Size Limit max
                      
                      Input params array size limit
                      
                      "chats"
                      

max: 80

scope

["api:admin", "chat:create"]

Response

Returns a BatchCreateChatPayload

Arguments
Name Description
input - BatchCreateChatInput!

Example

Query
mutation BatchCreateChat($input: BatchCreateChatInput!) {
  batchCreateChat(input: $input) {
    chatIds
    clientMutationId
  }
}
Variables
{"input": BatchCreateChatInput}
Response
{
  "data": {
    "batchCreateChat": {
      "chatIds": ["4"],
      "clientMutationId": 4
    }
  }
}

addNoteToMember

Description

rate limit 60 call(s) per app per mintue

scope

["api:admin", "member:manageNote"]

Input params scope
                      
                      "note"
                      

scope: ["api:admin", "note:create"]

Response

Returns an AddNoteToMemberPayload

Arguments
Name Description
input - AddNoteToMemberInput!

Example

Query
mutation AddNoteToMember($input: AddNoteToMemberInput!) {
  addNoteToMember(input: $input) {
    member {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      channel {
        ...ChannelFragment
      }
      channelId
      platform
      profile {
        ...MemberProfileFragment
      }
      inboxProfile {
        ...InboxMemberProfileFragment
      }
      tags
      meta
      botMeta {
        ...BotMetaFragment
      }
      externalId
      botId
      admin {
        ...AdminFragment
      }
      adminId
      group {
        ...GroupFragment
      }
      assignment
      fbId
      name
      firstName
      lastName
      profilePic
      gender
      customLocale
      locale
      email
      profilePicString
      inletGroup
      fbOTNTokens {
        ...FbOTNTokenFragment
      }
      notes {
        ...NoteFragment
      }
      etag
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": AddNoteToMemberInput}
Response
{
  "data": {
    "addNoteToMember": {
      "member": Member,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

updateNote

Description

rate limit 60 call(s) per app per mintue

scope

["api:admin", "note:update"]

Response

Returns an UpdateNotePayload

Arguments
Name Description
input - UpdateNoteInput!

Example

Query
mutation UpdateNote($input: UpdateNoteInput!) {
  updateNote(input: $input) {
    note {
      id
      _id
      content
      authorId
      createdAt
      updatedAt
      etag
    }
    error {
      name
      code
      message
    }
    clientMutationId
  }
}
Variables
{"input": UpdateNoteInput}
Response
{
  "data": {
    "updateNote": {
      "note": Note,
      "error": GenericError,
      "clientMutationId": "4"
    }
  }
}

Notification

createNotification

Description

A function to create notifiction for an app.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "notification:create"]

Response

Returns a CreateNotificationPayload

Arguments
Name Description
input - CreateNotificationInput

Example

Query
mutation CreateNotification($input: CreateNotificationInput) {
  createNotification(input: $input) {
    notification {
      id
      _id
      createdAt
      updatedAt
      app {
        ...AppFragment
      }
      appId
      type
      color
      title
      status
      message
      buttons {
        ...NotificationButtonFragment
      }
      backgroundTaskId
      linkTo
      new
      etag
    }
    clientMutationId
  }
}
Variables
{"input": CreateNotificationInput}
Response
{
  "data": {
    "createNotification": {
      "notification": Notification,
      "clientMutationId": 4
    }
  }
}

Tree

createTree

Description

A function to create tree.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:create"]

Response

Returns a CreateTreePayload

Arguments
Name Description
input - CreateTreeInput!

Example

Query
mutation CreateTree($input: CreateTreeInput!) {
  createTree(input: $input) {
    tree {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    clientMutationId
  }
}
Variables
{"input": CreateTreeInput}
Response
{
  "data": {
    "createTree": {"tree": Tree, "clientMutationId": 4}
  }
}

updateTree

Description

A function to update tree.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:updateBasicInfo", "tree:updateNodes", "tree:updateTreeSetting"]

Input params scope
                      
                      "name"
                      

scope: ["api:admin", "tree:updateBasicInfo", "botbuilder:manage"]

"description"

scope: ["api:admin", "tree:updateBasicInfo", "botbuilder:manage"]

"globalNodes"

scope: ["api:admin", "tree:updateNodes", "botbuilder:manage"]

"nodes"

scope: ["api:admin", "tree:updateNodes", "botbuilder:manage"]

"configMapSchema"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"configMap"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"type"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"templateTreeId"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"versionAlias"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"tags"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

"system"

scope: ["api:admin", "tree:updateTreeSetting", "botbuilder:manage"]

Response

Returns an UpdateTreePayload

Arguments
Name Description
input - UpdateTreeInput!

Example

Query
mutation UpdateTree($input: UpdateTreeInput!) {
  updateTree(input: $input) {
    tree {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    clientMutationId
  }
}
Variables
{"input": UpdateTreeInput}
Response
{
  "data": {
    "updateTree": {
      "tree": Tree,
      "clientMutationId": "4"
    }
  }
}

deleteTree

Description

A function to delete tree.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:delete"]

Response

Returns a DeleteTreePayload

Arguments
Name Description
input - DeleteTreeInput!

Example

Query
mutation DeleteTree($input: DeleteTreeInput!) {
  deleteTree(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteTreeInput}
Response
{"data": {"deleteTree": {"clientMutationId": 4}}}

importTrees

Description

A function to import tree.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:create", "node:create", "trigger:create", "condition:create", "action:create", "response:create", "localeGroup:create"]

Input params scope
                      
                      "trees"
                      

scope: ["api:admin", "botbuilder:manage", "tree:create"]

"nodes"

scope: ["api:admin", "botbuilder:manage", "node:create"]

"triggers"

scope: ["api:admin", "botbuilder:manage", "trigger:create"]

"conditions"

scope: ["api:admin", "botbuilder:manage", "condition:create"]

"actions"

scope: ["api:admin", "botbuilder:manage", "action:create"]

"responses"

scope: ["api:admin", "botbuilder:manage", "response:create"]

"localeGroups"

scope: ["api:admin", "botbuilder:manage", "localeGroup:create"]

Response

Returns an ImportTreesPayload

Arguments
Name Description
input - ImportTreesInput!

Example

Query
mutation ImportTrees($input: ImportTreesInput!) {
  importTrees(input: $input) {
    trees {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    uninstalledIntegrations {
      icon
      integrationName
      integrationId
      build
      version
      isPlatform
      private
    }
  }
}
Variables
{"input": ImportTreesInput}
Response
{
  "data": {
    "importTrees": {
      "trees": [Tree],
      "uninstalledIntegrations": [UninstalledIntegration]
    }
  }
}

batchCreateAppIntegrationForTree

Description

A function to install required integrations and then import tree.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:create", "node:create", "trigger:create", "condition:create", "action:create", "response:create", "localeGroup:create"]

Input params scope
                      
                      "trees"
                      

scope: ["api:admin", "botbuilder:manage", "tree:create"]

"nodes"

scope: ["api:admin", "botbuilder:manage", "node:create"]

"triggers"

scope: ["api:admin", "botbuilder:manage", "trigger:create"]

"conditions"

scope: ["api:admin", "botbuilder:manage", "condition:create"]

"actions"

scope: ["api:admin", "botbuilder:manage", "action:create"]

"responses"

scope: ["api:admin", "botbuilder:manage", "response:create"]

"localeGroups"

scope: ["api:admin", "botbuilder:manage", "localeGroup:create"]

Arguments
Name Description
input - BatchCreateAppIntegrationForTreeInput!

Example

Query
mutation BatchCreateAppIntegrationForTree($input: BatchCreateAppIntegrationForTreeInput!) {
  batchCreateAppIntegrationForTree(input: $input) {
    errors {
      error {
        ...endpointErrorFragment
      }
      integrationId
      build
    }
    trees {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    clientMutationId
  }
}
Variables
{"input": BatchCreateAppIntegrationForTreeInput}
Response
{
  "data": {
    "batchCreateAppIntegrationForTree": {
      "errors": [BatchCreateAppIntegrationError],
      "trees": [Tree],
      "clientMutationId": 4
    }
  }
}

duplicateTree

Description

A function to delete tree.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "tree:duplicate"]

Response

Returns a DuplicateTreePayload

Arguments
Name Description
input - DuplicateTreeInput!

Example

Query
mutation DuplicateTree($input: DuplicateTreeInput!) {
  duplicateTree(input: $input) {
    tree {
      id
      _id
      createdAt
      updatedAt
      name
      description
      app {
        ...AppFragment
      }
      appId
      globalNodes {
        ...NodeObjectFragment
      }
      globalNodeIds
      nodes {
        ...NodeObjectFragment
      }
      nodeIds
      workspace {
        ...WorkspaceFragment
      }
      version
      versionAlias
      ancestorTree {
        ...TreeFragment
      }
      siblingTrees {
        ...TreeFragment
      }
      tags
      stash {
        ...NodeObjectFragment
      }
      etag
      configMapSchema
      configMap
      type
      system
      templateTreeId
      templateTree {
        ...TreeFragment
      }
      locked
    }
    clientMutationId
  }
}
Variables
{"input": DuplicateTreeInput}
Response
{
  "data": {
    "duplicateTree": {
      "tree": Tree,
      "clientMutationId": "4"
    }
  }
}

exportTrees

Description

A function to export trees.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "tree:export"]

Response

Returns an ExportTreesPayload

Arguments
Name Description
input - ExportTreesInput!

Example

Query
mutation ExportTrees($input: ExportTreesInput!) {
  exportTrees(input: $input) {
    url
    trees
    nodes
    triggers
    conditions
    actions
    responses
    localeGroups
  }
}
Variables
{"input": ExportTreesInput}
Response
{
  "data": {
    "exportTrees": {
      "url": "xyz789",
      "trees": [{}],
      "nodes": [{}],
      "triggers": [{}],
      "conditions": [{}],
      "actions": [{}],
      "responses": [{}],
      "localeGroups": [{}]
    }
  }
}

Action

createAction

Description

A function to create action.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "condition:create"]

Response

Returns a CreateActionPayload

Arguments
Name Description
input - CreateActionInput!

Example

Query
mutation CreateAction($input: CreateActionInput!) {
  createAction(input: $input) {
    action {
      id
      _id
      createdAt
      updatedAt
      name
      description
      functionString
      app {
        ...AppFragment
      }
      etag
      tags
      history
    }
    clientMutationId
  }
}
Variables
{"input": CreateActionInput}
Response
{
  "data": {
    "createAction": {
      "action": Action,
      "clientMutationId": "4"
    }
  }
}

updateAction

Description

A function to update action.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "condition:update"]

Response

Returns an UpdateActionPayload

Arguments
Name Description
input - UpdateActionInput!

Example

Query
mutation UpdateAction($input: UpdateActionInput!) {
  updateAction(input: $input) {
    action {
      id
      _id
      createdAt
      updatedAt
      name
      description
      functionString
      app {
        ...AppFragment
      }
      etag
      tags
      history
    }
    clientMutationId
  }
}
Variables
{"input": UpdateActionInput}
Response
{
  "data": {
    "updateAction": {
      "action": Action,
      "clientMutationId": "4"
    }
  }
}

deleteAction

Description

A function to delete action.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:manage", "condition:delete"]

Response

Returns a DeleteActionPayload

Arguments
Name Description
input - DeleteActionInput!

Example

Query
mutation DeleteAction($input: DeleteActionInput!) {
  deleteAction(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteActionInput}
Response
{"data": {"deleteAction": {"clientMutationId": 4}}}

Node

createNode

Description

A function to create node.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "node:create"]

Response

Returns a CreateNodePayload

Arguments
Name Description
input - CreateNodeInput!

Example

Query
mutation CreateNode($input: CreateNodeInput!) {
  createNode(input: $input) {
    node {
      id
      _id
      createdAt
      updatedAt
      name
      description
      trigger {
        ...TriggerFragment
      }
      triggerId
      preActions {
        ...ActionFragment
      }
      preActionIds
      responses {
        ...ResponseFragment
      }
      responseIds
      postActions {
        ...ActionFragment
      }
      postActionIds
      actions {
        ...ActionFragment
      }
      actionIds
      priority
      path
      app {
        ...AppFragment
      }
      appId
      compositeId
      tree {
        ...TreeFragment
      }
      treeId
      locked
      global
      redirect {
        ...RedirectFragment
      }
      analytics {
        ...AnalyticsFragment
      }
      memberTagging {
        ...MemberTaggingFragment
      }
      type
      dialogflow {
        ...DialogflowSettingsFragment
      }
      luis {
        ...LuisSettingsFragment
      }
      etag
      history
      colour
      tags
      templateTreeId
      saveCompositeId
    }
    clientMutationId
  }
}
Variables
{"input": CreateNodeInput}
Response
{
  "data": {
    "createNode": {
      "node": NodeObject,
      "clientMutationId": "4"
    }
  }
}

updateNode

Description

A function to update node.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "node:update"]

Response

Returns an UpdateNodePayload

Arguments
Name Description
input - UpdateNodeInput!

Example

Query
mutation UpdateNode($input: UpdateNodeInput!) {
  updateNode(input: $input) {
    node {
      id
      _id
      createdAt
      updatedAt
      name
      description
      trigger {
        ...TriggerFragment
      }
      triggerId
      preActions {
        ...ActionFragment
      }
      preActionIds
      responses {
        ...ResponseFragment
      }
      responseIds
      postActions {
        ...ActionFragment
      }
      postActionIds
      actions {
        ...ActionFragment
      }
      actionIds
      priority
      path
      app {
        ...AppFragment
      }
      appId
      compositeId
      tree {
        ...TreeFragment
      }
      treeId
      locked
      global
      redirect {
        ...RedirectFragment
      }
      analytics {
        ...AnalyticsFragment
      }
      memberTagging {
        ...MemberTaggingFragment
      }
      type
      dialogflow {
        ...DialogflowSettingsFragment
      }
      luis {
        ...LuisSettingsFragment
      }
      etag
      history
      colour
      tags
      templateTreeId
      saveCompositeId
    }
    clientMutationId
  }
}
Variables
{"input": UpdateNodeInput}
Response
{
  "data": {
    "updateNode": {
      "node": NodeObject,
      "clientMutationId": 4
    }
  }
}

deleteNode

Description

A function to delete node.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "node:delete"]

Response

Returns a DeleteNodePayload

Arguments
Name Description
input - DeleteNodeInput!

Example

Query
mutation DeleteNode($input: DeleteNodeInput!) {
  deleteNode(input: $input) {
    clientMutationId
  }
}
Variables
{"input": DeleteNodeInput}
Response
{
  "data": {
    "deleteNode": {
      "clientMutationId": "abc123"
    }
  }
}

Types

Action

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
name - String!
description - String
functionString - String
app - App!
etag - ID
tags - [String]
history - [JSON]
Example
{
  "id": 4,
  "_id": 4,
  "createdAt": {},
  "updatedAt": {},
  "name": "xyz789",
  "description": "xyz789",
  "functionString": "xyz789",
  "app": App,
  "etag": "4",
  "tags": ["abc123"],
  "history": [{}]
}

ActionConnection

Fields
Field Name Description
edges - [ActionEdge]
pageInfo - PageInfo
Example
{
  "edges": [ActionEdge],
  "pageInfo": PageInfo
}

ActionEdge

Fields
Field Name Description
node - Action
cursor - ID!
Example
{
  "node": Action,
  "cursor": "4"
}

ActiveMemberCounter

Fields
Field Name Description
app - App!
appId - ID!
bucket - Long!
no_of_member - Long!
Example
{"app": App, "appId": 4, "bucket": {}, "no_of_member": {}}

ActiveMemberCounterConnection

Fields
Field Name Description
data - [ActiveMemberCounter]
pageInfo - PageInfo
total_no_of_member - Long
total_no_of_comment_member - Long
Example
{
  "data": [ActiveMemberCounter],
  "pageInfo": PageInfo,
  "total_no_of_member": {},
  "total_no_of_comment_member": {}
}

AddNoteToMemberInput

Fields
Input Field Description
memberId - ID!
note - NoteInput!
clientMutationId - ID
Example
{
  "memberId": "4",
  "note": NoteInput,
  "clientMutationId": "4"
}

AddNoteToMemberPayload

Fields
Field Name Description
member - Member
error - GenericError
clientMutationId - ID
Example
{
  "member": Member,
  "error": GenericError,
  "clientMutationId": 4
}

AddOutletInPairInput

Description

An input for AddOutletInPair

Fields
Input Field Description
inlet - ID! Inlet channel ID
outlet - ID! Outlet channel ID
clientMutationId - ID
Example
{
  "inlet": 4,
  "outlet": 4,
  "clientMutationId": "4"
}

AddOutletInPairPayload

Fields
Field Name Description
app - App
clientMutationId - ID
Example
{"app": App, "clientMutationId": 4}

Address

Fields
Field Name Description
alias - String
line1 - String
line2 - String
city - String
state - String
country - String
zip - String
Example
{
  "alias": "xyz789",
  "line1": "abc123",
  "line2": "abc123",
  "city": "abc123",
  "state": "xyz789",
  "country": "xyz789",
  "zip": "xyz789"
}

AddressInput

Fields
Input Field Description
alias - String
line1 - String
line2 - String
city - String
state - String
country - String
zip - String
Example
{
  "alias": "xyz789",
  "line1": "abc123",
  "line2": "xyz789",
  "city": "abc123",
  "state": "xyz789",
  "country": "xyz789",
  "zip": "xyz789"
}

Admin

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
app - App!
firstName - String
lastName - String
name - String
profilePic - String
channel - Channel
externalId - ID!
meta - JSON
tags - [String]
gender - String
locale - String
active - Boolean
etag - ID
Example
{
  "id": "4",
  "_id": "4",
  "createdAt": {},
  "updatedAt": {},
  "app": App,
  "firstName": "xyz789",
  "lastName": "xyz789",
  "name": "abc123",
  "profilePic": "xyz789",
  "channel": Channel,
  "externalId": "4",
  "meta": {},
  "tags": ["xyz789"],
  "gender": "xyz789",
  "locale": "abc123",
  "active": false,
  "etag": 4
}

AdminConnection

Fields
Field Name Description
edges - [AdminEdge]
pageInfo - PageInfo
Example
{
  "edges": [AdminEdge],
  "pageInfo": PageInfo
}

AdminEdge

Fields
Field Name Description
node - Admin
cursor - ID!
Example
{
  "node": Admin,
  "cursor": "4"
}

Agenda

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
app - App!
appId - ID
member - Member
memberId - ID
channel - Channel
channelId - ID
responses - JSON
tree - Tree
treeId - ID
node - NodeObject
nodeCompositeId - ID
nextRunAt - Long
completed - Boolean
lastRunAt - Long
pattern - String
runUntil - Long
type - String
priority - Int
subscriptionPush - AgendaSubscriptionPushConfig
tag - String
meta - JSON
etag - ID
Example
{
  "id": 4,
  "_id": "4",
  "createdAt": {},
  "updatedAt": {},
  "app": App,
  "appId": 4,
  "member": Member,
  "memberId": 4,
  "channel": Channel,
  "channelId": "4",
  "responses": {},
  "tree": Tree,
  "treeId": "4",
  "node": NodeObject,
  "nodeCompositeId": "4",
  "nextRunAt": {},
  "completed": false,
  "lastRunAt": {},
  "pattern": "abc123",
  "runUntil": {},
  "type": "abc123",
  "priority": 987,
  "subscriptionPush": AgendaSubscriptionPushConfig,
  "tag": "xyz789",
  "meta": {},
  "etag": 4
}

AgendaSubscriptionPushConfig

Fields
Field Name Description
id - ID
object - SubscriptionPush
memberIds - [String]
members - [Member]
isEnd - Boolean
isStart - Boolean
Example
{
  "id": 4,
  "object": SubscriptionPush,
  "memberIds": ["xyz789"],
  "members": [Member],
  "isEnd": false,
  "isStart": true
}

AgendaSubscriptionPushConfigInput

Fields
Input Field Description
id - ID
members - [ID]
isEnd - Boolean
isStart - Boolean
Example
{"id": 4, "members": [4], "isEnd": true, "isStart": true}

AggregateDataSourceDocsInput

Description

Input type for aggregating datasource docs.

Fields
Input Field Description
collectionName - ID! Datasource id in Stella.
pipeline - JSON MongoDB aggregation pipeline.
options - JSON MongoDB aggregation options.
clientMutationId - ID
Example
{"collectionName": 4, "pipeline": {}, "options": {}, "clientMutationId": 4}

AggregateDataSourceDocsPayload

Description

Return type for aggregating datasource docs.

Fields
Field Name Description
result - JSON Aggregated result of docs in datasource.
clientMutationId - ID
Example
{"result": {}, "clientMutationId": 4}

Analytics

Fields
Field Name Description
category - String
action - String
label - String
value - String
transform - String
Example
{
  "category": "xyz789",
  "action": "xyz789",
  "label": "abc123",
  "value": "abc123",
  "transform": "abc123"
}

AnalyticsCustomEventCounterConnectionRD

Fields
Field Name Description
edges - [AnalyticsCustomEventCounterEdgeRD]
total_no_of_analytics - Long!
pageInfo - PageInfo
Example
{
  "edges": [AnalyticsCustomEventCounterEdgeRD],
  "total_no_of_analytics": {},
  "pageInfo": PageInfo
}

AnalyticsCustomEventCounterConnectionTB

Fields
Field Name Description
edges - [AnalyticsCustomEventCounterEdgeTB]
total_no_of_analytics - Long!
pageInfo - PageInfo
Example
{
  "edges": [AnalyticsCustomEventCounterEdgeTB],
  "total_no_of_analytics": {},
  "pageInfo": PageInfo
}

AnalyticsCustomEventCounterEdgeRD

Fields
Field Name Description
cursor - ID!
node - AnalyticsCustomEventCounterRD
Example
{
  "cursor": "4",
  "node": AnalyticsCustomEventCounterRD
}

AnalyticsCustomEventCounterEdgeTB

Fields
Field Name Description
cursor - ID!
node - AnalyticsCustomEventCounterTB
Example
{
  "cursor": "4",
  "node": AnalyticsCustomEventCounterTB
}

AnalyticsCustomEventCounterRD

Fields
Field Name Description
app - App!
appId - ID!
category - String
action - String
label - String
no_of_analytics - Long
no_of_unique_member_analytics - Long
member - String
Example
{
  "app": App,
  "appId": "4",
  "category": "xyz789",
  "action": "abc123",
  "label": "xyz789",
  "no_of_analytics": {},
  "no_of_unique_member_analytics": {},
  "member": "abc123"
}

AnalyticsCustomEventCounterTB

Fields
Field Name Description
app - App!
appId - ID!
channel - Channel!
channelId - ID!
category - String
action - String
label - String
bucket - Long
no_of_analytics - Long
Example
{
  "app": App,
  "appId": "4",
  "channel": Channel,
  "channelId": "4",
  "category": "xyz789",
  "action": "abc123",
  "label": "abc123",
  "bucket": {},
  "no_of_analytics": {}
}

AnalyticsInput

Fields
Input Field Description
category - String
action - String
label - String
value - String
transform - String
Example
{
  "category": "xyz789",
  "action": "xyz789",
  "label": "xyz789",
  "value": "abc123",
  "transform": "abc123"
}

ApiScope

Fields
Field Name Description
id - ID!

rate limit 5 call(s) per app per mintue

scope

["api:admin"]

_id - ID!

rate limit 5 call(s) per app per mintue

scope

["api:admin"]

distinctDataSourceData - JSON

A function to search distinct datasource doc.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dataSource:listDocs"]

Arguments
dataSourceId - ID!

datasource id that show in Stella.

filter - JSON

MongoDB filter apply to querying doc from datasource.

distinctKey - String!

The key to get the distinct value.

fetchDataSourceData - JSON

A function to search datasource doc.

rate limit

10 call(s) per app per mintue

scope

["api:admin", "dataSource:listDocs"]

Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. This differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

dataSourceId - ID!

datasource id that show in Stella.

filter - JSON!

MongoDB filter apply to querying doc from datasource.

sortBy - JSON

MongoDB sort by option apply to querying doc from datasource.

countOnly - Boolean

Get the count only or not

fetchGeoNearDataSourceData - JSON

A function to search datasource doc based on location.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dataSource:listDocs"]

Arguments
dataSourceId - ID!

datasource id that show in Stella.

lng - Float

The Longitude for which to find the closest documents.

lat - Float

The Latitude for which to find the closest documents.

maxDistance - Float

Max distance from lng,lat.

filter - JSON

MongoDB filter apply to querying doc from datasource.

memberRaw - JSON

A function to search for a member. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "member:getDetails"]

Use ApiScope.member
Arguments
externalId - ID

The external identifier for the user. Used to filter if memberId is missing.

channelId - ID

The identifier for the user. Used to filter to the matching user.

member - Member

A function to search for a memeber. Can be used to get a single member using memberID or externalID.

rate limit

600 call(s) per app per mintue

scope

["conversation:read", "api:admin", "member:getDetails"]

Arguments
memberId - ID

The identifier for the user. Used to filter to the matching user.

externalId - ID

The external identifier for the user. Used to filter if memberId is missing.

channelId - ID

Channel ID for filtering (Required for using externalId)

members - MemberConnection

A function to search for a collection of members. Can also be used with varies filters.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "member:getDetails"]

Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. Differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

createdAtFrom - Long

An Epoch time value. Used to filter members that were created after the set time.

createdAtTo - Long

An Epoch time value. Used to filter members that were created before the set time.

updatedAtFrom - Long

An Epoch time value. Used to filter members that were updated after the set time.

updatedAtTo - Long

An Epoch time value. Used to filter members that were updated before the set time.

channelId - String

An ID of a channel. Used to filter members that have matching channelId.

memberIds - [String]

An array of Ids for the users. Used to filter members with Id that matches one of the values in the array.

externalIds - [String]

An array of external Ids for the users. Used to filter members with external Id that matches one of the values in the array.

firstName - String

A string of a name. Used to filter members who have matching first name. This filter is not case sensitive.

lastName - String

A string of a name. Used to filter members who have matching last name. This filter is not case sensitive.

gender - String

A string of a gender. Used to filter members who have matching gender. This filter only accept M, F, N/A, null, or undefined.

locales - [String]

Must use with localeOperator. Used to either filter in or filter out the members with matching locales.

localeOperator - String

Must use with locales. This filter only accept either IN or NIN.

IN: Filter the result to members that have matching locales.

NIN: Filter the result to members that do not have matching locales.

tagFilters - [TagFilter]

An array of TagFilter objects. Used to filter members based their tags

admins - AdminConnection

A function to search for a collection of admins. Can also be used with varies filters. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listTicketing"]

No longer supported
Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. This differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

createdAtFrom - Long

An Epoch time value. Used to filter admins that were created after the set time.

createdAtTo - Long

An Epoch time value. Used to filter admins that were created before the set time.

updatedAtFrom - Long

An Epoch time value. Used to filter admins that were updated after the set time.

updatedAtTo - Long

An Epoch time value. Used to filter admins that were updated before the set time.

channelId - String

An ID of a channel. Used to filter admins that have matching channelId.

adminIds - [String]

An array of Ids for the admins. Used to filter admins with Id that matches one of the values in the array.

externalIds - [String]

An array of external Ids for the admins. Used to filter admins with external Id that matches one of the values in the array.

firstName - String

A string of a name. Used to filter admins who have matching first name. This filter is not case sensitive.

lastName - String

A string of a name. Used to filter admins who have matching last name. This filter is not case sensitive.

channel - Channel

A function to get channel detail.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "channel:getAvailabilities", "channel:getBasicInfo", "channel:getBroadcastGroupSettings", "channel:getLiveChatSettings", "channel:getPlatformInfo", "channel:getPlatformSettings", "channel:getTreeSettings"]

Arguments
channelId - ID

Channel ID in Stella

conversationHistory - ChatConnection

A function to get chat history. Can also be used with varies filters.

rate limit

30 call(s) per app per mintue

scope

["conversation:read", "member:getConversation", "api:admin"]

Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. This differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

group - ID
assignment - ID
from - Long

An Epoch time value. Used to filter chats that were created after the set time.

to - Long

An Epoch time value. Used to filter chats that were created before the set time.

channelId - String

An ID of a channel. Used to filter chats that have matching channelId.

memberId - String

A string of memberId. Used to filter chats that have matching memberId.

platform - String

A string of platform. Used to filter chats that have matching platform name.

groupId - String

An ID of a group. Used to filter chats that have matching groupId.

assignmentId - String

An ID of a assignment. Used to filter chats that have matching assignmentId.

assignments - AssignmentConnection

A function to get a collection of assignments. Can also be used with varies filters. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listAssignment"]

No longer supported
Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. This differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

createdAtFrom - Long

An Epoch time value. Used to filter assignments that were created after the set time.

createdAtTo - Long

An Epoch time value. Used to filter assignments that were created before the set time.

assignedAtFrom - Long

An Epoch time value. Used to filter assignments that were assigned after the set time.

assignedAtTo - Long

An Epoch time value. Used to filter assignments that were assigned before the set time.

inactivatedAtFrom - Long

An Epoch time value. Used to filter assignments that were inactivated after the set time.

inactivatedAtTo - Long

An Epoch time value. Used to filter assignments that were inactivated before the set time.

inlet - String

An ID of an inlet. Used to filter assignments that have matching inletId.

channelId - String

An ID of a channel. Used to filter assignments that have matching channelId.

memberId - String

A string of memberId. Used to filter assignments that have matching memberId.

outlets - [String]

An array of outletIds. Used to filter assignments with outletId that matches one of the values in the array.

groupId - String

An ID of a group. Used to filter assignments that have matching groupId.

status - String

A string of status. This filter only accepts TRANSFERRED, COMPLETED, ASSIGNED, UNASSIGNED.

TRANSFERRED: Filter assignments that have been reassigned.

COMPLETED: Filter assignments that have been to be inactivated.

ASSIGNED: Filter assignments that are active and have an assignee set to it.

UNASSIGNED: Filter assignments that are active but does not have an assignee set to it.

assignmentIds - [String]

An array of assignmentIds. Used to filter assignments with Id that matches one of the values in the array.

assigneeId - String

An ID of an assignee. Used to filter assignments that have matching assigneeId.

parentAssignmentId - String

An ID of a parentAssignmentId. Used to filter assignments that have matching parentAssignmentId.

assignment - Assignment

A function to get an assignment using the assignmentId. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listAssignment"]

No longer supported
Arguments
assignmentId - ID

The identifier for the assignment. Used to filter to the matching assignment.

groups - GroupConnection

A function to get a collection of groups. Can also be used with varies filters. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listAssignment"]

No longer supported
Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

This value is used to set the amount of results you get. This differs from first by grabbing the last results instead of the first.

before - String

Applying cursor from PageInfo for pagination

createdAtFrom - Long

An Epoch time value. Used to filter groups that were created after the set time.

createdAtTo - Long

An Epoch time value. Used to filter groups that were created before the set time.

updatedAtFrom - Long

An Epoch time value. Used to filter groups that were updated after the set time.

updatedAtTo - Long

An Epoch time value. Used to filter groups that were updated before the set time.

inlet - String

An ID of an inlet. Used to filter groups that have matching inletId.

memberId - String

A string of memberId. Used to filter groups that have matching memberId.

outlet - String

An ID of an outlet. Used to filter groups that have matching outletId.

groupIds - [String]

An array of groupIds. Used to filter groups with Id that matches one of the values in the array.

assignmentIds - [String]

An array of assignmentIds. Used to filter groups with assignmentId that matches one of the values in the array.

adminId - String

A string of adminId. Used to filter groups that have matching adminId.

valid - Boolean

A boolean for valid. Used to filter groups that valid or not.

externalId - String

A string of externalId. Used to filter groups that have matching externalId.

adminExternalId - String

A string of adminExternalId. Used to filter groups that have matching adminExternalId.

type - String

A string of a type. Used to filter groups that have matching type.

label - String

A string of a label. Used to filter groups that have matching label.

active - Boolean

A boolean for active. Used to filter groups that active or not.

installedIntegrations - [AppIntegration]

Get list of installed integrations

rate limit

5 call(s) per app per mintue

scope

["api:admin", "appIntegration:get"]

Arguments
features - [String]

Filter any installed integrations with one of the specified features.

installedIntegration - AppIntegration

Get an installed integration using integrationId and build or appIntegrationId

rate limit

5 call(s) per app per mintue

scope

["api:admin", "appIntegration:get"]

Arguments
integrationId - String
build - Int
appIntegrationId - ID
integrations - JSON

A function to get the integrations of an app. Only gives integrations for app that matches the user's. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "integration:list"]

No longer supported
app - App

A function to get app info

rate limit

20 call(s) per app per mintue

scope

["api:admin", "appInfo:get", "appSettings:get", "dataSource:listDatasources", "billing:getSubscription", "teamMember:list"]

Arguments
shopifyDomain - String

Shopify domain related to shopify integration (Deprecating!!!)

userContext - JSON

A function to get token info

rate limit

5 call(s) per app per mintue

Arguments
accessToken - String
channels - ChannelConnection

A function to get channels.

rate limit

30 call(s) per app per mintue

scope

["api:admin", "channel:list"]

Arguments
first - IntMax100

First n channel return

after - String

Applying cursor from PageInfo for pagination

last - IntMax100

Last n channel return

before - String

Applying cursor from PageInfo for pagination

channelIds - [ID]

Channel id array in Stella

search - String

Search channel name, channel description and channel id

type - String

Filter by channel type

includeArchived - Boolean

Include Channel that have been archived

sortBy - JSON

MongoDB sort by option apply to querying channels.

tree - Tree

A function to get tree info.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "botbuilder:read", "tree:getBasicInfo", "tree:getDetails", "tree:getNodes", "tree:getTreeSetting", "appInfo:get", "appSettings:get"]

Arguments
treeId - ID!

Tree id in Stella

whatsAppFile - WhatsAppFileUrl

A function to get the URL of a file in WhatsApp. Both mediaId and channelId must be present. Currently deprecated.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "whatsapp:getFile"]

No longer supported
Arguments
mediaId - ID!

An ID of a media. Used to filter to the matching mediaId

channelId - ID!

An ID of a channel. Used to filter to the matching channelId

whatsAppTemplate - WhatsAppMessageTemplateConnection

A function to get a collection of WhatsApp template. Either integrationId or channelId must be used. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "whatsappMessageTemplates:list"]

No longer supported
Arguments
first - IntMax100

This value is used to set the amount of results you get.

after - String

Applying cursor from PageInfo for pagination

integrationId - String

An ID of an integration. Used to filter to the matching integrationId.

channelId - String

An ID of a channel. Used to filter to the matching channelId.

postCommentAnalyticsOverview - PostCommentAnalyticsOverviewConnection

A function to get Comment Analytics Overview. Can also be used with varies filters. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listCommentReply"]

No longer supported
Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

startFrom - Long

An Epoch time value. Used to filter Analytics that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Analytics that were created before the set time.

sortBy - JSON

A JSON for sorting. Has two possible input, post_id or total_no_of_comment.

post_id will sort based on the _key value. 1 for ascending order, -1 for descending order.

total_no_of_comment will sort based on the _count value. 1 for ascending order, -1 for descending order.

post_id will take priority if both input are present.

after - ID

A string of postId. Used to paginated the results, allowing the Next Page to start after this postId.

search - String

A string of postId. Used to search postId from the input in the search bar.

page - Int

An Integer for controlling where the search should begin. Is used along size to find the correct starting point.

size - Int

An Integer for controlling how much post is displayed.

nlpAnalyticsOverview - NLPAnalyticsCounterConnection

A function to get NLP Analytics Overview. Either integrationId or channelId must be used.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listNlpAnalytics"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

type - String

The type of NLP service, such as DIALOGFLOW or LUIS. Used to filter to Counters that has the matching type.

startFrom - Long

An Epoch time value. Used to filter Counters that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Counters that were created before the set time.

first - Int

This value is used to set the amount of results you get.

sortBy - JSON

A JSON input used to sort the results.

Has multiple possible inputs fields such as agent_id, intent_id, intent_name, _count and average_confidence_level.

For all inputs: 1 for ascending order, -1 for descending order.

All sorting values are useable at the same time.

after - ID

A string used to find the starting point for the results.

search - String

A string from the search bar. Used to search matching intent_name or intent_id

analyticsCustomEventOverviewDateHistogram - AnalyticsCustomEventCounterConnectionTB

A function used to get the Overview Date Histogram of an Analytics Custom Event.

Can not query for member or no_of_unique_member_analytics.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listAnalytics"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

category - String

The category of the Custom Event. Used to filter to the matching category.

action - String

The action of the Custom Event. Used to filter to the matching action.

label - String

The label of the Custom Event. Used to filter to the matching label.

bucketWidth - String!

A string of a duration of time. Used to determine the size of each bucket in a Date histogram.

Accepted inputs are minute, hour, day, week, month, quarter (3 month) and year.

Shorten inputs are 1m, 1h, 1d, 1w, 1M, 1q and 1y. Note multiple quantities, such as 2d, are not supported.

startFrom - Long

An Epoch time value. Used to filter Custom Event that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Custom Event that were created before the set time.

first - Int

This value is used to set the amount of results you get.

searchBy - JSON

A JSON input for regex searching with the search bar.

There are three input for filter: category, action, label.

All three input can be used at the same time.

timeZone - Int

An Integer indicating time zones. Used to offset the time display based on time zone differences.

analyticsCustomEventOverviewTable - AnalyticsCustomEventCounterConnectionRD

A function used to get the Overview Table of an Analytics Custom Event.

Either member or no_of_unique_member_analytics must be in the query fields.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listAnalytics"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

category - String

The category of the Custom Event. Used to filter to the matching category.

action - String

The action of the Custom Event. Used to filter to the matching action.

label - String

The label of the Custom Event. Used to filter to the matching label.

startFrom - Long

An Epoch time value. Used to filter Custom Event that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Custom Event that were created before the set time.

sortBy - JSON

A JSON input for sorting the results.

The input can be any of the query element except no_of_analytics and no_of_unique_member_analytics.

The query element must be in the query to be used in sorting.

For all inputs: 1 for ascending order, -1 for descending order.

searchBy - JSON

A JSON input for regex searching with the search bar.

There are three input for filter: category, action, label.

All three input can be used at the same time.

page - Int

An Integer for controlling where the search should begin. Is used along size to find the correct starting point.

size - Int

An Integer for controlling how much Custom Event is displayed.

dailyActiveMemberOverview - DailyActiveMemberOverviewPayload

A function used to get Daily Active member.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listUsers"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

startFrom - Long

An Epoch time value. Used to filter Custom Event that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Custom Event that were created before the set time.

timeZone - Int

An Integer indicating time zones. Used to offset the time display based on time zone differences.

activeMemberCounter - ActiveMemberCounterConnection

A function used to get active member count.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listUsers"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

startFrom - Long

An Epoch time value. Used to filter Custom Event that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Custom Event that were created before the set time.

bucketWidth - String!

A string of a duration of time. Used to determine the size of each bucket in a Date histogram.

Accepted inputs are minute, hour, day, week, month, quarter (3 month) and year.

Shorten inputs are 1m, 1h, 1d, 1w, 1M, 1q and 1y. Note multiple quantities, such as 2d, are not supported.

first - Int

This value is used to set the amount of results you get.

sortBy - JSON

A JSON input for sorting the results.

The input can be any of the query element except no_of_analytics and no_of_unique_member_analytics.

The query element must be in the query to be used in sorting.

For all inputs: 1 for ascending order, -1 for descending order.

timeZone - Int

An Integer indicating time zones. Used to offset the time display based on time zone differences.

newMemberCounter - NewMemberCounterConnection

A function used to get new member count.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "dashboard:listUsers"]

Arguments
channelId - ID

An ID of a channel. Used to filter to the matching channelId.

startFrom - Long

An Epoch time value. Used to filter Custom Event that were created after the set time.

endAt - Long

An Epoch time value. Used to filter Custom Event that were created before the set time.

bucketWidth - String!

A string of a duration of time. Used to determine the size of each bucket in a Date histogram.

Accepted inputs are minute, hour, day, week, month, quarter (3 month) and year.

Shorten inputs are 1m, 1h, 1d, 1w, 1M, 1q and 1y. Note multiple quantities, such as 2d, are not supported.

first - Int

This value is used to set the amount of results you get.

sortBy - JSON

A JSON input for sorting the results.

The input can be any of the query element except no_of_analytics and no_of_unique_member_analytics.

The query element must be in the query to be used in sorting.

For all inputs: 1 for ascending order, -1 for descending order.

timeZone - Int

An Integer indicating time zones. Used to offset the time display based on time zone differences.

actions - ActionConnection

A function used to get actions list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "action:read"]

Arguments
actionIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search action name and description

sortBy - JSON

MongoDB sort by option apply to querying actions.

audiences - AudienceConnection

A function used to get audience list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "audience:read"]

Arguments
audienceIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search audiences name and description

sortBy - JSON

MongoDB sort by option apply to querying audiences.

conditions - ConditionConnection

A function used to get condition list. Currently deprecated.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "condition:read"]

No longer supported
Arguments
conditionIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search condition name and description

sortBy - JSON

MongoDB sort by option apply to querying condition.

localeGroups - LocaleGroupConnection

A function used to get locale group list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "localeGroup:read"]

Arguments
localeGroupIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search locale group name

sortBy - JSON

MongoDB sort by option apply to querying locale group.

nodes - NodeObjectConnection

A function used to get node list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "node:read"]

Arguments
treeIds - [ID]

Tree id for filtering

nodeIds - [ID]

Extra id list for querying

search - String

Search node name, description and composite id

global - Boolean

Filter global node or not

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

sortBy - JSON

MongoDB sort by option apply to querying actions.

priorityGroups - PriorityGroupConnection

A function used to get priority group list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "priorityGroup:list"]

Arguments
priorityGroupIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search priority group name

sortBy - JSON

MongoDB sort by option apply to querying priority group.

responses - ResponseConnection

A function used to get response list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "response:read"]

Arguments
responseIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search response name

sortBy - JSON

MongoDB sort by option apply to querying responses.

subscriptionPushes - SubscriptionPushConnection

A function used to get subscription push list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "push:list"]

Arguments
subscriptionPushIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search subscription push name and decription

sortBy - JSON

MongoDB sort by option apply to querying subscription pushes.

trees - TreeConnection

A function used to get tree list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "tree:read", "tree:list"]

Arguments
treeIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search tree name and description

sortBy - JSON

MongoDB sort by option apply to querying trees.

triggers - TriggerConnection

A function used to get trigger list.

rate limit

5 call(s) per app per mintue

scope

["api:admin", "trigger:read"]

Arguments
triggerIds - [ID]

Extra id list for querying

first - IntMax100

This value is used to set the amount of results you get from first.

last - IntMax100

This value is used to set the amount of results you get from last.

after - ID

Applying cursor from PageInfo for pagination

before - ID

Applying cursor from PageInfo for pagination

search - String

search trigger name and description

sortBy - JSON

MongoDB sort by option apply to querying triggers.

file - RetrieveFilePayload

A function used to get file from fileId.

rate limit

60 call(s) per app per mintue

scope

["api:admin", "file:admin", "file:get", "medialibrary:get"]

Arguments
fileId - ID!

File Id from webhook

chat - Chat

A function used to get chat from either chatId or messageId.

rate limit

60 call(s) per app per mintue

scope

["conversation:read", "member:getConversation", "api:admin"]

Arguments
channelId - ID!

Channel Id

chatId - ID

Chat Id

messageId - ID

The external message Id

backgroundTask - BackgroundTask

To get info of a background task, typically used to check the status of the background task.

rate limit

12 call(s) per app per mintue

scope

["backgroundTask:get"]

Arguments
backgroundTaskId - ID!

Background Task Id

Example
{
  "id": 4,
  "_id": "4",
  "distinctDataSourceData": {},
  "fetchDataSourceData": {},
  "fetchGeoNearDataSourceData": {},
  "memberRaw": {},
  "member": Member,
  "members": MemberConnection,
  "admins": AdminConnection,
  "channel": Channel,
  "conversationHistory": ChatConnection,
  "assignments": AssignmentConnection,
  "assignment": Assignment,
  "groups": GroupConnection,
  "installedIntegrations": [AppIntegration],
  "installedIntegration": AppIntegration,
  "integrations": {},
  "app": App,
  "userContext": {},
  "channels": ChannelConnection,
  "tree": Tree,
  "whatsAppFile": WhatsAppFileUrl,
  "whatsAppTemplate": WhatsAppMessageTemplateConnection,
  "postCommentAnalyticsOverview": PostCommentAnalyticsOverviewConnection,
  "nlpAnalyticsOverview": NLPAnalyticsCounterConnection,
  "analyticsCustomEventOverviewDateHistogram": AnalyticsCustomEventCounterConnectionTB,
  "analyticsCustomEventOverviewTable": AnalyticsCustomEventCounterConnectionRD,
  "dailyActiveMemberOverview": DailyActiveMemberOverviewPayload,
  "activeMemberCounter": ActiveMemberCounterConnection,
  "newMemberCounter": NewMemberCounterConnection,
  "actions": ActionConnection,
  "audiences": AudienceConnection,
  "conditions": ConditionConnection,
  "localeGroups": LocaleGroupConnection,
  "nodes": NodeObjectConnection,
  "priorityGroups": PriorityGroupConnection,
  "responses": ResponseConnection,
  "subscriptionPushes": SubscriptionPushConnection,
  "trees": TreeConnection,
  "triggers": TriggerConnection,
  "file": RetrieveFilePayload,
  "chat": Chat,
  "backgroundTask": BackgroundTask
}

App

Fields
Field Name Description
id - ID! scope ["api:admin", "appInfo:get"]
_id - ID! scope ["api:admin", "appInfo:get"]
createdAt - Long! scope ["api:admin", "appInfo:get"]
updatedAt - Long scope ["api:admin", "appInfo:get"]
name - String! scope ["api:admin", "appInfo:get"]
description - String scope ["api:admin", "appInfo:get"]
inlets - [Channel] scope ["api:admin", "appSettings:get"]
outlets - [Channel] scope ["api:admin", "appSettings:get"]
meta - JSON scope ["api:admin", "appSettings:get"]
integrations - [JSON] scope ["api:admin", "appSettings:get"]
activated - Boolean scope ["api:admin", "appInfo:get"]
teamMembers - [TeamMember] scope ["api:admin", "appSettings:get", "teamMember:list"]
Arguments
includeInvites - Boolean
acls - [String]
mustHaveAcls - [String]
dataSources - [DataSource] scope ["api:admin", "dataSource:listDatasources"]
dataSource - DataSource scope ["api:admin", "dataSource:listDatasources"]
Arguments
dataSourceId - ID
pairs - [Pair] scope ["api:admin", "appSettings:get"]
managedBy - Partner scope ["api:admin", "appInfo:get"]
managementType - String scope ["api:admin", "appSettings:get"]
etag - ID scope ["api:admin", "appInfo:get"]
Example
{
  "id": 4,
  "_id": 4,
  "createdAt": {},
  "updatedAt": {},
  "name": "xyz789",
  "description": "xyz789",
  "inlets": [Channel],
  "outlets": [Channel],
  "meta": {},
  "integrations": [{}],
  "activated": false,
  "teamMembers": [TeamMember],
  "dataSources": [DataSource],
  "dataSource": DataSource,
  "pairs": [Pair],
  "managedBy": Partner,
  "managementType": "abc123",
  "etag": "4"
}

AppIntegration

Fields
Field Name Description
_id - ID!
id - ID!
app - App!
appId - ID
description - String
alias - String!
meta - JSON
integration_id - ID
integrationKey - String
integrationId - ID
features - [String]
build - Int
etag - ID
createdAt - Long!
updatedAt - Long
signature - String
secret - String
channel - Channel
integrationName - String
integrationDescription - String
latestPublished - Int
isLatestPublished - Boolean
icon - String
author - Author
authorId - ID
supportEmail - String
readme - String
termsAndConditionsUrl - String
privacyPolicyUrl - String
websiteUrl - String
builderSidebarView - IntegrationView
dashboardView - IntegrationView
customView - IntegrationView
changelog - String
scopes - [String]
endpoints - IntegrationEndpoints
resourceTemplates - [ResourceTemplate]
Arguments
types - [String]
defaultResourceTemplate - ResourceTemplate
Arguments
type - String
hooks - Hook
functionString - String
settingsView - String
platformSettingsView - String
settingsSchema - JSON
settingsValidatorFunctionString - String
trees - [IntegrationTree]
supportTicketing - Boolean
version - String
inbox - InboxIntegration
Example
{
  "_id": 4,
  "id": 4,
  "app": App,
  "appId": "4",
  "description": "abc123",
  "alias": "abc123",
  "meta": {},
  "integration_id": "4",
  "integrationKey": "xyz789",
  "integrationId": 4,
  "features": ["abc123"],
  "build": 987,
  "etag": "4",
  "createdAt": {},
  "updatedAt": {},
  "signature": "xyz789",
  "secret": "xyz789",
  "channel": Channel,
  "integrationName": "xyz789",
  "integrationDescription": "abc123",
  "latestPublished": 123,
  "isLatestPublished": true,
  "icon": "xyz789",
  "author": Author,
  "authorId": 4,
  "supportEmail": "xyz789",
  "readme": "abc123",
  "termsAndConditionsUrl": "xyz789",
  "privacyPolicyUrl": "abc123",
  "websiteUrl": "abc123",
  "builderSidebarView": IntegrationView,
  "dashboardView": IntegrationView,
  "customView": IntegrationView,
  "changelog": "abc123",
  "scopes": ["abc123"],
  "endpoints": IntegrationEndpoints,
  "resourceTemplates": [ResourceTemplate],
  "defaultResourceTemplate": ResourceTemplate,
  "hooks": Hook,
  "functionString": "xyz789",
  "settingsView": "xyz789",
  "platformSettingsView": "xyz789",
  "settingsSchema": {},
  "settingsValidatorFunctionString": "abc123",
  "trees": [IntegrationTree],
  "supportTicketing": false,
  "version": "xyz789",
  "inbox": InboxIntegration
}

Assignment

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
inlet - Channel
inletId - ID
targets - [AssignmentTarget]
member - Member
memberId - ID
group - Group
groupId - ID
groupExternalId - ID
assignedAt - Long
assignee - Admin
assigner - Admin
expiry - Long
groupInfo - JSON
relayMessage - JSON
reassignRelayMessage - JSON
takenMessage - String
app - App!
appId - ID
etag - ID
tags - [String]
inactivatedAt - Long
reassign - Boolean
history - Boolean
active - Boolean
inletGroup - Boolean
inletMessage - JSON
inletGroupInfo - JSON
inletGroupExternalId - ID
parentAssignment - Assignment
parentAssignmentId - ID
previousAssignment - Assignment
previousAssignmentId - ID
adminContactMessage - JSON
redirectMemberToNode - Redirect
label - String
status - String
meta - JSON
isZendesk - Boolean
noGroupCreation - Boolean
Example
{
  "id": "4",
  "_id": 4,
  "createdAt": {},
  "updatedAt": {},
  "inlet": Channel,
  "inletId": "4",
  "targets": [AssignmentTarget],
  "member": Member,
  "memberId": 4,
  "group": Group,
  "groupId": "4",
  "groupExternalId": "4",
  "assignedAt": {},
  "assignee": Admin,
  "assigner": Admin,
  "expiry": {},
  "groupInfo": {},
  "relayMessage": {},
  "reassignRelayMessage": {},
  "takenMessage": "xyz789",
  "app": App,
  "appId": "4",
  "etag": "4",
  "tags": ["abc123"],
  "inactivatedAt": {},
  "reassign": true,
  "history": true,
  "active": false,
  "inletGroup": false,
  "inletMessage": {},
  "inletGroupInfo": {},
  "inletGroupExternalId": 4,
  "parentAssignment": Assignment,
  "parentAssignmentId": 4,
  "previousAssignment": Assignment,
  "previousAssignmentId": 4,
  "adminContactMessage": {},
  "redirectMemberToNode": Redirect,
  "label": "xyz789",
  "status": "abc123",
  "meta": {},
  "isZendesk": false,
  "noGroupCreation": true
}

AssignmentConnection

Fields
Field Name Description
edges - [AssignmentEdge]
pageInfo - PageInfo
Example
{
  "edges": [AssignmentEdge],
  "pageInfo": PageInfo
}

AssignmentEdge

Fields
Field Name Description
node - Assignment
cursor - ID!
Example
{"node": Assignment, "cursor": 4}

AssignmentTarget

Fields
Field Name Description
channel - Channel
channelId - ID
admin - Admin
label - String
broadcastGroups - [BroadcastGroup]
Example
{
  "channel": Channel,
  "channelId": 4,
  "admin": Admin,
  "label": "xyz789",
  "broadcastGroups": [BroadcastGroup]
}

AttachmentUploadInput

Fields
Input Field Description
channelId - ID!
url - String!
fileName - String
filetype - String
token - String
headers - JSON
appId - ID
Example
{
  "channelId": "4",
  "url": "xyz789",
  "fileName": "abc123",
  "filetype": "xyz789",
  "token": "abc123",
  "headers": {},
  "appId": "4"
}

AttachmentUploadPayload

Fields
Field Name Description
ok - Int!
err_code - Int
error - String
mediaId - ID
Example
{
  "ok": 123,
  "err_code": 987,
  "error": "abc123",
  "mediaId": "4"
}

Audience

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
name - String
description - String
app - App!
filter - AudienceFilter
channel - Channel
channelId - ID
tags - [String]
etag - ID
Example
{
  "id": 4,
  "_id": "4",
  "createdAt": {},
  "updatedAt": {},
  "name": "xyz789",
  "description": "abc123",
  "app": App,
  "filter": AudienceFilter,
  "channel": Channel,
  "channelId": "4",
  "tags": ["abc123"],
  "etag": "4"
}

AudienceConnection

Fields
Field Name Description
edges - [AudienceEdge]
pageInfo - PageInfo
Example
{
  "edges": [AudienceEdge],
  "pageInfo": PageInfo
}

AudienceEdge

Fields
Field Name Description
node - Audience
cursor - ID!
Example
{
  "node": Audience,
  "cursor": "4"
}

AudienceFilter

Fields
Field Name Description
plusMembers - [Member]
plusMemberIds - [ID]
minusMembers - [Member]
minusMemberIds - [ID]
specificMembersOnly - Boolean
specificMembers - [Member]
specificMemberIds - [ID]
Arguments
subscribedOnly - Boolean
criteria - JSON
criteriaMemberIds - [ID]
Arguments
subscribedOnly - Boolean
criteriaFbOTNTags - [String]
Example
{
  "plusMembers": [Member],
  "plusMemberIds": [4],
  "minusMembers": [Member],
  "minusMemberIds": ["4"],
  "specificMembersOnly": false,
  "specificMembers": [Member],
  "specificMemberIds": [4],
  "criteria": {},
  "criteriaMemberIds": ["4"],
  "criteriaFbOTNTags": ["abc123"]
}

AudienceFilterInput

Fields
Input Field Description
plusMembers - [ID]
minusMembers - [ID]
specificMembersOnly - Boolean
specificMembers - [ID]
criteria - JSON

Criteria is an array of object that is translated to a member filter.

Small Example: [{

"field" : "externalId",

"operator" : "equal",

"value" : "123"

},{

"field" : "channel",

"operator" : "equal",

"value" : "abc"

}]

"criteria options":

"field": "_id" | "tags" | "fbOTNTag",

"filters": [{ "operator": "in" | "nin", "value": ["ID | String"]}]

"field": "createdAt" | "updatedAt",

"from": "epoch number",

"to": "epoch number"

"field": "firstName" | "lastName",

"value": "String"

"field": "liveChat",

"value": "Boolean"

"operator": "equal" | "in" | "nin" | "ne" | "regex" ("eq" does not work)

"field": "String", (as long as field is not one of the aboves, example: "externalId", "channel", "locale", "gender", "botMeta.tempData.abc", "meta.def")

"value": "Any"

Example
{
  "plusMembers": [4],
  "minusMembers": ["4"],
  "specificMembersOnly": false,
  "specificMembers": ["4"],
  "criteria": {}
}

Author

Fields
Field Name Description
email - String
Example
{"email": "abc123"}

BackgroundTask

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
app - App!
appId - ID
type - String
message - String
status - String
data - JSON
meta - JSON
runAt - Long
endAt - Long
etag - ID
Example
{
  "id": "4",
  "_id": "4",
  "createdAt": {},
  "updatedAt": {},
  "app": App,
  "appId": 4,
  "type": "xyz789",
  "message": "abc123",
  "status": "abc123",
  "data": {},
  "meta": {},
  "runAt": {},
  "endAt": {},
  "etag": "4"
}

BatchCreateAppIntegrationError

Fields
Field Name Description
error - endpointError
integrationId - String
build - Int
Example
{
  "error": endpointError,
  "integrationId": "xyz789",
  "build": 987
}

BatchCreateAppIntegrationForTreeInput

Fields
Input Field Description
app - ID
normalIntegrations - [NormalIntegrationInput]
platformIntegrations - [PlatformIntegrationInput]
trees - [JSON]
nodes - [JSON]
triggers - [JSON]
conditions - [JSON]
actions - [JSON]
responses - [JSON]
localeGroups - [JSON]
url - String
prefix - String
forceKeepResponsePlatforms - [String] List of Platforms to keep the response. Ex: ["facebook", "whatsapp-cloud"]
clientMutationId - ID
Example
{
  "app": 4,
  "normalIntegrations": [NormalIntegrationInput],
  "platformIntegrations": [PlatformIntegrationInput],
  "trees": [{}],
  "nodes": [{}],
  "triggers": [{}],
  "conditions": [{}],
  "actions": [{}],
  "responses": [{}],
  "localeGroups": [{}],
  "url": "abc123",
  "prefix": "xyz789",
  "forceKeepResponsePlatforms": ["abc123"],
  "clientMutationId": "4"
}

BatchCreateAppIntegrationForTreePayload

Fields
Field Name Description
errors - [BatchCreateAppIntegrationError]
trees - [Tree]
clientMutationId - ID
Example
{
  "errors": [BatchCreateAppIntegrationError],
  "trees": [Tree],
  "clientMutationId": 4
}

BatchCreateChatInput

Fields
Input Field Description
chats - [ChatInput] Array of chat object
sendOutbound - Boolean
clientMutationId - ID ID generated by relay client for tracking the progress
Example
{
  "chats": [ChatInput],
  "sendOutbound": false,
  "clientMutationId": 4
}

BatchCreateChatPayload

Fields
Field Name Description
chatIds - [ID] Array of chat object
clientMutationId - ID ID generated by relay client for tracking the progress
Example
{"chatIds": [4], "clientMutationId": "4"}

BatchUpdateMemberInput

Fields
Input Field Description
memberIds - [ID] Member Ids (Either memberIds or externalIds)
externalIds - [ID] Member external Ids (Either memberIds or externalIds)
channel - ID Channel ID (required when using externalIds)
tags - [String] Member tags
gender - String Member gender
locale - String Member locale
option - MongoDBArrayOption Tags manipulation option
app - ID
clientMutationId - ID
Example
{
  "memberIds": [4],
  "externalIds": ["4"],
  "channel": "4",
  "tags": ["xyz789"],
  "gender": "xyz789",
  "locale": "xyz789",
  "option": "set",
  "app": 4,
  "clientMutationId": "4"
}

BatchUpdateMemberPayload

Fields
Field Name Description
clientMutationId - ID
Example
{"clientMutationId": 4}

Boolean

Description

The Boolean scalar type represents true or false.

BotMeta

Fields
Field Name Description
subscribe - Boolean
liveChat - Boolean
tempData - JSON
node - NodeObject
nodeCompositeId - ID
tree - Tree
treeId - ID
Example
{
  "subscribe": true,
  "liveChat": false,
  "tempData": {},
  "node": NodeObject,
  "nodeCompositeId": 4,
  "tree": Tree,
  "treeId": "4"
}

BotMetaInput

Fields
Input Field Description
subscribe - Boolean
liveChat - Boolean
tempData - JSON
nodeCompositeId - ID
tree - ID
Example
{
  "subscribe": true,
  "liveChat": true,
  "tempData": {},
  "nodeCompositeId": 4,
  "tree": "4"
}

BroadcastGroup

Fields
Field Name Description
type - String!
id - ID
groupId - ID
label - String
messageTs - String
messageId - ID
meta - JSON
Example
{
  "type": "xyz789",
  "id": "4",
  "groupId": "4",
  "label": "abc123",
  "messageTs": "abc123",
  "messageId": "4",
  "meta": {}
}

Channel

Fields
Field Name Description
id - ID! scope ["api:admin", "channel:getBasicInfo"]
_id - ID! scope ["api:admin", "channel:getBasicInfo"]
createdAt - Long! scope ["api:admin", "channel:getBasicInfo"]
updatedAt - Long scope ["api:admin", "channel:getBasicInfo"]
name - String! scope ["api:admin", "channel:getBasicInfo"]
description - String scope ["api:admin", "channel:getBasicInfo"]
app - App! scope ["api:admin", "channel:getDetails"]
appId - ID scope ["api:admin", "channel:getDetails"]
type - String scope ["api:admin", "channel:getBasicInfo"]
relayWebhooks - [String] scope ["api:admin", "channel:getDetails"] No longer supported
webhooks - JSON scope ["api:admin", "channel:getDetails"] No longer supported
verificationToken - String scope ["api:admin", "channel:getDetails"] No longer supported
channelSecret - String scope ["api:admin", "channel:getDetails"]
info - JSON scope ["api:admin", "channel:getPlatformInfo"] No longer supported
Arguments
webchatHydrateLocaleGroup - Boolean
unmaskToken - ID
broadcastGroups - [ChannelBroadcastGroup] scope ["api:admin", "channel:getBroadcastGroupSettings"] No longer supported
meta - JSON scope ["api:admin", "channel:getTreeSettings"]
trees - [Tree] scope ["api:admin", "channel:getTreeSettings"] No longer supported
globalNodes - [NodeObject] scope ["api:admin", "channel:getTreeSettings"] No longer supported
priorityGroups - [ChannelPriorityGroup] scope ["api:admin", "channel:getTreeSettings"] No longer supported
tags - [String] scope ["api:admin", "channel:getBasicInfo"]
inletGroup - Boolean scope ["api:admin", "channel:getBroadcastGroupSettings"] No longer supported
etag - ID scope ["api:admin", "channel:getBasicInfo"]
on - Boolean scope ["api:admin", "channel:getAvailabilities"]
sendOutletMessageViaBot - Boolean scope ["api:admin", "channel:getBroadcastGroupSettings"] No longer supported
livechatAgendas - JSON scope ["api:admin", "channel:getLiveChatSettings"] No longer supported
liveChatAgendaObjects - [LiveChatAgenda] scope ["api:admin", "channel:getLiveChatSettings"] No longer supported
availability - JSON scope ["api:admin", "channel:getAvailabilities"] No longer supported
exclusiveLiveChat - Boolean scope ["api:admin", "channel:getBasicInfo"] No longer supported
locked - Boolean scope ["api:admin", "channel:getBasicInfo"] No longer supported
wabaStatus - String scope ["api:admin", "channel:getPlatformSettings"] No longer supported
wabaError - String scope ["api:admin", "channel:getPlatformSettings"] No longer supported
wabaInfo - JSON scope ["api:admin", "channel:getPlatformSettings"] No longer supported
wabaIntegration - WABAIntegration scope ["api:admin", "channel:getPlatformSettings"] No longer supported
environment - ChannelEnvironment scope ["api:admin", "channel:getEnvironmentInfo"]
Arguments
envId - ID!
environments - [ChannelEnvironment] scope ["api:admin", "channel:getEnvironmentInfo"]
incomingWebhooks - [ChannelIncomingWebhook] scope ["api:admin", "channel:getDetails"]
archived - Boolean scope ["api:admin", "channel:getBasicInfo"]
archivedAt - Long scope ["api:admin", "channel:getBasicInfo"]
connected - Boolean scope ["api:admin", "channel:getBasicInfo"]
Example
{
  "id": 4,
  "_id": 4,
  "createdAt": {},
  "updatedAt": {},
  "name": "xyz789",
  "description": "abc123",
  "app": App,
  "appId": "4",
  "type": "abc123",
  "relayWebhooks": ["abc123"],
  "webhooks": {},
  "verificationToken": "xyz789",
  "channelSecret": "xyz789",
  "info": {},
  "broadcastGroups": [ChannelBroadcastGroup],
  "meta": {},
  "trees": [Tree],
  "globalNodes": [NodeObject],
  "priorityGroups": [ChannelPriorityGroup],
  "tags": ["abc123"],
  "inletGroup": true,
  "etag": 4,
  "on": false,
  "sendOutletMessageViaBot": true,
  "livechatAgendas": {},
  "liveChatAgendaObjects": [LiveChatAgenda],
  "availability": {},
  "exclusiveLiveChat": false,
  "locked": false,
  "wabaStatus": "xyz789",
  "wabaError": "abc123",
  "wabaInfo": {},
  "wabaIntegration": WABAIntegration,
  "environment": ChannelEnvironment,
  "environments": [ChannelEnvironment],
  "incomingWebhooks": [ChannelIncomingWebhook],
  "archived": true,
  "archivedAt": {},
  "connected": true
}

ChannelBroadcastGroup

Fields
Field Name Description
label - String
groups - [BroadcastGroup]
Example
{
  "label": "xyz789",
  "groups": [BroadcastGroup]
}

ChannelConnection

Fields
Field Name Description
edges - [ChannelEdge]
pageInfo - PageInfo
Example
{
  "edges": [ChannelEdge],
  "pageInfo": PageInfo
}

ChannelEdge

Fields
Field Name Description
node - Channel
cursor - ID!
Example
{
  "node": Channel,
  "cursor": "4"
}

ChannelEnvironment

Fields
Field Name Description
envId - ID! scope ["api:admin", "channel:getBasicInfo", "channel:getEnvironmentInfo"]
name - String! scope ["api:admin", "channel:getBasicInfo", "channel:getEnvironmentInfo"]
description - String scope ["api:admin", "channel:getBasicInfo", "channel:getEnvironmentInfo"]
webhooks - JSON scope ["api:admin", "channel:getDetails"]
webhooksV2 - [ChannelWebhookV2] scope ["api:admin", "channel:getDetails"]
on - Boolean scope ["api:admin", "channel:getAvailabilities"]
info - JSON
Arguments
webchatHydrateLocaleGroup - Boolean
unmaskToken - ID
appIntegrationSignature - String scope ["api:admin", "channel:getPlatformInfo"]
availability - JSON scope ["api:admin", "channel:getAvailabilities"]
integration - AppIntegration scope ["api:admin", "channel:getDetails"]
integrationInstalled - Boolean scope ["api:admin", "channel:getDetails"]
group - PriorityGroup scope ["api:admin", "channel:getDetails"]
trees - [Tree] scope ["api:admin", "channel:getTreeSettings"]
treeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
globalNodes - [NodeObject] scope ["api:admin", "channel:getTreeSettings"]
globalNodeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
offTrees - [Tree] scope ["api:admin", "channel:getTreeSettings"]
offTreeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
offGlobalNodes - [NodeObject] scope ["api:admin", "channel:getTreeSettings"]
offGlobalNodeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
livechatTrees - [Tree] scope ["api:admin", "channel:getTreeSettings"]
livechatTreeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
livechatGlobalNodes - [NodeObject] scope ["api:admin", "channel:getTreeSettings"]
livechatGlobalNodeIds - [ID] scope ["api:admin", "channel:getTreeSettings"]
hooks - ChannelHooks scope ["api:admin", "channel:getDetails"]
coreVersion - String scope ["api:admin", "channel:getTreeSettings"]
meta - JSON scope ["api:admin", "channel:getTreeSettings"]
Example
{
  "envId": "4",
  "name": "xyz789",
  "description": "xyz789",
  "webhooks": {},
  "webhooksV2": [ChannelWebhookV2],
  "on": false,
  "info": {},
  "appIntegrationSignature": "abc123",
  "availability": {},
  "integration": AppIntegration,
  "integrationInstalled": true,
  "group": PriorityGroup,
  "trees": [Tree],
  "treeIds": [4],
  "globalNodes": [NodeObject],
  "globalNodeIds": [4],
  "offTrees": [Tree],
  "offTreeIds": [4],
  "offGlobalNodes": [NodeObject],
  "offGlobalNodeIds": ["4"],
  "livechatTrees": [Tree],
  "livechatTreeIds": [4],
  "livechatGlobalNodes": [NodeObject],
  "livechatGlobalNodeIds": [4],
  "hooks": ChannelHooks,
  "coreVersion": "abc123",
  "meta": {}
}

ChannelEnvironmentWebhookDetail

Fields
Input Field Description
webhookId - ID
integrationId - String
alias - String
url - String! Url to receive webhook
memberExtraData - [MemberExtraData] Array of member extra data to be put in webhook
customHeadersData - [CustomHeadersData]
Example
{
  "webhookId": "4",
  "integrationId": "xyz789",
  "alias": "abc123",
  "url": "abc123",
  "memberExtraData": [MemberExtraData],
  "customHeadersData": [CustomHeadersData]
}

ChannelEnvironmentWebhooks

Fields
Input Field Description
normalizedInbound - [ChannelEnvironmentWebhookDetail]
normalizedOutbound - [ChannelEnvironmentWebhookDetail]
Example
{
  "normalizedInbound": [ChannelEnvironmentWebhookDetail],
  "normalizedOutbound": [ChannelEnvironmentWebhookDetail]
}

ChannelHooks

Fields
Field Name Description
preCoreEntry - ChannelPreCoreEntryHooks
postCoreEntry - [HookFunction]
postCoreEntryIds - [ID]
Example
{
  "preCoreEntry": ChannelPreCoreEntryHooks,
  "postCoreEntry": [HookFunction],
  "postCoreEntryIds": [4]
}

ChannelHooksInput

Fields
Input Field Description
preCoreEntry - ChannelPreCoreEntryHooksInput
postCoreEntry - [ID]
Example
{
  "preCoreEntry": ChannelPreCoreEntryHooksInput,
  "postCoreEntry": ["4"]
}

ChannelIncomingWebhook

Fields
Field Name Description
webhookId - ID
url - String
disabled - Boolean
alias - String
integrationId - String
appIntegration - ID
locked - Boolean
Example
{
  "webhookId": "4",
  "url": "xyz789",
  "disabled": true,
  "alias": "abc123",
  "integrationId": "abc123",
  "appIntegration": "4",
  "locked": false
}

ChannelIncomingWebhookActionInput

Fields
Input Field Description
webhookId - ID Used by UPDATE and DELETE action
action - String

CREATE

Create new Incoming Webhooks

UPDATE

Update Incoming Webhooks using webhookId

DELETE

Delete Incoming Webhooks using webhookId

UPSERT

Create Incoming Webhooks if no non-appIntegration Incoming Webhooks exist, otherwise update all non-appIntegration Incoming Webhooks (when called using an appIntegration token, it will check for Incoming Webhook created by the appIntegration instead)

PULL

Delete all non-appIntegration Incoming Webhooks (when called using an appIntegration token, it will delete the Incoming Webhook created by the appIntegration instead)

alias - String
disabled - Boolean
Example
{
  "webhookId": 4,
  "action": "xyz789",
  "alias": "abc123",
  "disabled": true
}

ChannelPreCoreEntryHooks

Fields
Field Name Description
syncHooks - [HookFunction]
syncHookIds - [ID]
asyncHooks - [HookFunction]
asyncHookIds - [ID]
Example
{
  "syncHooks": [HookFunction],
  "syncHookIds": ["4"],
  "asyncHooks": [HookFunction],
  "asyncHookIds": ["4"]
}

ChannelPreCoreEntryHooksInput

Fields
Input Field Description
sync - [ID]
async - [ID]
Example
{"sync": [4], "async": ["4"]}

ChannelPriorityGroup

Fields
Field Name Description
group - PriorityGroup
trees - [Tree]
treeIds - [ID]
globalNodes - [NodeObject]
globalNodeIds - [ID]
groupTrees - [Tree]
groupTreeIds - [ID]
groupGlobalNodes - [NodeObject]
groupGlobalNodeIds - [ID]
offTrees - [Tree]
offTreeIds - [ID]
offGlobalNodes - [NodeObject]
offGlobalNodeIds - [ID]
livechatTrees - [Tree]
livechatTreeIds - [ID]
livechatGlobalNodes - [NodeObject]
livechatGlobalNodeIds - [ID]
coreVersion - String
meta - JSON
override - Boolean
overrideOn - Boolean
Example
{
  "group": PriorityGroup,
  "trees": [Tree],
  "treeIds": ["4"],
  "globalNodes": [NodeObject],
  "globalNodeIds": [4],
  "groupTrees": [Tree],
  "groupTreeIds": ["4"],
  "groupGlobalNodes": [NodeObject],
  "groupGlobalNodeIds": ["4"],
  "offTrees": [Tree],
  "offTreeIds": ["4"],
  "offGlobalNodes": [NodeObject],
  "offGlobalNodeIds": ["4"],
  "livechatTrees": [Tree],
  "livechatTreeIds": ["4"],
  "livechatGlobalNodes": [NodeObject],
  "livechatGlobalNodeIds": [4],
  "coreVersion": "xyz789",
  "meta": {},
  "override": false,
  "overrideOn": false
}

ChannelWebhookV2

Fields
Field Name Description
webhookId - ID
url - String
events - [WebhookEventType]
memberExtraData - JSON
customHeadersData - JSON
alias - String
integrationId - String
locked - Boolean
Example
{
  "webhookId": 4,
  "url": "xyz789",
  "events": ["INBOUND"],
  "memberExtraData": {},
  "customHeadersData": {},
  "alias": "xyz789",
  "integrationId": "xyz789",
  "locked": false
}

ChannelWebhookV2ActionInput

Fields
Input Field Description
webhookId - ID Used by UPDATE and DELETE action
action - String

CREATE

Create new webhooksV2

UPDATE

Update webhooksV2 using webhookId

DELETE

Delete webhooksV2 using webhookId

UPSERT

Create webhooksV2 if webhooksV2 with matching url and events does not exist, otherwise update the matching webhooksV2's memberExtraData and customHeadersData

PULL

Delete webhooksV2 that has matching url and events

url - String
alias - String
events - [WebhookEventType]
memberExtraData - [MemberExtraData]
customHeadersData - [CustomHeadersData]
Example
{
  "webhookId": 4,
  "action": "abc123",
  "url": "abc123",
  "alias": "abc123",
  "events": ["INBOUND"],
  "memberExtraData": [MemberExtraData],
  "customHeadersData": [CustomHeadersData]
}

ChannelWebhookV2Input

Fields
Input Field Description
webhookId - ID
url - String
alias - String
events - [WebhookEventType]
memberExtraData - [MemberExtraData]
customHeadersData - [CustomHeadersData]
Example
{
  "webhookId": 4,
  "url": "abc123",
  "alias": "xyz789",
  "events": ["INBOUND"],
  "memberExtraData": [MemberExtraData],
  "customHeadersData": [CustomHeadersData]
}

Chat

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
sentAt - Long
readAt - Long
deliveredAt - Long
deletedAt - Long
group - Group No longer supported
assignment - Assignment No longer supported
messageEvent - JSON
from - ChatSender
member - Member
memberId - ID
admin - Admin
errors - JSON
failedAt - String
platform - String
channel - Channel
channelId - ID
app - App
appId - ID
tags - [String]
meta - JSON
etag - ID
isMultipleParty - Boolean
Example
{
  "id": 4,
  "_id": "4",
  "createdAt": {},
  "updatedAt": {},
  "sentAt": {},
  "readAt": {},
  "deliveredAt": {},
  "deletedAt": {},
  "group": Group,
  "assignment": Assignment,
  "messageEvent": {},
  "from": "BOT",
  "member": Member,
  "memberId": 4,
  "admin": Admin,
  "errors": {},
  "failedAt": "xyz789",
  "platform": "xyz789",
  "channel": Channel,
  "channelId": "4",
  "app": App,
  "appId": 4,
  "tags": ["abc123"],
  "meta": {},
  "etag": 4,
  "isMultipleParty": true
}

ChatConnection

Fields
Field Name Description
edges - [ChatEdge]
pageInfo - PageInfo
Example
{
  "edges": [ChatEdge],
  "pageInfo": PageInfo
}

ChatEdge

Fields
Field Name Description
node - Chat
cursor - ID!
Example
{"node": Chat, "cursor": 4}

ChatInput

Fields
Input Field Description
externalId - ID external Id
memberId - ID Member Id
channelId - ID! Channel Id
from - ChatSender! Message from MEMBER or BOT
platform - String! Channel platform type (integration id)
sentAt - Long Sent time
deliveredAt - Long Delivered time
failedAt - Long Failed time
messageEvent - JSON Message event
woztellPushId - ID Woztell Push Id
error - Error Failed error
meta - JSON
Example
{
  "externalId": 4,
  "memberId": 4,
  "channelId": 4,
  "from": "BOT",
  "platform": "xyz789",
  "sentAt": {},
  "deliveredAt": {},
  "failedAt": {},
  "messageEvent": {},
  "woztellPushId": "4",
  "error": Error,
  "meta": {}
}

ChatSender

Values
Enum Value Description

BOT

MEMBER

ADMIN

INCOMING_WEBHOOK

Example
"BOT"

Condition

Fields
Field Name Description
id - ID!
_id - ID!
createdAt - Long!
updatedAt - Long
name - String!
description - String
functionString - String
app - App
system - Boolean
systemKey - String
autogen - Boolean
etag - ID
history - [JSON]
tags - [String]
Example
{
  "id": "4",
  "_id": 4,
  "createdAt": {},
  "updatedAt": {},
  "name": "xyz789",
  "description": "abc123",
  "functionString": "xyz789",
  "app": App,
  "system": true,
  "systemKey": "xyz789",
  "autogen": true,
  "etag": "4",
  "history": [{}],
  "tags": ["xyz789"]
}

ConditionConnection

Fields
Field Name Description
edges - [ConditionEdge]
pageInfo - PageInfo
Example
{
  "edges": [ConditionEdge],
  "pageInfo": PageInfo
}

ConditionEdge

Fields
Field Name Description
node - Condition
cursor - ID!
Example
{"node": Condition, "cursor": 4}

Coordinates

Fields
Field Name Description
x - Float
y - Float
Example
{"x": 987.65, "y": 987.65}

CoordinatesInput

Fields
Input Field Description
x - Float
y - Float
Example
{"x": 987.65, "y": 987.65}

CreateActionInput

Fields
Input Field Description
name - String!
description - String
functionString - String
app - ID
tags - [String]
clientMutationId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "functionString": "xyz789",
  "app": "4",
  "tags": ["xyz789"],
  "clientMutationId": 4
}

CreateActionPayload

Fields
Field Name Description
action - Action
clientMutationId - ID
Example
{
  "action": Action,
  "clientMutationId": "4"
}

CreateAgendaInput

Fields
Input Field Description
app - ID
member - ID
tree - ID
nodeCompositeId - ID
nextRunAt - Long
completed - Boolean
lastRunAt - Long
pattern - String
runUntil - Long
type - String
channel - ID
priority - Int
subscriptionPush - AgendaSubscriptionPushConfigInput
replace - Boolean
tag - String
meta - JSON
clientMutationId - ID
Example
{
  "app": "4",
  "member": "4",
  "tree": "4",
  "nodeCompositeId": "4",
  "nextRunAt": {},
  "completed": false,
  "lastRunAt": {},
  "pattern": "xyz789",
  "runUntil": {},
  "type": "abc123",
  "channel": "4",
  "priority": 123,
  "subscriptionPush": AgendaSubscriptionPushConfigInput,
  "replace": true,
  "tag": "xyz789",
  "meta": {},
  "clientMutationId": "4"
}

CreateAgendaPayload

Fields
Field Name Description
agenda - Agenda
agendaRaw - JSON
clientMutationId - ID
Example
{
  "agenda": Agenda,
  "agendaRaw": {},
  "clientMutationId": "4"
}

CreateAudienceInput

Fields
Input Field Description
name - String
description - String
app - ID
filter - AudienceFilterInput
channel - ID
tags - [String]
clientMutationId - ID
Example
{
  "name": "abc123",
  "description": "abc123",
  "app": "4",
  "filter": AudienceFilterInput,
  "channel": "4",
  "tags": ["xyz789"],
  "clientMutationId": 4
}

CreateAudiencePayload

Fields
Field Name Description
audience - Audience
clientMutationId - ID
Example
{"audience": Audience, "clientMutationId": 4}

CreateChannelEnvironmentInput

Fields
Input Field Description
channelId - ID! Target channel Id
name - String! Name for the new channel environment
app - ID
build - Int Integration version build number (default: default environment's version)
clientMutationId - ID
Example
{
  "channelId": "4",
  "name": "xyz789",
  "app": "4",
  "build": 123,
  "clientMutationId": "4"
}

CreateChannelInput

Fields
Input Field Description
app - ID
name - String!
description - String
info - JSON
meta - JSON
tags - [String]
clientMutationId - ID
on - Boolean
Example
{
  "app": 4,
  "name": "abc123",
  "description": "xyz789",
  "info": {},
  "meta": {},
  "tags": ["xyz789"],
  "clientMutationId": 4,
  "on": false
}

CreateChannelPayload

Fields
Field Name Description
channel - Channel
error - GenericError
clientMutationId - ID
Example
{
  "channel": Channel,
  "error": GenericError,
  "clientMutationId": "4"
}

CreateConditionInput

Fields
Input Field Description
name - String!
description - String
functionString - String
app - ID
autogen - Boolean
tags - [String]
clientMutationId - ID
Example
{
  "name": "abc123",
  "description": "xyz789",
  "functionString": "xyz789",
  "app": "4",
  "autogen": true,
  "tags": ["xyz789"],
  "clientMutationId": 4
}

CreateConditionPayload

Fields
Field Name Description
condition - Condition
clientMutationId - ID
parentTrail - String
Example
{
  "condition": Condition,
  "clientMutationId": "4",
  "parentTrail": "xyz789"
}

CreateDataSourceDocInput

Description

Input type for creating datasource doc.

Fields
Input Field Description
app - ID App ID in Stella.
collectionName - String! Datasource id in Stella.
data - JSON The data to insert in datasource.
clientMutationId - ID
Example
{
  "app": "4",
  "collectionName": "xyz789",
  "data": {},
  "clientMutationId": 4
}

CreateDataSourceDocPayload

Description

Return type for creating datasource doc.

Fields
Field Name Description
clientMutationId - ID
data - JSON The data inserted.
Example
{"clientMutationId": 4, "data": {}}

CreateDataSourceInput

Description

Input type for creating datasource.

Fields
Input Field Description
app - ID App ID in Stella.
name - String! Datasource name
description - String Datasource description
clientMutationId - ID
Example
{
  "app": 4,
  "name": "abc123",
  "description": "xyz789",
  "clientMutationId": 4
}

CreateDataSourcePayload

Description

Return type for creating datasource.

Fields
Field Name Description
dataSource - DataSource Datasource that created.
clientMutationId - ID
Example
{
  "dataSource": DataSource,
  "clientMutationId": "4"
}

CreateLocaleGroupInput

Fields
Input Field Description
locales - [String]
name - String
app - ID
clientMutationId - ID
Example
{
  "locales": ["xyz789"],
  "name": "xyz789",
  "app": "4",
  "clientMutationId": "4"
}

CreateLocaleGroupPayload

Fields
Field Name Description
localeGroup - LocaleGroup
clientMutationId - ID
Example
{
  "localeGroup": LocaleGroup,
  "clientMutationId": "4"
}

CreateMemberInput

Fields
Input Field Description
app - ID
channel - ID!
platform - String!
profile - JSON
tags - [String]
meta - JSON
botMeta - BotMetaInput
externalId - ID
botId - ID
admin - ID
group - ID
fbId - ID
firstName - String
lastName - String
profilePic - String
gender - String
locale - String
customLocale - String
email - String
profilePicString - String
clientMutationId - ID
Example
{
  "app": "4",
  "channel": "4",
  "platform": "xyz789",
  "profile": {},
  "tags": ["abc123"],
  "meta": {},
  "botMeta": BotMetaInput,
  "externalId": 4,
  "botId": "4",
  "admin": 4,
  "group": 4,
  "fbId": "4",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "profilePic": "xyz789",
  "gender": "xyz789",
  "locale": "abc123",
  "customLocale": "xyz789",
  "email": "abc123",
  "profilePicString": "xyz789",
  "clientMutationId": 4
}

CreateMemberPayload

Fields
Field Name Description
member - Member
clientMutationId - ID
Example
{
  "member": Member,
  "clientMutationId": "4"
}

CreateNodeInput

Fields
Input Field Description
name - String!
description - String
trigger - ID
preActions - [ID]
responses - [ID]
postActions - [ID]
actions - [ID]
priority - Int
colour - String
path - String
app - ID
compositeId - ID
tree - ID!
global - Boolean!
redirect - RedirectInput
analytics - AnalyticsInput
memberTagging - MemberTaggingInput
type - NodeObjectType
dialogflow - DialogflowSettingsInput
luis - LuisSettingsInput
tags - [String]
clientMutationId - ID
saveCompositeId - Boolean
Example
{
  "name": "xyz789",
  "description": "abc123",
  "trigger": "4",
  "preActions": [4],
  "responses": [4],
  "postActions": [4],
  "actions": [4],
  "priority": 123,
  "colour": "abc123",
  "path": "xyz789",
  "app": 4,
  "compositeId": 4,
  "tree": "4",
  "global": true,
  "redirect": RedirectInput,
  "analytics": AnalyticsInput,
  "memberTagging": MemberTaggingInput,
  "type": "GENERAL",
  "dialogflow": DialogflowSettingsInput,
  "luis": LuisSettingsInput,
  "tags": ["abc123"],
  "clientMutationId": 4,
  "saveCompositeId": true
}

CreateNodePayload

Fields
Field Name Description
node - NodeObject
clientMutationId - ID
Example
{"node": NodeObject, "clientMutationId": 4}

CreateNotificationInput

Fields
Input Field Description
appId - ID
notificationCode - String

A unique identifiable string for the notification for debounced deduplication. Must be used together with timer.

When both the notificationCode and timer are specified, the same notification (with the same notification code) will not be sent out within the time period specified in timer.

timer - Long

Duration in ms for debounced deduplication (e.g. 1s = 1000). Must be used together with notificationCode.

When both the notificationCode and timer are specified, the same notification (with the same notification code) will not be sent out within the time period specified in timer.

color - String
title - String
status - String
message - String
buttons - [NotificationButtonInput]
linkTo - String
publish - Boolean Defaults true. If publish is false, a silent notification will be sent.
sendEmail - Boolean

Defaults false. If true, a JSON representation of the notification will be sent via the email no-reply@woztell.com.

The content of the email can be override by specifying the emailDetail field.

emailDetail - JSON Accepts JSON object { from, to, cc, bcc, subject, text, html, attachments, amp }
clientMutationId - ID
Example
{
  "appId": "4",
  "notificationCode": "xyz789",
  "timer": {},
  "color": "xyz789",
  "title": "abc123",
  "status": "abc123",
  "message": "xyz789",
  "buttons": [NotificationButtonInput],
  "linkTo": "abc123",
  "publish": true,
  "sendEmail": false,
  "emailDetail": {},
  "clientMutationId": "4"
}

CreateNotificationPayload

Fields
Field Name Description
notification - Notification
clientMutationId - ID
Example
{"notification": Notification, "clientMutationId": 4}

CreatePriorityGroupInput

Fields
Input Field Description
name - String!
description - String
app - ID
channel - ID
members - [ID]
tags - [String]
clientMutationId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "app": 4,
  "channel": 4,
  "members": [4],
  "tags": ["xyz789"],
  "clientMutationId": "4"
}

CreatePriorityGroupPayload

Fields
Field Name Description
priorityGroup - PriorityGroup
clientMutationId - ID
Example
{
  "priorityGroup": PriorityGroup,
  "clientMutationId": "4"
}

CreateResponseInput

Fields
Input Field Description
name - String!
description - String
app - ID
localeGroups - [ResponseLocaleGroupInput]
tags - [String]
clientMutationId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "app": "4",
  "localeGroups": [ResponseLocaleGroupInput],
  "tags": ["xyz789"],
  "clientMutationId": "4"
}

CreateResponsePayload

Fields
Field Name Description
response - Response
clientMutationId - ID
Example
{
  "response": Response,
  "clientMutationId": "4"
}

CreateRetryAudienceInput

Fields
Input Field Description
subscriptionPushId - ID!
name - String
description - String
app - ID
tags - [String]
clientMutationId - ID
Example
{
  "subscriptionPushId": 4,
  "name": "xyz789",
  "description": "abc123",
  "app": 4,
  "tags": ["abc123"],
  "clientMutationId": "4"
}

CreateRetryAudiencePayload

Fields
Field Name Description
audiences - [Audience]
clientMutationId - ID
Example
{"audiences": [Audience], "clientMutationId": 4}

CreateSubscriptionPushInput

Fields
Input Field Description
name - String
description - String
messages - JSON

Example:

"messages" : [{

"platforms" : [{

"integrationId" : "woztell-essential-pack", "build" : 1, "localeGroups" : [{

"localeGroup" : "default", "variations" : [{

"name" : "Standard", "responses" : [{

"type" : "TEXT", "text" : "Hello World", "id" : "EQeUe7ZA", "transform" : ""

}] }] }] }] }]

app - ID
tags - [String]
agendaMeta - JSON
includeAudiences - [ID]
excludeAudiences - [ID]
fbMessageTag - String
filter - AudienceFilterInput
members - [ID]
fbOTNTags - [String]
parentSubscriptionPush - ID
scheduleAt - Long
priority - Int
clientMutationId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "messages": {},
  "app": "4",
  "tags": ["xyz789"],
  "agendaMeta": {},
  "includeAudiences": [4],
  "excludeAudiences": [4],
  "fbMessageTag": "xyz789",
  "filter": AudienceFilterInput,
  "members": ["4"],
  "fbOTNTags": ["abc123"],
  "parentSubscriptionPush": "4",
  "scheduleAt": {},
  "priority": 123,
  "clientMutationId": 4
}

CreateSubscriptionPushPayload

Fields
Field Name Description
subscriptionPush - SubscriptionPush
clientMutationId - ID
Example
{
  "subscriptionPush": SubscriptionPush,
  "clientMutationId": "4"
}

CreateTreeInput

Fields
Input Field Description
name - String!
description - String
app - ID
globalNodes - [ID]
nodes - [ID]
workspace - [WorkspaceInput]
version - Int
versionAlias - String
ancestorTree - ID
stash - [ID]
tags - [String]
configMapSchema - JSON
configMap - JSON
type - String
templateTreeId - ID
system - Boolean
clientMutationId - ID
Example
{
  "name": "abc123",
  "description": "abc123",
  "app": 4,
  "globalNodes": [4],
  "nodes": ["4"],
  "workspace": [WorkspaceInput],
  "version": 123,
  "versionAlias": "abc123",
  "ancestorTree": 4,
  "stash": [4],
  "tags": ["xyz789"],
  "configMapSchema": {},
  "configMap": {},
  "type": "xyz789",
  "templateTreeId": 4,
  "system": false,
  "clientMutationId": 4
}

CreateTreePayload

Fields
Field Name Description
tree - Tree
clientMutationId - ID
Example
{
  "tree": Tree,
  "clientMutationId": "4"
}

CreateTriggerInput

Fields
Input Field Description
name - String!
description - String
conditions - JSON
app - ID
templateInfo - JSON
tags - [String]
clientMutationId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "conditions": {},
  "app": 4,
  "templateInfo": {},
  "tags": ["xyz789"],
  "clientMutationId": 4
}

CreateTriggerPayload

Fields
Field Name Description
trigger - Trigger
clientMutationId - ID
Example
{"trigger": Trigger, "clientMutationId": 4}

CreateWhatsAppMessageTemplateInput

Fields
Input Field Description
name - String! WhatsApp Template Name
category - String! WhatsApp Template category
channelId - ID Stella Channel ID
components - JSON! WhatsApp Template Components
language - String! WhatsApp Template language
wabaId - ID WhatsApp Business Account ID
clientMutationId - ID ID generated by relay client for tracking the progress
Example
{
  "name": "abc123",
  "category": "xyz789",
  "channelId": 4,
  "components": {},
  "language": "xyz789",
  "wabaId": "4",
  "clientMutationId": 4
}

CreateWhatsAppMessageTemplatePayload

Fields
Field Name Description
result - JSON
clientMutationId - ID
Example
{"result": {}, "clientMutationId": 4}

CustomAction

Fields
Field Name Description
title - String!
description - String
type - InboxIntegrationCustomActionType!
modalView - String
modalSchema - JSON
url - String
method - String
headers - JSON
body - JSON
api - String No longer supported
customHeaders - JSON No longer supported
customBody - JSON No longer supported
Example
{
  "title": "abc123",
  "description": "xyz789",
  "type": "MODAL",
  "modalView": "abc123",
  "modalSchema": {},
  "url": "abc123",
  "method": "abc123",
  "headers": {},
  "body": {},
  "api": "xyz789",
  "customHeaders": {},
  "customBody": {}
}

CustomHeadersData

Fields
Input Field Description
key - String Name of the custom headers
value - String A value the headers contains
Example
{
  "key": "xyz789",
  "value": "xyz789"
}

DOB

Fields
Field Name Description
date - Int
month - Int
year - Int
Example
{"date": 123, "month": 123, "year": 987}

DOBInput

Fields
Input Field Description
date - Int
month - Int
year - Int
Example
{"date": 123, "month": 987, "year": 987}

DailyActiveMemberOverviewPayload

Fields
Field Name Description
data - [DailyActiveMemberRow]
pageInfo - PageInfo
Example
{
  "data": [DailyActiveMemberRow],
  "pageInfo": PageInfo
}

DailyActiveMemberRow

Fields
Field Name Description
app - App!
appId - ID!
bucket - Long
total_messageEvent - Long
no_of_distinct_member_total - Long
message_messageEvent - Long
no_of_distinct_member_messages - Long
comment_messageEvent - Long
no_of_distinct_member_comment - Long
Example
{
  "app": App,
  "appId": "4",
  "bucket": {},
  "total_messageEvent": {},
  "no_of_distinct_member_total": {},
  "message_messageEvent": {},
  "no_of_distinct_member_messages": {},
  "comment_messageEvent": {},
  "no_of_distinct_member_comment": {}
}

DataSource

Fields
Field Name Description
name - String!
description - String
collectionName - String!
shopifyIntegration - String
data - DataSourceConnection
Arguments
page - Int
size - Int
search - String
sortBy - JSON
dataByQuery - JSON
Arguments
query - JSON
Example
{
  "name": "abc123",
  "description": "abc123",
  "collectionName": "abc123",
  "shopifyIntegration": "xyz789",
  "data": DataSourceConnection,
  "dataByQuery": {}
}

DataSourceConnection

Fields
Field Name Description
edges - [DataSourceEdge]
pageInfo - PageInfo
Example
{
  "edges": [DataSourceEdge],
  "pageInfo": PageInfo
}

DataSourceData

Fields
Field Name Description
data - JSON
Example
{"data": {}}

DataSourceEdge

Fields
Field Name Description
node - DataSourceData
cursor - ID
Example
{"node": DataSourceData, "cursor": 4}

DeleteActionInput

Fields
Input Field Description
actionId - ID!
app - ID
etag - ID
clientMutationId - ID
Example
{
  "actionId": "4",
  "app": "4",
  "etag": 4,
  "clientMutationId": "4"
}

DeleteActionPayload

Fields
Field Name Description
clientMutationId - ID
Example
{"clientMutationId": 4}

DeleteAgendaInput

Fields
Input Field Description
agendaId - ID
app - ID
memberId - ID
completed - Boolean
tag - String
etag - ID
clientMutationId - ID
Example
{
  "agendaId": "4",
  "app": 4,
  "memberId": 4,
  "completed": false,
  "tag": "xyz789",
  "etag": "4",
  "clientMutationId": 4
}

DeleteAgendaPayload

Fields
Field Name Description
clientMutationId - ID
Example
{"clientMutationId": "4"}