Dialogflow follow-up intents not working? "Action" in training agent says "Not available." - facebook

I'm trying to create a Facebook chatbot that only responds initially to each unique inquiry. I have about 25 intents with unique responses triggered by unique training phases. These are working fine.
However, I ran into the issue where the customer would continue chatting and the chatbot would continue responding. Basically, every time the customer sent something, the chatbot would respond, resulting in an infinite loop which frustrated the customer.
I saw a video that said creating a "follow-up intent" under the intent and setting the lifespan of the output context to 2 would solve the problem. I tested it with my default welcome message and it worked. For example, if the customer said "Hi," chatbot would respond "Hello." If again, the customer said hi in that same conversation, the chatbot would not respond.
HOWEVER. When I applied the follow-up intents to the other 24 intents, they did not work. Only the default welcome intent was working correctly. I set all the lifespans to 2, made sure to save, and even refreshed the page. In the training agent, I noticed the action for the working welcome message was "Fallback.Fallback-fallback" while the action for the non-working 24 other intents was "Not available."
Does anyone have a solution to this? Or an alternative solution to the issue of looping conversations?
Thank you.

Related

Facebook Handover Protocol : "Page Inbox" not available as Secondary Receiver

I'm trying to use the Facebook Handover Protocol with an app connected to a chatbot (made with Rasa), following the facebook documentation.
The chatbot is correctly connected to a Page and it's app is subscribed to the webhooks : messages, messaging_postback, messaging_handover and standby
Then I can set the app as primary receiver in the Page settings, but for the Secondary Receiver, "Page Inbox" is not in the list.
If I try to fill nothing for the secondary receiver, I have an error when requesting the Pass Thread Control API.
I would like to allow an operator to respond directly in the inbox rather than having to set up a second app that manages this. I saw many examples where "Page Inbox" is in the list of the secondary receiver and I don't understand why I don't have it..
https://flow.ai/blog/handle-facebook-messenger-handovers
Am I missing something? Is this option subject to EU restrictions or no longer available?
Thanks in advance :)
After several days of unsuccessful research, I gave up hoping to get an answer here or on the Facebook Dev forum.
However this morning when I wanted to try again, I noticed that the "Page Inbox" option mysteriously appeared ...
So I think the main reason could be that I was using a Facebook Page and an app created on the same day and hadn't spent a lot of time setting up the Page.
While waiting for a response to my problem, the only things I have changed are adding a username, profile picture, and banner.
Maybe it was necessary to add these (I am mainly thinking of the page username), maybe we just had to wait for some sort of "verifications" from the facebook side.
This screenshot is from the day this question was written: No "Page Inbox" option
And this one is from today: "Page Inbox" appeared

What could be the reason for a Google Action with external endpoint (API) to work on the Actions Console Simulator, but not as deployed?

I am new to the whole creation-process of Google Actions.
I created an Action with the new Action Console.
It has an fulfillment endpoint to my server (as example: www.mypage.com/api).
For testing purposes it has no authentification, so it generates a public API response.
Said API generates a simple JSON response based on a send event handler.
In short: Action onEnter sends handler to API, API queries SQL database and sends the response back to my Google Action that then "speaks" the SQL result.
The result with the Actions Console Simulator is:
Testing with "Smart Display device: everything works.
Testing with "Speaker (e.g. Google Home): everything works.
Testing with "Phone": main intent is invoked and text is shown but does not get spoken.
So i tested the command "Hey Google, talk to the unicorn app" directly on my smartphone.
Here **everything works fine ** as said smartphone has the same e-mail like the one on my Action Console account: it recognizes the main invocation command and when i ask by voice to get the data, the data is received from my server and spoken.
So something is wrong with the "Phone" device in the simulator. This has been confirmed by me from other users saying that they often have trouble with the simulator function correctly.
I then deployed my Action.
It was reviewed and approved.
A few seconds later i received an auto-email saying that there were too many errors with my app, asking me to check its health status. I did so and in the Health tab, i can see that it has an error but it does not show me what the error is.
THEN I CONTACTED A ACTIONS-ON-GOOGLE EXPERT
They helped me a lot into the right direction but could not go deeper into the problem as my connection (the endpoint API) is outside of their servers.
So i ended with their tip on checking the Google Cloud Logging Console.
As said Logging Console is also new for me, i learned on how to query my results but:
How can i query for the so called "is_health_check" flag?
I am asking this because the Google Expert recommended me to search for said flag but i do not know on how to query it.
Sorry for this ultra-long entry but i am trying to be as transparent to you as possible, as i have been trying this out for several days now.
Thanks in advance for your time, ppl!
So the error is simple once that you know how Google handles the external webhooks. Thanks to the help of 2 Actions-On-Google Experts i was informed that Google pings your external Webhook from time to time.
As soon as they get an error as result from said ping, the Action will be deactivated from the Assistant until a new ping response sends that everything is fine again.
My problem was that after deploying the action and while it was under reviews, i continued to work on the code on my server. While coding, the Google server pinged and received an error code.
My fault, but at least i learned the thing about pinging your action!

Dialog Flow - Integration issues with Google Assistant

We are working on project using Google Home.
Details:
We have built certain intents in Dialog Flow. It has certain follow-up questions to get the parameter values, as a multi-turn dialogue. When testing using Dialog Flow, test console, I am asking
Can you help in booking a table: It prompts back with right question (Where do you want to book a table) as configured in Dialog Flow
Where do you want to book a table : I answer - "Some Restaurant". It prompts back with right question (When do you want to book a table) as configured in Dialog Flow
When do you want to book a table: I answer: "Today" . It prompts back with right question (For how many guests) as configured in Dialog Flow.
For how many guests? - I answer: "4 people." It ends the conversation, as configured in Dialog Flow.
The above conversation works perfectly fine as expected.
When I test using the integration for Google Home (using simulator with action SDK) [See how it works in Google Assistant]
Invoke the app (by using the explicit invocation - Talk to [APP NAME]) - App gets invoked with the right greeting message as configured
After that when I ask the questions as mentioned - above - app leaves the conversation? Nothing is answered back.
Not sure why this issue is happening - anything I am missing in the configuration?
Walk through your intents and make sure the 'set this intent to end conversation' is not set to enabled in Dialogflow (and if you're using a webhook not ending there). Look down at the Responses section in DF.
Start with Welcome Default intent, and then check each intent, all follow-up prompts.
For personal gmail accounts, the Web&App activity, when turned on, it automatically gets enabled.
For gsuite accounts, even when the Web&App activity turned on, it needs to be enabled by the admin of that organization. Only after when it is enabled, the simulator will behave as expected.
I think Actions straight up doesn't work for some (all?) Gsuite accounts, regardless of what permissions you set. Google knows but doesn't care. I spent weeks in an Actions support conversation on this topic and they ultimately punted me to the Gsuite team, who couldn't help. See also:
Sorry, this action is not available in simulation
Actions on Google won't respond to explicit invocations

When does Facebook Page Conversation webhook is triggered?

Does anyone know when Facebook triggers this webhook?
https://developers.facebook.com/docs/graph-api/webhooks/reference/page/#conversations
I suppose to get thread id from this webhook, but seem that it never triggered no matter how I change the conversation (e.g make new conversation, change flags,...)
Turned out that it takes quite long time before it starting to send conversation callback. It works OK now.

Soundcloud Developer Key

I applied twice in the google forms for a developer key for soundcloud to use a widget on my website. It has been more than 3 weeks and I have still not got any reply from them. What do I do?
I'm afraid you just have to wait until they respond. I have applied 3 times now and keep getting rejected and the response is a generic answer not explaining why you were denied. For me I think it is the APP URL, yet they don't explain, it is so frustrating.
Did you try email api#soundcloud.com on my first rejection they were very friendly and replied with advice, however second time they did not.
You can also try calling help on +4930467247600 however they have not worked for me.
Lastly I read online that one person heard nothing from them for weeks and checked his SoundCloud developer page under 'YOUR APPS' and his app was there set up and with the client id and secret etc. He was just never informed that he got it. So hopefully that is the story in your case.
For me it took four weeks. I contacted them via Twitter and Email. They responded but all they said was:
"As mentioned previously, we’re currently working through applications
as quickly as possible, although there has recently been more requests
than usual lately causing delays.
You should receive confirmation soon though."