Define Access to Knowledge

You can define the knowledge that Bot Builder botsClosed A software application that handles customer interactions in place of a live human agent. can access in CXone Expert and pass on to the contactClosed The person interacting with an agent, IVR, or bot in your contact center.. This gives you greater control over who can access CXone Expert knowledge when talking with a bot via Autopilot Knowledge.

You can define access using one or more of the following options: 

Role- and Permission-Based Access

Role- and permission-based access allows you to define the knowledge that the bot can provide based on CXone Expert roles and permissions. You can set up dynamic or static access:

  • DynamicDynamic access allows you to define access to knowledge differently for each person who uses the bot according to roles and permissions in CXone Expert. Setting this up requires pairing authorized user accounts with roles and permissions in Expert. The contact's authorization token is passed to CXone Expert, which provides only the knowledge that the contact has access to based on their permissions. The bot only uses knowledge that the contact has permission to access to generate responses or to suggest articles for the contact.
  • StaticStatic access allows you to define access to knowledge based on a single CXone Expert user, which you assign in the bot's Autopilot Knowledge configurations. The bot can provide any knowledge that's available to it based on the role and permissions of the Expert user you assign to the bot. All contacts receive knowledge from the same pool of possible information.

If you set up both types of role- and permission-based knowledge access, dynamic access takes precedence over static.

Set up Dynamic Knowledge Access

You can use this feature with:

When a token is not provided, the default user type is admin.

The steps for setting up permission-based access to knowledge are different depending on where Autopilot Knowledge is set up. See the steps on this page for your setup:

Set Up Dynamic Knowledge Access from a Third-Party Platform

  1. Follow the instructions An icon of a square with an arrow  pointing from the center out to the upper right corner. in the CXone Expert online help to use the Server API token. This allows you to generate the user-specific authentication token to pass to digitalClosed Any channel, contact, or skill associated with Digital Experience. chat. A code example An icon of a square with an arrow  pointing from the center out to the upper right corner. is available.
  2. In CXone, create a new digital custom field for cases. This field will pass the authentication token into the CXoneplatform.
  3. Use the digital chat JavaScript API command in your chat script to pass the token with every new interaction.

    cxone('chat', 'setCaseCustomField', 'webauthtoken', document.getElementById('mt-user-authtoken').innerText);/*]|>*/ </script>
  4. Add a new parameter called webAuthToken to your Autopilot Knowledge integration script. Use the dynamic value from the case custom field in the new parameter.  In the example, the custom field is called webauthtoken.

    async function main() {
      let fetch = fetchKnowledge(
        Bot.slots['last customer message'].value || 'THIS IS A TESTING MESSAGE',
           { 
    		'webAuthToken': Bot.slots['contact.custom_fields.webauthtoken'].value,
    		'maxWords': Variables ['Generated Reply - Word Count'].value,
    		[truncated]
    

Set Up Dynamic Knowledge Access from CXone Expert

When you set up knowledge access in CXone Expert, you don't need to generate a Server API token. It's automatically generated and available via deki script in Expert. The Server API token allows you to generate the user-specific authentication tokens that are passed to digital chat.

  1. In CXone, create a new digital custom field for cases. This field will pass the authentication token into the CXone platform.
  2. Extract the generated token directly from any CXone Expert page via Deki Script:

    <span id="mt-user-authtoken" class='mt-hide'>user.authtoken</span>

  3. Use the digital chat JavaScript API command in your chat script to pass the token with every new interaction. Use document.getElementById(‘mt-user-authtoken') to extract the token from the Expert page and store the value in the webauthtoken custom field dynamically.

    cxone('init', '2436'); 
    cxone('chat', 'init', 2436, 'chat_26983c3-08e9-49d2-b935-2070e8657c8b');
    cxone('chat', 'setCaseCustomField', 'webauthtoken', document.getElementById('mt-user-authtoken').innerText);/*]|>*/ </script>
  4. Add a new parameter called webAuthToken to your Autopilot Knowledge integration script. Use the dynamic value from the case custom field in the new parameter.  In the example, the custom field is called webauthtoken.

    async function main() {
      let fetch = fetchKnowledge(
        Bot.slots['last customer message'].value || 'THIS IS A TESTING MESSAGE',
           { 
    		'webAuthToken': Bot.slots['contact.custom_fields.webauthtoken'].value,
    		'maxWords': Variables ['Generated Reply - Word Count'].value,
    		[truncated]
    

Set Up Static Knowledge Access

  1. In CXone Expert, set up a user account with the role and permissions that allow access to the knowledge you want the bot to be able to provide to contacts.
  2. In CXone, click the app selector and select Bot Builder.

  3. Click the bot you want to work with.
  4. Click Integrationsicon, which looks like a plug. in the left icon menu.
  5. Click the Scripts tab.

  6. Select the Autopilot Knowledge script integration.

  7. Under Variables, click Expert - UserName to expand it.

  8. In Default Value, enter the name of the Expert user you want to assign to your bot. The default is admin. Your change is saved automatically.

Set Up Page-Level Knowledge Access

You can set up page-level access to knowledge. This allows you to define which pages your bot can send to contacts based on the following criteria:

  • Page privacy: Choose the type of pages the bot can read from based on their privacy setting. You can learn more about page privacy in CXone Expert An icon of a square with an arrow  pointing from the center out to the upper right corner..
  • Page Paths: In CXone Expert, paths organize groups of pages in custom orders with sequential navigation elements. You can specify paths that your bot can read from. You can learn more about paths in CXone Expert An icon of a square with an arrow  pointing from the center out to the upper right corner..
  • Page Tags: In CXone Expert, page tags organize groups of pages by topic. You can specify the page tags assigned to content that your bot can access. You can learn more about tags in CXone Expert An icon of a square with an arrow  pointing from the center out to the upper right corner..

These criteria are set up as script variables in the Autopilot Knowledge script in Bot Builder. For each one that you want to use to define knowledge access, you can configure it with the specific criteria that you want to apply to your bot.

  1. In CXone, click the app selector and select Bot Builder.

  2. Click the bot you want to work with.
  3. Click Integrationsicon, which looks like a plug. in the left icon menu.
  4. On the Scripts tab, click the Autopilot Knowledge script integration.
  5. Under Variables, click the variable you want to use and modify the value as follows: 
    • Expert - Page Privacy: Enter the type of page privacy that you want to use. The default value is Combined. Other possible values are Private or Public.
    • Expert - Page Paths: Enter one or more paths that your bot can read from. Separate each path with a comma ( , ). For example, path_1, path_2, and so on in the variable value, where path_1 and path_2 are the actual paths in CXone Expert.The default value is None.
    • Expert - Page Tags:Enter the names of page tags assigned to content that your bot can access. Separate each tag name with a comma ( , ). For example, tag_1, tag_2, where tag_1 and tag_2 are the actual CXone Expert tag names. The default value is None.
  6. When you're finished making changes, click Train and Stage to update your bot modelClosed Version of a bot that has been trained and staged to test this change.