Welcome intent creating error in dialogflow - nlp

when I created a welcome intent in dialogflow in which "welcome" event is made.
I get error saying:"Intent with empty contexts and events '[WELCOME]' already exists".
I checked through all my intents for the error.
Previously I deleted a welcome intent is this the reason behind that error?
what can be done now?

The WELCOME event is a way to trigger an intent at the beginning of the interaction with the Dialogflow Agent. Although you can have multiple Welcome Intents (one for each of the supported one-click integrations), you can only have one Default Welcome Intent, which is triggered if no messaging-platform-specific Welcome Intent is set.
Therefore, as per the answer in your comments, you already have an intent with the WELCOME event (the Default Welcome Intent), so the error message you are getting is correct, given that you can only have one WELCOME intent per input context.
If you are interested in having different responses for the Welcome Intent, try adding other Training Phrases and Responses, but you will not be able to create another Intent with the same WELCOME event. Alternatively, you may use a different Input Context, and in that case you can have multiple Welcome Intents, although you should take into account that the new ones will only be triggered if the given context is met.

Related

Is there any way to answer unsaved question in intent in dialogflow

During Chatbot Creation with Dialogflow, suppose user asked some question which wasn't save in intent then how the System will respond that question, in case I'm getting such question, then how we'll deal with it?
When creating a Dialogflow bot you train your bot to respond to phrases by adding them to intents. Any phrases that Dialogflow cannot match to your intents will be handled by a fallback intent. Each Dialogflow bot will have atleast 1 fallback intent called the Default Fallback intent.
In this intent you can set the standard response which you want to use when a user answers with a phrase that your bot doesn't understand.
Besides the default fallback intent you can also add extra fallback intents. You could do this if you want to give a more helpful response to guide your user back on track. This also allows you to set a certain context so that the user doesn't go back to the start of the conversation when they enter something the bot doesn't understand. You can do this by clicking the Add follow-up intent option and selecting fallback from the dropdown.

Is there any possibility in triggering the intent without the help of Training phrases?

I have created 5 intents in a Dialog flow. After completion of first intent, it should automatically go to the second intent without the use of the training phase. Is there any possibility to do that?
This probably isn't what you want to do. Remember that Intents capture what the user says or does and not how Dialogflow should respond.
If you want to do a series of things when the user says one thing, then you can do all those things in your fulfillment webhook. Your webhook is where you actually do something based on what the user has said, and this can be handled in one function call or several calls that you make from your Intent Handler.
There are two possibilities either you can use contexts or if you want to handle sequence from webhook service you can use events.
For webhook solution,
Give each Intent a specific event and action.
In your webhook request you will get action of your intent and you can trigger next event based on current action. => Dialogflow
For context solution
You can add Follow up intents for your each intents, Follow-up-intents

How to access previous conversation details in Dialogflow fallback intent

What would be the best way of accessing the previous conversation details when Dialogflow maps the input to a fallback intent?
We'd like to steer the user back into the right direction by re-prompting the last suggestion chips that were given.
The way we do it now is by manually saving the last suggestions and manually resetting them if the conversation is progressing to new intent. Not optimal and error prone.
It would be good if all fallback intents contained the "last intent/response" information.
I also can't find the isFallback properety on the DialogflowConversation object in the AoG SDK. So we're not able to reliably implement logic in the middleware handler. The isFallback property would be very useful to have access to on the conversation object in intent handler functions.
Any best practices for reliably setting and resetting a memory of last conversation for usage in case of fallback?
You can save all your current intent response details in a new output context. Fetch that previous intent response from the previous intent output context and the use that data to create a new response for the fallback intent.
how about if you use conv.action or conv.intent to check for your fallback intent? You can create a middleware function that stores all the information you need from each conversation in user.data if it is not a fallback intent and use that in your fallback intent handler.

How to connect an back to intent in DialogFlow when the user's utterance is not recognized?

I'm making a bot in Dialog Flow and I have some intents linked together. However, once I end up saying a phrase that's not part of the user says, the bot exits the whole chain of intents and disregards related contexts i try to input next.
Is there a way for me to avoid this situation?
seems like i just needed to use fallback intents, as documented here

How to show a greeting message when BOT starts api.ai / dialogflow in App

I am creating a BOT in Dialogflow on Android.
I want to show a greeting message every time user launches the app.
How to achieve this ?
You just need to mention in the default welcome intent or add an event for that particular intent. If you're using Dialogflow with kommunicate then to show different welcome messages on different pages of your website. Please refer to this doc for info.
You can create a welcome event and when user first time opens the chatbot you have to send just event name in parameter there is no need for the query parameter.
There is provision to do so in api.ai. The event is a feature that allows you to invoke intents by an event name instead of a user query. You just need to define event names for intents. Then, you can trigger these intents by sending a /query request containing an event parameter. Please read the document here: https://dialogflow.com/docs/events

Resources