Troubleshooting

Filter this document's content by the agent type tag:

Filter this document's content by the category tag:

API call gets permission denied

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: API, Auth

Issue

Received PERMISSION_DENIED response for API call.

Solution

Ensure you have set up (Conversational Agents (Dialogflow CX), Dialogflow ES) authentication and roles correctly. In particular, ensure you have done the following:

  • Created a service account and did not accidentally delete it.
  • Provided the service account with a role that grants permission to call the desired method.
  • Downloaded the service account private key file.
  • Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the private key file.

API call mentions unknown project

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: API, Project

Issue

Received Dialogflow API has not been used in project 32555940559 error for API call.

Solution

Ensure you have done the following:

  • Set the GOOGLE_APPLICATION_CREDENTIALS environment variable (see PERMISSION_DENIED).
  • Provided the correct project ID to the API call.

API call gets invalid authentication credentials error

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: API, Auth

Issue

Received Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. response for API call.

Solution

This may be due to manually creating credentials with your client library while specifying a non-default region. See one of the following for guidance:

API call response requests a switch to a different host

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: API, Auth

Issue

Received Please switch to 'REGION-dialogflow.googleapis.com' to access resources located in 'REGION' response for API call, where REGION is a specific region ID.

Solution

This happens when you specify the region in the request, but not the endpoint. See one of the following for guidance:

Missing fields in the API call response

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: API

Issue

Some fields are missing in the API response.

Solution

If you expect a numeric value for a specific field in the API response, the field may be absent from the response if the returned value is 0.

For more information on the default value behavior (including non-numeric values), see:

Unable to delete project because of lien

Agent type tags: Dialogflow ES
Category tags: Project

Issue

When trying to delete a Google Cloud project, you get a notification that the project cannot be deleted because it has liens, and one of the liens is related to Dialogflow ES.

Solution

  1. Make sure that you no longer need the Dialogflow ES agent associated with the project. If you get a notification that the agent doesn't exist, this means that it has already been deleted.

    Dialogflow ES Console

    Open https://dialogflow.cloud.google.com/#/agent/project-id/intents.

    Note that this link differs from the link in the Google Cloud project deletion dialog.

    Dialogflow API

    Use the search method of the agent type.

  2. Get the lien name.

    gcloud

    Use the gcloud alpha resource-manager liens list command, as described in the Listing liens on a project documentation.

    API Explorer

    Use the Try this API panel on the Method: liens.list page:

    • Fill out the parent field, as suggested in the parameter description.
    • Click Execute.
  3. Delete the lien.

    gcloud

    Use the gcloud alpha resource-manager liens delete LIEN_NAME command, as described in the Removing liens from a project documentation.

    API Explorer

    Use the Try this API panel on the Method: liens.delete page:

    • Fill out the name field with the lien name that you got at step 2.
    • Click Execute.
  4. Shut down the project.

Dialogflow CX webhook fails with deadline exceeded error

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Runtime

Issue

A webhook that was called from Dialogflow CX may fail with this error message:

Webhook call failed. Error: DEADLINE_EXCEEDED

This may happen because the webhook call exceeds the webhook timeout limit. These are possible reasons for the webhook call to exceed the timeout limit:

  1. Trying to trigger an inexistent intent.

  2. A cold start issue with the webhook backend (for example, Cloud Functions).

  3. The webhook calls other services, increasing the response time.

  4. No connection between agent and webhook backend (for example, misconfigured Load Balancer).

  5. Organization policy preventing ingress traffic or Dialogflow methods from being run.

Workaround

A webhook has a 5-second timeout limit by default. You can increase the webhook timeout limit when you create or edit the webhook resource, which would provide more time for the webhook to respond.

Console fails to set up project

Agent type tags: Dialogflow ES
Category tags: Console, Project

Issue

Received Failed to set up GCP project error when creating an agent with the console.

Solution

You may not have permission to create Google Cloud projects. Check if you can create a Google Cloud project directly from the Google Cloud Console. If you are not able to create a project, follow the recommendations provided in the error message.

Session parameter reference shown in the response

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Console

Issue

Responses returned from Dialogflow include the parameter references instead of the values of the parameters. For example:
Hello, $session.params.customer_name

The parameters won't be resolved and the parameter reference will be shown if the parameter is not found in the current session, or if the parameter is not being used according to its type.

Solution

This issue may appear due to the parameter being used has not been included in the conversation, has a typo, or has a different type than the used type.

Console fails agent creation when API has not been enabled

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Console

Issue

Received Dialogflow API has not been enabled for the project. Code: FAILED_PRECONDITION error when creating an agent with the console.

Solution

Follow the setup steps to enable the Dialogflow API.

When attempting to access console from organization account, receive service error

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Console

Issue

Received You don't have access to this service error when attempting to access the console from your organization account.

Solution

Contact your organization's system administrator, and verify that your organization's settings provide access to the console.

If your organization's settings should allow access, and you migrated your account from a different organization, your account may have been flagged as restricted by Google. This is likely the problem if other users in your organization can access the console, but you cannot. Contact support to get assistance.

Cannot export agent in JSON format due to missing flow

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Console

Issue

Agent export as raw bytes completes successfully, but exporting the agent in JSON format fails with a similar error message to this:

Flow 'projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/flows/FLOW_ID' does not exist
in the agent

This issue can be caused by a test case that is referencing a flow that has been deleted.

Solution

To solve this issue, explore unused test cases to confirm if the flow referenced in the error message is being used in any test cases. Then delete the confirmed test cases.

Phone gateway connectivity

Agent type tags: Dialogflow ES
Category tags: Integration

Issue

When using phone gateway, you get a busy signal or the call drops.

Solution

There are quotas and limits for this feature. If you receive a busy signal or the call drops, you may have exceeded your quota.

Dialogflow CX Messenger no response

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Integration

Issue

No agent response for Dialogflow CX Messenger interactions.

Solution

If you are not seeing any responses from Dialogflow CX Messenger, make sure that billing is enabled on the project and the Dialogflow API is enabled on the project. See the setup instructions.

Parameter value matched while not being an entity synonym

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: NLU

Issue

General case: A parameter value is extracted at runtime, even though the entity corresponding to the parameter doesn't contain the matched value as a synonym.

A more specific case: After a synonym has been deleted from an entity and the agent has been retrained, this synonym is still extracted as a parameter value for this entity.

Solution

  1. Use the search option to check if the matched value may be present in the agent as an implicit entity (Conversational Agents (Dialogflow CX), Dialogflow ES). Find all the intents that have annotations with this parameter and entity.

  2. Fix the annotations by making sure that none of these annotations are applied to the text representing the undesired matched value.

  3. Test the agent at runtime to verify if the issue is resolved.

  4. If the issue persists, make sure that Automatic expansion and Fuzzy matching options are unchecked in the advanced entity settings and test the agent again.

Voice bot skips some responses

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Text-to-Speech

Issue

For an agent designed for both text and voice, the voice bot does not read some of the responses.

Solution

If at least one output audio text response is defined for a particular conversation turn, make sure that the output audio text option is consistently present throughout the agent's fulfillment and webhook responses at all steps for this conversation turn.

SSML tags don't take effect

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Text-to-Speech

Issue

SSML tags are defined in the agent fulfillment, but the voice bot reads the synthesized text without SSML effects.

Solution

Make sure that only one <speak></speak> pair is present per one response card in the Dialogflow console or per one response message object if responses are supplied via the API or webhook.

Voice agent pronounces zero as letter O

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Text-to-Speech

Issue

For an agent designed for voice, the voice agent reads zeroes as letter O instead of zero.

Solution

  1. Change Agent says to use Output audio text dialogue option.
  2. Check SSML checkbox.
  3. Surround your text with an SSML tag:
      <speak>
        <say-as interpret-as='verbatim'>YOUR_TEXT</say-as>
      </speak>
    
  4. Save.

For example, credit card numbers zeroes will be spelled as zeroes.

      <speak>
        <say-as interpret-as='verbatim'>5177 7702 8500 4578</say-as>
      </speak>
   

Unexpected synthesized pronunciation

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Text-to-Speech

Issue

Synthesized pronunciation of agent responses (for example, proper names, acronyms) is not as expected.

Solution

To guarantee particular pronunciations for not commonly known words, use the SSML say-as or phoneme tag in agent responses.

Reached the maximum allowed state machine execution steps

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Runtime

Issue

Received the following error message in the Conversational Agents (Dialogflow CX) console or in the logs when sending runtime requests to the agent:

You have reached the maximum allowed state machine execution steps. You may consider simplifying your agent/flow design. Current execution steps are: [<array_of_objects>]

The array in the error message contains a list of execution steps for the request. The list may be incomplete if the number of steps is too large.

Solution

This error message usually indicates that the number of transitions for a single conversation turn is too large. A common example is transitioning to the same page, which creates an infinite loop.

To solve the issue:

  1. Copy the JSON array from the error message.
  2. (Optional) Format the copied array as pretty JSON for better readability. If the error message is truncated, search for the last "Step" object, delete the incomplete step object and the preceding comma, and add a closing array bracket before validating and prettifying the JSON.
  3. Look at the "TriggeredTransitionRouteId" and "TargetPage" values for each step. In the case of infinite loop, the "TriggeredTransitionRouteId" and "TargetPage" fields have repeating values for most of the steps.
  4. Modify your agent design to remove the infinite loop transitions or to reduce the number of transitions for a single conversation turn.

Regular expression match is too broad

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Regex

Issue

Received an error Regular expression match is too broad when creating a regexp entity (Conversational Agents (Dialogflow CX) , Dialogflow ES).

Solution

Consider the following approach:

  • Use ^ and $ in the regular expression to indicate the beginning and the end of text respectively.
  • Use the regexp entity with a required parameter (Conversational Agents (Dialogflow CX), Dialogflow ES)
  • Define the required parameter prompts to ask the end-user to provide only the entity value without any surrounding words.

Undesired non-alphanumerics inserted by speech recognition

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Speech-to-Text

Issue

When trying to match alphanumerics, undesired non-alphanumerics characters (spaces, dashes, and so on.) are inserted by the speech recognizer, which results in the entity not being matched.

Solution

  1. If you use system entities for matching numbers, consider using regexp entities (Conversational Agents (Dialogflow CX) , Dialogflow ES) instead.
  2. Follow all the recommendations from the section Inaccurate alphanumerics speech recognition by regexp entities.
  3. For matching numbers via telephony integrations, consider a DTMF option in addition to voice recognition.

Empty transcripts for voice inputs

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Speech-to-Text

Issue

Dialogflow responses for voice inputs return empty transcripts. The requests are handled as no input or no match.

Solution

Listen to the audio recording to confirm that it contains speech.

Make sure that speech adaptation is enabled in the agent settings (Conversational Agents (Dialogflow CX), Dialogflow ES).

If enabling speech adaptation doesn't help, experiment with the following speech models in a non-production setup and use the one that renders the best results:

  • latest_short
  • phone_call
  • command_and_search

For languages other than English, find the supported speech models in the Speech-to-Text supported languages documentation.

The way to specify a speech model depends on how you set up interactions with Dialogflow.

  • For API requests, provide the model name in the model field in InputAudioConfig (Conversational Agents (Dialogflow CX) , Dialogflow ES).

  • If you use Phone Gateway (Conversational Agents (Dialogflow CX) , Dialogflow ES), you can update the speech model in the conversation profile that was created by Dialoflow when you enabled the integration:

    1. Retrieve the conversation profile ID:

      • Use the conversationProfiles.list method to retrieve all conversation profiles linked to your project.
      • Find the conversation profile you'd like to update and copy the name field value.

      For Dialogflow CX Phone Gateway, the conversation profile display name can be found in the integration settings. For Dialogflow ES Phone Gateway, the conversation profile display name corresponds to the agent name in which integration was enabled.

      If you have multiple conversation profiles with the same display name, verify the agent ID in the automatedAgentConfig field from the conversationProfiles.list method response.

    2. Use the conversationProfiles.patch API method to update the model field in SpeechToTextConfig.

  • For Contact Center AI integrations, check with your telephony integrator on how to update the speech model for the integration or for individual requests.

Blank screen with error 'File size exceeds 2MB' when comparing agent versions

Agent type tags: Conversational Agents (Dialogflow CX)
Category tags: Console

Issue

When trying to compare two different agent versions, the screen turns blank with the error message:

File size exceeds 2MB

This issue is due to one of the files exceeding 2MB in size.

Solution

To compare agent versions where one of the files exceeds 2MB in size, it is recommended to use the API method compareVersion.

Inaccurate alphanumerics speech recognition by regexp entities

Agent type tags: Conversational Agents (Dialogflow CX), Dialogflow ES
Category tags: Speech-to-Text, Regex

Issue

Received inaccurate transcripts for voice inputs of alphanumerics designed to be matched to a regexp entity (Conversational Agents (Dialogflow CX) , Dialogflow ES).

Solution

  1. Make sure that speech adaptation is enabled in the agent settings (Conversational Agents (Dialogflow CX), Dialogflow ES).
  2. Make sure that at least one entity entry follows all the regex entry requirements (Conversational Agents (Dialogflow CX), Dialogflow ES).
  3. For specific patterns, use the most specific regular expressions. For example, for an alphanumeric that starts with two letters followed by five digits, use [a-zA-Z]{2}\d{5} instead of [a-zA-Z0-9]{7}.
  4. Make sure that your regexp entity allows for matching non-alphanumerics (spaces, dashes, and so on.) that may be inserted by the speech recognizer. To meet the requirement #2 from this list, create multiple entity entries: one entry to satisfy the requirements #2 of this list and another one to account for non-alphanumeric. For example, to match five digits and allow for non-alphanumerics:
     \d{5}
     (\d[^a-zA-Z0-9]*){5}
    
  5. Make sure that your agent follows the parameter definition requirement (Conversational Agents (Dialogflow CX), Dialogflow ES).

    Example for Conversational Agents (Dialogflow CX)

    Required parameter in Conversational Agents (Dialogflow CX)

    Example for Dialogflow ES

    Required parameter in Dialogflow ES
  6. Make sure that your agent follows the training phrases annotation requirement (Conversational Agents (Dialogflow CX), Dialogflow ES).

    Example for Dialogflow ES

    No annotations in training phrases in Dialogflow ES
  • Make sure that your tests follow the testing guidelines (Conversational Agents (Dialogflow CX) , Dialogflow ES).
  • To remove non-alphanumeric characters that may have been inserted by the speech recognizer, use the following:
  • Check speech adaptation limitations (Conversational Agents (Dialogflow CX) , Dialogflow ES).