Supported Browsers and Minimum Screen Resolution

Oracle Digital Assistant complies with the Oracle Software Web Browser Support Policy.

For the Digital Assistant user interface to properly render, you need a minimum native screen resolution of 1280x1024.


For the list of browsers supported by Digital Assistant's Oracle Web SDK, see the Web SDK documentation.

Issues Fixed in 20.08

  • Some special characters not recognized by Web SDK 20.6.1
  • Rebase issues:
    • Rebase hangs if the same version as the current extension for the re-based DA is selected
    • When selecting a different version, the rebase fails with an error.
  • On the Configuration tab of a digital assistant's Settings page, changing any of the float values to 0.0 causes the page not to load anymore on future visits.
  • Web SDK - scrollbar not provided for the list of autocomplete suggestions.
  • Browser Find feature (Ctrl-F or Command-F) only works for currently visible part of dialog flow.
  • Ctrl-Z/Cmd-Z does not work for undoing dialog flow changes after changes have been auto-saved
  • Issues with Insights export conversion tool.
  • System.CommonResponse component throws NullPointerException when a variable of type string is already populated.
  • When a digital assistant is configured with a custom UnresolvedIntent and that flow passes the turn to the user, the digital assistant doesn't intercept the message.
  • Import of digital assistant fails with no explanation.
  • In Microsoft Teams channels, need to be able to disable interactive buttons and fields after user performs an action.
  • Inline attachments sent through Microsoft Teams and Slack can't be retrieved using the attachment URL provided.
  • Answer intents are limited to 2048 characters. (The limit is now 10,000 characters.)
  • Conversation utterances not displaying for System.CommonResponse and System.List actions.
  • DA as Agent: when the session ends due to a return statement in the dialog flow, bot should not disconnect.
  • In Advanced Input mode for utterances, utterances are not added, but new intents are created.
  • Web SDK - Property disablePastActions = 'none' is not working.
  • After removing the last intent from the last page (when there are multiple pages of intents), the UI incorrectly shows that the skill has no remaining intents.
  • The waitingMessage property in the System.AgentInitiation component and the waitMessage property in the System.AgentConversation component are not being translated even though the correct values exist in the resource bundle.
  • Web SDK - When calling Bots.sendAttachment() after disabling both the attachment and typing indicator features, a TypeError occurs.
  • Web SDK -When using Bots.sendMessage() with hidden:true, the message is hidden the first time but not after that.
  • Web SDK - Links with href = " (with spaces around =) will cause the link to be malformed.
  • System.ResolveEntities: cast error when resolving composite bag item of dynamic entity type.
  • DA as Agent: Button indicates channel is disabled even for when it is enabled.
  • Entity matches don't work correctly when there are multiple values with the same synonyms.

Current Known Issues

Can't Import, Clone, or Version Skill Because of Invalid State Name

Starting with Release 20.08 of Oracle Digital Assistant, it is no longer possible to create, import, version, or clone a version of a skill that has dialog flow state names that contain special characters, spaces, or the System. prefix.

If you need to import such a skill, first manually change its state names. To do so, unpack the skill's zip file, expand the dialog folder and open the .yaml file that it contains in a text editor, edit the state names, and then repackage the skill. When repackaging the skill, be sure that the dialog folder, bot.json, etc. remain at the root level of the zip (i.e. don't include the folder that contains them in the repackaged zip).

Linked Instance Menu Item Doesn't Work

When clicking Settings > Linked Instance, the page does not open and an error appears.

This happens in instances where the Linked Instance feature does not apply. The feature is intended only for instances that are paired with Oracle Cloud Applications instances.

Do Not Create Intents in the Retrainer Report

Do not use the Retainer's Add Intent function (denoted by the + icon directly beneath the Add To drop down) to create new intents. New intents should only be created on the skill's Intents (Intents icon) page. You can still use the Retrainer to match user input to the skill's existing transactional and answer intents.

Can't Create a Test Case for a Digital Assistant

When trying to create a test case for a digital assistant (by opening the tester, click Test Cases and then clicking + Test Case), the + Test Case button is deactivated.

This problem occurs with digital assistants that were created before version 20.06 of Oracle Digital Assistant.

Workaround: Create a new version or clone of the digital assistant and then try creating the test case for it.

Change in Exported Insights Logs

The data format for both the skill and data management export of Insights changed in Version 20.06. To convert the exported logs to the prior format, contact Oracle Support.

Authentication Fails in Voice-Enabled Web App Based on Web SDK v. 20.5.1

If you have a voice-enabled web app that is based on version 20.5.1 of the Oracle Native Web SDK and that points to a bot that requires client authentication, authentication will fail. This is due to an incompatibility between the version 20.06 of the Oracle Digital Assistant runtime and version 20.5.1 of the SDK.

To fix this problem, update your app to use version 20.6.1 of the Oracle Native Web SDK.

Exporting of Insights Fails Part Way Through

When doing large exports of Insights data, the export sometimes breaks off part way through, particularly if there is more than 1 GB of data in the export.


  • Log in to the instance using Mozilla Firefox as your browser and then try exporting again.
  • Periodically check how much Insights data you have stored and export it before you have reached 1 GB of stored data. See Monitor Insights Data Storage Capacity.

Authenticated User ID for Application-Initiated Conversation Returned in Lower Case

If you have set up a skill to initiate a conversation with a user via the application-initiated conversations feature and the skill requires users to authenticate with Oracle Identity Cloud Service, the authenticated user ID is returned in all lower case, even if the user ID has upper case characters. Therefore, when invoking the application-initiated conversation, the message payload should supply the user IDs in all lower case.

Upload of Custom Component Package Fails Because of Nested TGZ Files

The cause of this might be that the package has gotten too large to upload because it contains nested .tgz files for each time you have run bots-node-sdk pack.

If you run into this problem, make sure that there is an .npmignore file in the root of the custom component package. (This file is created when you first create the custom component package using the SDK.) That file should contain these entries:


The presence of the .npmignore file with those contents will ensure that the previous version of the .tgz file won't be included when you update the package.

Upload to Embedded Component Service Results in Failed to fetch custom component metadata, error response: 504

The typical cause for this error is that your component folders contain non-component files. The directories that you name in the components array in the main JavaScript file should point to directories that contain only component files. This includes files in any subdirectories.

Say, for example, that the main JavaScript file sets the components array like the following code example. This statement tells the component service upload process to look in the components directory structure for the custom component definitions. The server will look at every file in the directory structure and try to process each one as a custom component. If there are files in that directory structure that aren't custom components, the upload process fails because it can't parse the file as a custom component.

module.exports = {
   components: [

If you get this error, create a separate folder, such as helpers, in the same folder that main.js is in. Then move the non-component files into it, and modify your code accordingly.

Custom Component Service Creation Fails or Import of Skill with Custom Component Service Fails

Oracle Digital Assistant now limits the number of custom component services per instance. You won't be able to do any of the following once you have the maximum of custom component services:

  • Add a custom component service.
  • Version or clone a skill that has a custom component service.
  • Import a skill that has a custom component service.

To see the component service limit, look up embedded-custom-component-service-count on the service limits page in the Infrastructure Console. If you need to raise the limit, you can request an increase. For more information, see View Service Limits in the Infrastructure Console and Requesting a Service Limit Increase.

Invalid Component Path Error When Uploading Package to Custom Component Embedded Service

If you get an invalid component path error when you upload a package to an embedded custom component service, the cause is typically one of the following conditions:

  • One of the files contains invalid JavaScript. When this happens, open your JavaScript files in an editor that highlights syntax errors to find the cause.

  • Your package doesn't contain the node modules that the JavaScript depends on. The inclusion of dependencies is required in version 19.4.1 and later. Check your package.json file to insure that all node module dependencies are listed. If not, enter the following commands from a terminal window. Repeat the second command for each node module that your JavaScript depends on (except for bots-node-sdk):

    $ cd <folder that contains package.json>
    $ npm install <module>

    The second command adds the module to the node_modules folder and adds it as a dependency in package.json.

    When you package your JavaScript for uploading to an embedded service, always use this command from Oracle Bots Node SDK version 2.2.2 or higher.

    bots-node-sdk pack

    This command adds all the node modules that are in the dependents section of package.json to the bundledDependencies section, and includes the node modules in the TGZ file.

If you export a skill from a previous version, and the skill uses embedded custom components, you will most likely get an error when you use the skill because the component service's package doesn't contain the dependencies. If this happens, download the TGZ file from the custom component service page, unpack the TGZ file, add the node module dependencies as described above, and re-import the package.

For more information, see Prepare the Package for an Embedded Container Service in Using Oracle Digital Assistant


When an instance is upgraded to 19.4.1, the dependencies are added automatically to the custom component packages as part of the upgrade.

In REST Start Export Insights Task, until Parameter Is Ignored

In POST /api/v1/bots/insights/dataExports REST operation, if you provide the until query parameter without providing the since parameter, the operation will ignore the until parameter and use the current day's date instead.

REST Export Insights Task Fails for a Digital Assistant When Insights Disabled

The Insights export (POST /api/v1/bots/insights/dataExports) for a digital assistant fails if any of the digital assistant's skills don't have insights enabled.

To resolve the issue, create a version of the skill, enable insights, publish it, and update the digital assistant to use the new version.

REST Insights Export Job Fails with a Closed Stream Error

If you invoke POST /api/v1/bots/insights/dataExports with the maxFileLength query parameter, the job might fail with a stream closed error. If this happens, try using a higher maximum file length or omit the maxFileLength parameter.

Change in GET /sessions Authentication and URI for Conversation Log from 19.4.1 to 20.01+

Beginning with Oracle Digital Assistant 20.01, there are several changes that affect custom components that access the Digital Assistant REST API:

  • The IDCS confidential application, client ID, and secret that you use to get the access token have changed.

  • The scope for retrieving the access token is different.

  • The path for invoking the GET /sessions method to get the conversation log has changed.

If you have a custom component that you created in 19.4.1 or earlier and that accesses the Digital AssistantREST API, you'll need to update that component for instances that have been migrated to 20.01 or later:

  1. Get the new client ID and secret: Your administrator can get the OAuth token endpoint, client ID, and client secret by following these steps:

    1. Sign in to the Infrastructure console.

    2. To get the OAuth token endpoint, click the menu icon in the top-left corner to open the navigation menu, click Identity, and then click Federation. Click the name of the identity cloud service, and make a note of the fully-qualified domain name (FQDN) portion of the Oracle Identity Cloud Service Console URL.

      For example, if the Oracle Identity Cloud Service Console URL is, then the FQDN is

    3. To construct the OAuth token endpoint, concatenate https://, the FQDN, and /oauth2/v1/token. For example:

    4. To get the client ID and client secret, click the menu icon in the top-left corner to open the navigation menu, and then click Digital Assistant.

    5. On the Digital Assistant Instances page, select the root compartment, then click the name of your Digital Assistant instance.

    6. Click the Tags tab, copy the idcsAppConsoleUrl, and then go to that URL in your browser.

    7. On the application page, click the Configuration tab.

    8. Expand General Information, and copy the values shown for the client ID and client secret.

  2. Update the client ID, client secret, and scope in the access token request: Do one of the following:

    • If the skill uses the built-in System.OAuth2Client component to get an access token to pass to the custom component, then you need to update the associated authentication service to use the new client ID and secret. In addition, you must change the scope. The OAuth scope is a concatenation of https://, the Digital Assistant instance's fully-qualified domain name, and /api/v1. For example, For information about authentication services, see Add a Client Credentials Service in Using Oracle Digital Assistant.
    • If the custom component retrieves the access token, then modify the code to use the new client ID and secret. In addition you must change the scope. The new OAuth scope is a concatenation of https://, the Digital Assistant instance's fully-qualified domain name, and /api/v1. For example,
  3. Update the GET /sessions request in the custom component code to include the channel ID and user ID: The new GET /sessions path is /api/v1/bots/sessions/{channelId}/{userId}/{sessionId}/log. Currently, the user ID value is the same as for session ID. You can get the channel ID by calling conversation.channelId(). Here's an example:

    const conversationUri = 
        "/api/v1/bots/sessions/" + 
        conversation.channelId() + "/" +
        conversation.sessionId() + "/" + 
        conversation.sessionId() + "/" +

GET /api/v1/bots/sessions/{sessionId}/log returns 410 Gone

Digital Assistant versions 19.4.1 and earlier provided the GET /api/v1/bots/sessions/{sessionId}/log API to retrieve a conversation log. In version 20.1, the API end point changed to GET /api/v1/bots/sessions/{channelId}/{userId}/{sessionId}/log.

For custom components that were implemented for 19.4.1 and earlier, you must change the REST call to use the new end point. You also need to use a new client ID, client secret, and scope to get the access token. For further details, see Change in GET /sessions Authentication and URI for Conversation Log from 19.4.1 to 20.01+.

Insights Retrainer: UI Remains Inactive After Selecting the Draft Version of Skill

While the Retrainer options for published skills are inactive by design, they can sometimes remain inactive even after you've selected a draft version of a skill. If this happens, select the draft version of the skill a second time. The options will then become available, allowing you to update the draft version with new training data.

Clones of PizzaBot and PizzaBotWithMemory Display Misleading Error Message

The Skill Store contains two skills that have custom components. The custom components in these skills, and skills that are extended from them work. However, if you clone the skills, you'll see this message:

Note: For the just cloned <skill name> skill, version 1.0 — BotsCustomComponents: The component package does not contain "node_modules". Please make sure that the NPM modules for any dependencies are already included in your package (if required). For more details, please refer to

You can ignore this message. While the package file declares the moment module as a dependency, the custom component doesn't use that module, so you don't need to fix anything.

Oracle Web SDK: initUserHiddenMessage Prevents the Skill's First Response from Being Read Aloud

On some browsers, the skill's first response to the user can't be read aloud when the SDK is initialized to send the hidden message (initUserHiddenMessage: 'Hi', for example) when the widget is in expanded mode when the page is loaded (openChatOnLoad: true).

Because the first audio response from the skill requires an invocation from a user action, this issue may not occur all of the time. For example, the skill's first response would be read aloud if the user interacts with the widget in some way before the hidden message has been sent (a click, a touch, or a keyboard action, for example), or when the host app makes a call to the Web Speech API before the widget has been initialized. To enable this call, add a one-time one-time event listener for the page. For example:
const firstInteractionMockUtterance = () => {
    if ('speechSynthesis' in window) {
        speechSynthesis.speak(new SpeechSynthesisUtterance(''));
document.body.addEventListener('click', firstInteractionMockUtterance, { once: true });

File Uploads in Web Channel Fail

In web channels, file uploads from the host site may fail and throw a console error similar to the following:

https://<oda-instance>/chat/v1/attachments from origin <client site> 
has been blocked by CORS policy: No Access-Control-Allow-Origin header is present 
on the requested resource

This is because the host site's CORS (Cross-Origin Resource Sharing) settings, which block all cross-origin HTTP requests, may also block upload requests from the client instance to the Oracle Digital Assistant attachment server.

If you run into this problem, update the host site's security policy to allow the domain for the Digital Assistant instance.

Note: Because the conversation uses WebSocket connections, CORS does not impact the conversation.

Ensure that You're Integrating with a Compatible Oracle Service Cloud Version

Digital Assistant agent-transfer integration is only compatible with Versions 18C and higher of Oracle Service Cloud. The chat window will not render in the Oracle Service Cloud console when you integrate your skill with versions previous to 18C.

Digital Assistant digital-assistant-agent integration is only compatible with Versions 19C and higher of Oracle Service Cloud.

Export of Q&A CSV File Fails Without Categories

Though the Categories field is optional when adding questions through the Q&A framework, you need to add a category for each Q&A item if you want to export the data source file as a CSV. If you haven't included categories for questions, add them using the Edit Question dialog, then export the data source.

Attachments Don't Get Uploaded in Slack Channel

Users who access a skill or digital assistant through a Slack channel and who are not the owner of the Slack workspace are unable to upload attachments.

Instant Apps Deprecated

Starting with Release 19.1.5, the Instant Apps feature of Oracle Digital Assistant is deprecated.

It is no longer possible to develop new skills with instant apps or to import skills that contain instant apps.

If you have any skills in production that use instant apps, please reach out to your customer success contact immediately to update those skills to not use instant apps.

One possible approach is to update those skills to use a hosted webview app.

Enable Insights After Importing a Skill

When you import an existing skill, Insights is disabled by default. Turn it on from Settings > General > Enable Insights.

clientId/clientSecret and retentionPeriod Intermittently Display Incorrect Values

The clientId/clientSecret and retentionPeriod can intermittently display incorrect values when they are updated. This happens when more than one developer is working on the same skill at the same time.

To avoid this, ensure that only one developer works on a skill at any one time.

You Need to Enter Extra Input in the Skill Tester

When you test the agent integration components in your dialog flow from the tester in the UI, the tester displays the initial welcome message from the agent. You won't see any further messages from the agent until you enter something from the tester.

When you use the skill from a messaging platform, you won't need to enter anything. This just happens in the tester.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit or visit if you are hearing impaired.