Skip to main content
Solved

Chatbot authentication based on email address

  • 24 July 2024
  • 7 replies
  • 59 views

Hi Everyone, I have just started using a chatbot and I am loving it but I am stuck on one part.  I want to authorise a user based on their email address they submit.  I have created an Open Ended Question “To see if you qualify for support, please enter your email address?” once they enter i cannot see how using ‘Branch by visitor data’ or ‘Branch by keywords’ how to take this input, check if the user already exists.

I mistakenly tried to use ‘Collect contact details’ first but realised that this actually creates the contacts.

If anyone has any ideas about this or smarter ways of doing authentication against contacts then i would love to hear your ideas.

Keep up the good work, the chatbot will be a gamechanger for us and allow us to move away from email support.

Chris

7 replies

Userlevel 2
Badge +6

Hi Chris, Cat here from the Front support team 😎

Typically, we’d recommend adding a question in your chatbot flow to request their Email address or to use the Prompt visitors to optionally provide their email address feature:

→ https://help.front.com/en/articles/2062#match_visitors_with_your_front_contacts_or_crm_integrations

Would this work for your use case?

Cheers,
Cat

Hi @cat_apac thank you for the response.  Not quite, to be more specific on what I am trying to do:

We are an IT MSP (IT Support in old language) and we want supported users and companies to start a chat conversation and get support from an engineer, but only if their email address is either an existing contact.  e.g. Joe Bloggs from joe@myclient.com comes to the chat and clicks on the option ‘speak to a human’ it will then say please enter your company email address to see if you are eligible for support.  This will then check if they are an existing user if they are there will be a further check to see if their email address end in @myclient.com and then we can support them.  I hope that makes sense.

Initially, I had set up ‘Collect contact details’ and tried to use ‘Branch by Keywords’ to check the domain but that has not worked.  I cannot use Verification Secret as no one who uses the chat will be logged in to get these details. I was also unaware that every submission would create a new contact so that is why we are using a further ‘Branch by Keywords’ to check the domain.

 

Thank you for your help in advance, and once I get this setup correctly I will create a post to share my experience.  Have a great day.


Chris

 

Userlevel 2
Badge +6

Got it, thanks Chris! Let me check with our team to see what options are available here. We’ll get back to you as soon as possible with more details.

Cheers,
Cat

Thank you @cat_apac 

Badge +5

Hi Chris,

Stepping in here for Cat to help - the most recommended method here would be through identify verification, but as you stated users won’t be logged in, so that likely won’t work in this scenario. We don’t have any other built-in way to ensure that only authorized users chat with engineers, but a possible workaround could be use the “branch by visitor data” option to tag all users who submit questions from “non-authorized” domains with a certain tag, then couple that with a rule in Front to automatically archive those chats. This wouldn’t be 100% foolproof and the chat could still come in and possibly affect analytic, but it’s the best thing I can think of that’s similar to identity verification.

Hope this helps!

@raymond_ching @cat_apac  thank you for this, I will test and see what can happen.  One last question regarding ‘Collect contact details’, am I right in thinking that when these are collected they will create a new contact in Front or update an existing one?  As my initial thought was to collect the user data, do a “branch by visitor data” for say email ends with ‘@supportcustomer.com’ and then pass them on to support.  I suppose what I am saying is that even if I could get users to enter a work email and I could check that email address ends in the customer domain name that would be good enough for authentication.  Does that make sense?

Thank you for your help once again.

Userlevel 2
Badge +6

Hi Chris!

If you collect their contact details, if the email address doesn't match an existing contact, a new contact will be created in Front ✅. If the address matches an existing contact, the chat message will be linked to that contact's details. Existing contacts would not be updated.

In terms of your workflow, I think that would work! The logic would go something like this:

  1. Chatbot asks for contact details
    1. Email does not match an existing contact → new contact created
    2. Email does match  an existing contact → existing contact is associated with conversation
  2. Chatbot branches on visitor data
    1. Contact domain matches [requirement] → move conversation to Support
    2. Contact domain does not match [requirement] → [non-Support workflow]

This part of the flow might look something like this (please ignore the node error!):

 

Reply