All text in italics comes directly from the NICE inContact documentation and help center.

(Optional reading) Technical detail: Rationale for selecting the password grant type

NICE uses OAuth 2.0. According to https://developer.niceincontact.com/Documentation/APIAuthenticationToken

In the current version of the NICE inContact API Framework, only the Implicit, Password, and Client "grant types" are fully implemented. Support for the Authorization Code grant type will be added in a future release.

  • The implicit grant type is only valid for 60 days.
  • The client grant type only allow the Patron API scope.

Implicit and Password tokens are required when making API calls that require a "user context". For example, retrieving a list of agents from the platform requires a user context, and the API call will fail if the user specified does not have the required permissions (even if the user name and password are valid).

Therefore, we must use the password grant type.

(Optional reading) Technical detail: Rationale for creating a new user account

Password tokens are valid for 3600 seconds and include a refresh token that is valid for 7200 seconds.

Since this is a very limited window of time, MaestroQA must be able to generate the password token.

Your application uses the username and password to request and receive an API Authentication Token directly from the NICE inContact authorization server. Password tokens contain information about the authenticated user. The user is authenticated by sending the user name and password along with the token request. If the user name and password are valid, a token is granted.

This means MaestroQA will require a username and password, which would best be set up as a separate user only to be used by MaestroQA in NICE.

Note: Required security profile permissions: API Applications Create

Part 1: Set up a new user within NICE inContact

Create a new username and password for use by MaestroQA. Please be sure to generate a strong password.

https://help.incontact.com/Summer20/EN/Content/Admin/Users/ManageUsers.htm#CreateaUser

Grant API Applications Create security profile permissions.

https://help.incontact.com/Summer20/EN/Content/Admin/SecurityProfiles/PermissionsModal/SecurityProfilePermissionsTabAccountPermissions.htm

Part 2: Register the MaestroQA application

Log in as the newly-created MaestroQA user.

Create the MaestroQA API Application. https://help.incontact.com/Summer20/EN/Content/ACD/APIApplications/CreateAnAPIApplication.htm

Internal Applications are used for API Applications that you want to write for use in your Business Unit or to use for access to the Developer Portal (https://developer.incontact.com). External Applications are API-based applications that are made available for you from NICE inContact (such as the Agent for Salesforce) or from a 3rd party vendor.

If possible, select Authorize External Application. If not possible or if MaestroQA cannot be found, select Register Internal Application.

Set both the "Vendor Name" and "Application Name" to MaestroQA unless you wish to customize this to something else.

If the Type is Internal, select an "API Scope" of both AdminApi and ReportingApi. This should not be required if the Type is External.

The "Authorized Callback URLs" field can be left blank.

Part 3: Retrieve your Business Unit Number

After this is completed, you will need to retrieve your "Business Unit Number". If this is not known, you may have to log in to an administrator account to access the Business Unit Details tab.

https://help.incontact.com/Summer20/EN/Content/ACD/BusinessUnits/BusinessUnitDetailsTab.htm

Part 4: Enter credentials into MaestroQA

Go to https://app.maestroqa.com/settings/integrations and select "NICE inContact".

Submit the following information:

  • Username
  • Password
  • Application Vendor Name (This should be MaestroQA unless customized to something else)
  • Application Name (This should be MaestroQA unless customized to something else)
  • Business Unit Number
Did this answer your question?