Developer Platform
  • Home
  • Getting Started
    • General Information
    • Features Overview
    • Security
  • APPs
    • Public Apps
      • Shopify
      • Salesforce
      • Zendesk
      • Google Analytics
    • Build your App
      • Getting started
      • My Apps
      • App information
      • App Parameters
      • App Plugins
      • Add Webhooks
      • Submit your Apps
      • App security
      • Developer Policy
  • Use Cases
    • Copilots
      • Product Catalog sync through API
      • FAQ sync through API
    • Visitor experience
      • Integrating custom buttons into your site
      • Check availability before escalating to iAdvize
      • Authenticated Messaging
        • Introduction
        • Web client-side implementation
          • Authenticated Messaging overview
          • Brief timeline of the integration process
          • How to enable authenticated mode in the administration portal?
          • How to implement the customer authentication backend (token provider)?
          • How to authenticate with iAdvize in client's website?
          • How to deal with activation success or failure?
          • How to logout?
          • Compatibility with Mobile SDK
          • FAQ
        • Web backend implementation
          • Important information and recommendations
          • Signature and Encryption Detailed Process
          • Technical backend implementation
          • FAQ
      • Cross-domain Conversation Continuity
      • Customize replies with Markdown
    • Agent workspace
      • Custom App example and step-by-step tutorial
        • Get Started
        • Work with the Desk
        • Intent / Trigger
        • JWT
        • References
    • Administration
      • Users
        • SAML SSO Authentication - Implementation Guide
        • Create, update and delete users via API
        • Manage the availability of your users with the iAdvize API
        • Integrate the iAdvize conversation panel into an existing tool
    • Data & Analytics
      • Anonymize a conversation or visitor data
      • Create a custom dashboard
      • Find contact data using GraphQL
      • Retrieve conversations data
      • Retrieve messages exchanged within a conversation
  • Technologies
    • GraphQL API
      • Terminology
      • Reference
      • Authentication
      • Schema lifecycle
      • Error Management
      • Pagination
    • REST API (deprecated)
      • Statistic (deprecated)
      • Group (deprecated)
      • Call meeting (deprecated)
      • Operator (deprecated)
      • Skill (deprecated)
      • Transaction (deprecated)
      • Visitor (deprecated)
    • Webhooks
      • Reference
      • Guides
    • Desk events
      • Reference
    • Web & Mobile SDK
      • Javascript Web SDK
        • Reference
      • Javascript Callbacks
        • Reference
        • Guides
      • Mobile SDK
        • Fourme (latest)
        • Epoisses
        • Dauphin
        • Cantal
        • 🤝Support Policy
        • 🤔Frequently Asked Questions
    • Custom App
    • External Bot
      • Implementation
        • Configuration flow
        • Conversation flow
        • Conversation objects
      • Configuration
      • FAQ
      • Best practices
Powered by GitBook
On this page
  • Pre-requisite: recovery of your GraphQL API keys
  • Create a user
  • Description of mutation field
  • Examples of user creation
  • Update a user
  • Delete a user

Was this helpful?

  1. Use Cases
  2. Administration
  3. Users

Create, update and delete users via API

You can use the iAdvize API to import your users, create new ones or update them automatically.

PreviousSAML SSO Authentication - Implementation GuideNextManage the availability of your users with the iAdvize API

Last updated 1 year ago

Was this helpful?

Importing or modifying users allows you to automate the management of your users to:

  • create your users in bulk,

  • synchronise your users between applications (user provisioning),

  • automate the creation of a user according to your needs,

  • update user information (username, password, group, ...),

  • modify the configuration of your users' communication channels etc.

Pre-requisite: recovery of your GraphQL API keys

API authentication uses temporary and revocable access keys.

Please note that the lifetime of the key is 24 hours

You can generate an access key by calling the url mentioned in with a user email and a password. about GraphQL authentification.

Create a user

Description of mutation field

To create a new user via the , you can enter all the fields below - only those with a star are required:

Informations
Descriptions

avatar*

Avatar’s URL

channels

  • callConfiguration

    • clickToCallPhoneNumber

    • hasPriorityOnCall*

    • isAlwaysAskForNumber*

    • isEnabled*

    • respondFrom*

    x CLICK_TO_CALL_NUMBER

    x DESK

  • chatConfiguration

    • hasPriorityOnChat*

    • isAllowChatToVideo*

    • isEnabled*

    • isSimultaneousCallAllowed

    • numberOfSlots*

  • thirdPartyConfiguration

    • isEnabled*

    • numberOfSlots*

  • videoConfiguration

    • hasPriorityOnVideo*

    • isEnabled*

Configuration of user communication channel(s)

countryPreferences*

  • dateFormat

    • DMY

    • MDY

    • YMD

  • interfaceLanguage*

  • languages*

  • timeFormat

    • CLASSIC

    • MERIDIAN

  • timezone

Date format:

  • DMY Example: 31/12/2024

  • MDY Example: 12/31/2024

  • YMD Example: 2023-12-31

User’s interface language (ISO format)

User’s language (ISO format)

Time format:

  • CLASSIC Example: 13:55

  • MERIDIAN Example: 01:55 PM

User’s timezone:

Example: "Europe/Paris"

email*

User email

externalId

Id representing the user in the client’s system

firstName

User first name

groupId

lastName*

User last name

password*

User password (that he will change on first connection)

projectIds*

Projects assigned to the user, determining which projects the user can manage conversations for

roleIds*

roleIds*

  • 2 ⇔ operator

  • 3 ⇔ manager

  • 4 ⇔ admin

  • 5 ⇔ expert

  • 6 ⇔ developer

  • 7 ⇔ bot

skillIds

userName*

Displayed under the user’s avatar in the chatbox

Examples of user creation


mutation MyMutation {
  userCreate(input: {lastName: "Vergez", email: "mvergez@test.com", password: "iAdvize123!", roleId: 6, userName: "Matt", avatar: "https://ha.iadvize.com/admin/public/images/account/profile-pic-icon.svg", projectIds: 6661, firstName: "Matt", countryPreferences: {interfaceLanguage: fr, languages: "fr"}}) {
    user {
      avatarUrl
      email
      firstName
      id
      lastName
      projects {
        edges {
          node {
            id
            name
          }
        }
      }
      userName
      createdAt
      deletedAt
      avatar
      interfaceLanguage
      isDeleted
      spokenLanguages
      pseudo
    }
    userErrors {
      ... on UserError {
        __typename
        message
      }
    }
  }
}

mutation MyMutation {
  userCreate(input: {lastName: "Vergez", email: "mvergez@test.com", password: "iAdvize123!", roleId: 6, userName: "Matt", avatar: "https://ha.iadvize.com/admin/public/images/account/profile-pic-icon.svg", projectIds: 6661, firstName: "Matt", countryPreferences: {interfaceLanguage: fr, languages: "fr"}}) {
    user {
      avatarUrl
      email
      firstName
      id
      lastName
      projects {
        edges {
          node {
            id
            name
          }
        }
      }
      userName
      createdAt
      deletedAt
      avatar
      interfaceLanguage
      isDeleted
      spokenLanguages
      pseudo
    }
    userErrors {
      ... on UserError {
        __typename
        message
      }
    }
  }
}

Update a user

In this mutation, only the fields to be modified must be filled in. Fields that are not filled in won’t be updated.

Delete a user

You will need the userId in 6 digit format.

Here is an example of a GraphQL query to delete the user with userId XXXXXX:

mutation MyMutation {
  userDelete(input: {userId: XXXXXX}) {
    userErrors {
      ... on UserHasOngoingConversationsUserDeleteError {
        __typename
        message
      }
    }
    userId
  }
}

If all goes well, here's the response you'll get from the GraphQL API:

{
  "data": {
    "userDelete": {
      "userErrors": null,
      "userId": XXXXXX
    }
  }
}

Groups are used to partition information and user exchanges in the iAdvize administration. For more information on user groups, please see the following documentation:

If you don’t know which role to pick, please see the following documentation:

Skills can be managed after user creation through userSkillsAdd, userSkillsRemove, userSkillsSet mutations. The user's skills can be used to determine which routing group the user will be a member of. For more information on creating and using skills, please see the following documentation:

Use the mutation "userUpdate" instead of "userCreate". All the fields in the part are editable except for the userId field. However, this field is mandatory in the mutation to ensure that the correct user is modified.

this link
See more
GraphQL API
Create a user
Help Center - Use the user groups
Help Center - Choose the right role for the user account
Help Center - Use the skills