I have issue with creating custom story like this 'user "do something" on fb page'. I have tried to create "do something" action and create story like ' "do something" on "Link" '. It works well with external links, but don't want to work, when I specify https://www.facebook.com/McDonalds as link. How can I resolve this issue?
Related
Dialogflow ES has an event called 'WELCOME' which makes it possible for the bot to initiate the conversation.
How can I do the same in Dialogflow CX?
There is no entry fulfillment option in the Start Page of Dialogflow CX.
Edit:
Delete the 'Default Welcome Intent' route.
I am unable to perform this. I get the following error.
In 'Default Welcome Intent' change the intent from 'WELCOME' to nothing.
I get the following error. I have set the condition to true. I have also set the page transition to 'onboarding' page.
Please let me know if more screenshots are required.
To accomplish what you're asking, the easiest way would be to:
Open the "Default Start Flow" and select its Start page.
Remove all routes and add a new one.
This new route takes a "custom condition" in the form of true (in the condition pane, click on customize expression and then just type true) and goes to a new page
called "Onboarding" (on the bottom of the route creation page, click on new page and name it Onboarding).
Go to the Onboarding page and add an entry fulfilment "Hello there, how are you doing today?"
in this way every time the default start flow is activated (window is opened) the bot will use that fulfilment.
EDIT:
ok, i tried creating a new agent and i think i solved the problem.
it seems as though we can't erase the default welcome intent, but it doesn't matter.
i created two pages: onboarding and first page. from start i added an always true route to the onboarding page, and i did the same with the onboarding and first page. As you can see from the testing console we only get the expected behaviour for the second transition, look at this:
start page:
onboarding page:
"first" page:
After looking for info on the documentation i think i understood this: from the testing console, google doesn't let you see the actual behaviour of the conversation. If you see the screenshots, when i say "hi" and go the the onboarding page, i get immediately brought to the next page by that "true" transition. Since the same exact sequence is on the start page, the same behaviour should apply there: you only can't see it in the console because "opening the window" in the console is not the same as opening the conversation "in real life".
So, what i suggest you to do is create a new integration or develop a testing environment for the bot, say a website with the messenger integration, a telephony integration or whatever else, and test this onboarding on there. Speaking from personal experience, try with the messenger one maybe: you get a link and you just embed the script in any webpage (works well and easy).
It should work, as in, as soon as you open the conversation, the bot should go the onboarding page and say "hello there!"
So, I'm not sure what your end use-case is, but DFCX (at it's core) isn't exactly designed to initiate an unsolicited message because it's really just a language model with a bunch of features built on top of it.
With that being said, if you want to create a pop-up window for your website chat-widget, you can actually configure this in the integration settings with your embed code. Here's an example:
//The DF Messenger element:
<df-messenger df-cx="true" chat-title="Agent Name" agent-id="<your agent ID>" language-code="en" expand="true"></df-messenger>
//The window load script :
<script src="https://www.gstatic.com/dialogflow-console/fast/messenger-cx/bootstrap.js?v=1"></script><script>
window.addEventListener('dfMessengerLoaded', function (event) {
const dfMessenger = document.querySelector('df-messenger');
const openText = ('<The Text You Want To Display On Page Load>');
dfMessenger.renderCustomText(openText);
});
</script>
Please note this will only work if you have the DF Messenger Integration enabled on your agent. See the docs for integrating DF Messenger here
1.Use the attribute intent inside the df-messenger tag in your UI/HTML page
2.Then create a Custom Event in Dialogflow CX (By clicking on Event handler '+' icon)
3.Check the 'use custom event' checkbox and provide event name and provide a text response in fulfillment section of this custom event.
4.Finally provide this custom event name as value to the attribute intent(mentioned in step 1)
please refer to this document for df-messenger HTML customizations https://cloud.google.com/dialogflow/cx/docs/concept/integration/dialogflow-messenger#html-customize
According to Dialogflow CX documentation, the WELCOME event (although not visible in the Start flow) is also available. As you can see in this link and the picture below.
To invoke this event, you have to use the detectIntent method of a Session client. You'll need to specify the event name in queryInput.event.event of the request used in detectIntent.
Hope this helps!
I would like to know how can I Get the HITID of my surveys of Mturk ? It's easy to see on TurkPrime, but on MTurk I can't seem to find it.
Thank you !
The HITId is not easily accessible on the Requester website, which uses "batches" instead of HITs to organize the interface. If you visit the "Manage HITs Individually" page, you will find a listing of HITs. The HITIds for each are not visible, but you can find them by either:
Doing an "inspect element" action from your browser's context menu on the iframe displaying the HIT. The HITId will be in the URL of the iframe's src attribute, or
Click on "Delete this HIT" (or just copy the link to that page). The HITId is part of the URL.
Another option, which requires that you created the HIT in the requester website (not on TurkPrime or anywhere else) and requires downloading a file, is to click the "Download CSV" for the appropriate batch. The HITId will be listed in the CSV.
Navigate to Manage HIT and select the HIT you want to get her HITID. Press the results button and download the results CSV file. The first two columns in the CSV are HITId and HITTypeId.
You can get it by going here: https://requester.mturk.com/mturk/manageHITs
Then hover over "Delete this HIT":
Right click and copy the URL. Analyze the URL and you'll see the HIT ID as a parameter.
The format will be something like:
https://requester.mturk.com/mturk/manageHIT?viewableEditPane=manageHIT_delete&HITId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
It's the value after &HITId=
This past week, Mechanical Turk made finding the HITTypeId easier when you use the Requester UI. Here's how it works:
Visit http://requester.mturk.com and login
Click the Create tab
Click "New Batch with Existing Project"
Click on the "Project Name"
A pop up lightbox will appear. It used to show only "Layout ID" and "Layout Parameters" but it now also shows "HITTypeId"
To get the HITIds, the best approach is to download the CSV results which include the HIT IDs for your batch.
Hope that helps!
I apologize for the beginner question but I don't know where else to turn.
I have the following code in my website:
<script>
FB.Event.subscribe('edge.create', function(href, widget) {
alert('You just liked the page!');
});
</script>
On the developer page, it states that it will record likes in the database. Well, how do I view them?
The button shows up fine and everything is working properly but I just don't know how to view them.
Thank you.
The code you have posted is for notifying your page (in Javascript obviously) that the user viewing the page has 'liked' it. This is not actually needed in order for the Like functionality to work.
You need to have the Like button on the page already for someone to Like the page (eg. by using the tag with the necessary Javascript SDK loaded - http://developers.facebook.com/docs/reference/plugins/like/ - though it sounds like you already have that done).
As for viewing the 'likes', your Like button will tell you how many people have liked it (if you have that option set), however you cannot directly view who actually Liked your page as Facebook do not allow that (privacy concerns)
The script that you posted can be modify to perform other actions, for example you could make an AJAX call to your own server to record information of the 'like' - eg. if the users are logged in, then you would know who it was that liked it.
I have an iPhone app (http://getnowapp.com) that lets you "Like an experience".
I would like to integrate it on the Facebook timeline with Open Graph.
I set up the "Like" action on Opengraph but got rejected with the following reason:
"Your Action failed the criteria: You are trying to submit a custom action which is not permitted. Please delete this action and submit a built-in version of this action instead."
So it seems Like is not an acceptable action as it already exists in Facebook.
However, you can "Like a Pin on Pinterest" without any issues.
Am i missing something here?
Thanks!
Ben
As you figured out, "like" action is already defined by facebook and that's why you can't define a new one.
I guess what pinterest does is to use the like connection that is already supported by Open Graph API to "Like." https://developers.facebook.com/docs/opengraph/actions/#like_actionI'm not quite sure because I haven't used this action, though.
POST https://graph.facebook.com/ACTION_ID/likes?access_token=YOUR_ACCESS_TOKEN
And just in case you are interested, you can see some insights of pinterest's implementation. here
I create my first application and I'm testing like button, I use auto-generated code for button from facebook documentation. I click on button, everything seems to be ok, but next I want to retrieve "like data" from user, using https://graph.facebook.com/me/likes but my application is not there? I have done some tests using other applications, but everything was ok :-(
So, the question is, how i can retrieve this info?
You need to request the user_likes extended permission from the user (when they authorize your application) to view their Likes. Further information can be found at:
http://developers.facebook.com/docs/authentication/permissions