Dialogflow #sys.email entity is not identifying emails - dialogflow-es

In my intent I am expecting the user to provide his/her email address.
I tried using #sys.email entity to identify the email from training phrases, but it is not identifying the email address.
What could be the issue ? When I searched the web I saw similar question being asked in some Google Groups, but could not find the answer.
EDIT:
Here is a screenshot the intent page showing Training Phrases and Actions and Parameter:
Other than the email's in screen shot I've tried with several other email id's, work and personal, It did not identify any of them.

Thanks for the screenshot, I now understand your problem and was able to recreate it.
At first, I tried similar approach and added some user phrases but did not tag them with #sys.email. DialogFlow was also not able to tag them itself, and hence it is not able to extract emails as well.
After that, I manually tagged the email address from the user phrases with #sys.email and then it worked fine.
So, tag the email addresses in the training phrases with the entity #sys.email and try again. It should work.
Hope it helps.

It's possible to extract the user details like email, username, and phone number, etc. You need to use the "Action and Parameters" option in Dialogflow.
After adding the training user phrases in the Dialogflow intent, Dialogflow will tag the email part with #sys.email. Sometimes DialogFlow would not be able to tag them itself. So you may need to drag and manually tag the email address from the user phrases with #sys.email
If you are using any tools as interface then you can use JSON to update it. Please refer to this article for more details and the steps

Related

How do you make sure you're getting the correct user's email in Dialogflow when they are speaking it?

Hi I'm not a coder and need guidance.
I'm creating a simple skill for Google Assistant in Dialogflow where the goal is to get a user's email. However, when I test it out verbally in Google actions console most of the time it picks up the wrong email address, (I'll say nhs.com and it thinks I'm saying something different) even though I have put example emails in the entities bit.
What is the solution around this? Is it possible to ask permission in Dialogflow to get a users data? I think Google Assistant says no you can only do that (account linking) if you build in Google Assistant? Can you ask the user to verbally spell out their email address, although no idea how you would go about doing that.
It is not recommended to ask the user for their email. Emails can have a very difficult structure consisting of characters and numbers. Because of this Google provides you with the option to retrieve the users details via accountlinking. I've listed some options for retrieving an email.
1) Google Sign-in (Requires Code)
Since you said you aren't a coder it will be a bit challenging to get the user's email easily. Your best option would be to use Google Sign-in accountlinking. This provides your bot with a flow that asks the user permission to use their email automatically.
To be able to use this code, you might have to use some code since I do not know if Dialogflow supports retrieving the user email from the webpage when using accountlinking.
The benefit of Google Sign-in is that you will get the active email that is in their Google profile.
2) Regex entity (Requires some technical knowledge about regex)
Dialogflow supports a feature called Regex Entities. With these entities you can provide a regex which will look through the user input for a pattern. If the user input matched the pattern it will take this from the user input. In your case you would need a regex to check for an email pattern.
With a regex entity the user can be prompted to tell their email. With this you approach you won't be certain if it actually is their real email and you might have to add a flow to double check if there weren't any typos in the email.
3) Email entity (Least technical option)
As Rally mentioned in the comments, Dialogflow also supports an email entity. This can be used to automatically detect an email in your user's input. Though it is an easy option to use, I've noticed that it doesn't always detect every email and since you can't improve it's behavior, it might not be the best choice. It definitely is the least technical option, but it might not always work.

How to make the chatbot redirect a unknown answer to my email so I can manually answer the problem?

I’m new to Dialogflow and I want to make a chatbot for faq and troubleshooting. I want the chatbot to send me responses that I do not know how to answer so I can manually contact the people whose problems have not been solved. How do I achieve this automatically?
I am assuming you will have different intents for your FAQ system, so that if user asks a question it will be matched to specific intent and bot will send a response according to that matched intent.
Now if none of the intents matched, it will go to Default Fallback Intent where you ca enable the webhook. In the webhook, you can write a function to send email yourself with the user query and other user details so that you can check and reply to the user.
As previously mentioned, you could have your endpoint recognise that the fallback intent has been triggered, but you will also need to obtain the users email which is outlined here Get email from user using Google actions , otherwise you wont be able to get back to the user with a response.

Error in getting custom location or address in dialogflow

I'm new to dialogflow and using version 2. Configured a project and integrated into Facebook Messenger.
One of my intent has a response, "Where does this event happening?", and there is a followup intent which expects an address or location.
So I configured the followup intent with a parameter of entity #sys.location.
But this not working always.
For example, if the user gives "Thiruvananthapuram" (A city in Kerala, India), it is recognised as a geolocation. But if someone gives "Trivandrum" (a second name to the same city, recognized by Google), it's not recognised as a geolocation.
All I need in my webhook server is the latitude/longitude of the location, which is entered by user. So what are alternatives, or am I doing it wrong?
Note-1 : Used #sys.address, but there is same issue.
Note-2 : I'm thinking, there is a better way by giving #sys.any , collecting that info in webhook and accessing Google's Geocode API for lat/long. What do you think?
Check the history and see what Speech to text is giving for "Thiruvananthapuram". It may be an issue of recognising the speech correctly. #sys.location which will be similar to issue with recognising Non-English names using #sys.given-name.

Branch.io: Extract custom value from link

we're facing a problem right now: We're using the SMS gateway feature from branch.io which simply does not work properly worldwide (e.g. Lituanian cell phones won't receive any messages at all).
Therefore i need a fallback method for people that cannot receive an SMS to their phone with the downloadlink in the Appstore. (The branch.io Links have an effect on the branding of our app)
The fallback is to let them use a voucher code which COULD be generated from a custom value that we store for each Link
This is an ordinary Link with its 2 custom values
The landing page http://learnmat.ch/spark7 opens in the browser and i'd like to be able to identify the SponsorID on the website so that i can return a voucher code that is suitable for the specific SponsorID of the Link.
Right now i've already integrated the Web SDK into the website.
Is that "reverse engineering of the SponsorID" possible based on the Link and the WebSDK integration?
I'd really appreciate your help!
Thank you,
Sven
Jackie from Branch here.
Our SMS page service supports international numbers but only if the number the SMS has to be delivered is in the same country the SMS is being sent from. Could you please make sure the sender is physically located in Lithuania? I'd also suggest creating your own Twilio integration if you want to bypass these restrictions we have on our system https://docs.branch.io/pages/web/text-me-the-app/#use-your-own-sms-service
Regarding your fallback method: you want to have users click on a Branch link that will open your website and based on the link data (sponsor ID), you want to provide them with unique voucher codes? If my assumption is correct, you can achieve this by custom event tracking and user identity tracking. (relevant docs: https://docs.branch.io/pages/dashboard/analytics/#user-value-attribution)
Hopefully, this helps. Let us know if you have additional questions about the info above, or about anything else related to integrating Branch.
Best,
Jackie Choi

Image next to Contact name in Google's Inbox

When receiving emails in Google's Inbox, usually you get as image a coloured circle with the first letter of the contact's mail.
But in rare occasions, there will be an image placeholder, like for instance the example I paste for YouTube. (I know YouTube is owned by Google, but I have seen many other examples)
Is it possible for me to make my own address to have its own image, when someone received an email in Inbox? If so, how?
In Short, this is because you likely don't have a Google+ page with a linked domain matching your email address.
The longer version: Link is here...
EDIT: Seems like this is not a popular answer...
Here's a fuller version:
This Article seems to provide a good overall answer. I'll do a quick summary here.
As a takeaway:
Ensure your site is verified on Google+. This is done in Webmaster tools(link), and your webmaster must approve.
Ensure you have adequate email traffic (seems around 1k a week should do it).
When sending from a domain not matching Google+, you'll need to include a snippet of code in your email, and have Gmail approve the link.
Ensure that your email is authenticated against your domain and not your ESPs (or use the Featured Image markup).
This questions is related: Email Sender Image from Google+ Account

Resources