Create, update and delete users via API

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

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 this link with a user email and a password. See more about GraphQL authentification.

Create a user

Description of mutation field

To create a new user via the GraphQL API, 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

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

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*

If you don’t know which role to pick, please see the following documentation: Help Center - Choose the right role for the user account

  • 2 ⇔ operator

  • 3 ⇔ manager

  • 4 ⇔ admin

  • 5 ⇔ expert

  • 6 ⇔ developer

  • 7 ⇔ bot

skillIds

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: Help Center - Use the skills

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
      }
    }
  }
}

Update a user

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

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
    }
  }
}

Last updated