Inbound Webhooks
Last updated
Last updated
An inbound webhook is a useful tool for a chatbot that allows it to receive data from different sources using a POST request. This means that the chatbot can communicate with people who have never interacted with it before.For instance, when a website visitor provides their contact details, the chatbot can receive the information through an inbound webhook and send an SMS confirmation to the visitor's phone number. If the webhook is integrated into a Voice bot, it can even call the visitor immediately.A key benefit of using inbound webhooks is that it allows chatbots to communicate with users seamlessly, improving customer engagement and response times.Rate limits is 500 request per 24 hours. If you require more, reach out to our support.
To create an inbound webhook navigate to the Tools tab in your chatbot then select inbound webhook.
From here click the + New Inbound Webhook button to the right of the dashboard. Next add a memorable name. Now you will see a new window as shown below or by clicking the edit button. This is where you add all the data.
Follow these exact steps to get set up correctly.First you need to copy the webhook URL and then click Listen to payload data and add the webhook URL to the software where you want to get data from. In our example we will be using a website builder.When you have clicked the Listen to payload data, this window will display. This means that the webhook is waiting for some data.
Now once we have copied the webhook url and clicked listen to payload data, let's head over into the website builder and paste the webhook url into place.The website platform we are using has a very easy webhook set up process. Paste in the Webhook URL and select the event. In this example we are wanting to trigger a chatbot flow when someone makes a booking from the website. Your events could be anything depending on your platform of choice.
The next step is to run a live test. The means we need to make a booking so that the information can be sent to the chatbot.Once you have run the test head back to the chatbot and click on Done and now you will see lot's of information from the test booking we just made.
Now that we have data in the sample json payload box, select the green button 'Preview Payload' this will move all the data down so we can use it. Once pressed you will see that the data has been added to the sample data area.
Whenever the webhook receives data, it first checks the paths you specify to see whether it can find an existing user in the chatbot.If the user is not in the system, the chatbot will create a new profile. That's how the chatbot initiates a conversation without talking to the user previously.However, some channels don't allow the chatbot to start the conversation first due to privacy and spam issues.For example, your SMS bot can send messages as long as you have the recipient's phone number, while your Facebook Messenger chatbot cannot send messages to a Facebook user who never talked to your bot before.
This is the process of how the system identifies a user:At least one of the User Ns
, Crm Contact Id
, Phone
and Email
should be sent in the payload.
1.If User Ns
has value, return bot user if matched, stop process if no match.
2.If Crm Contact Id
has value, return bot user if matched, otherwise continue next check.
3.If Phone
is valid, return bot user if matched. otherwise new bot user will be created under channel
4.If Phone
is not valid, but Email
is valid, return bot user if Email
matched , otherwise new bot user will be created with valid Email
To add your data values to the path mapping you need to get the path value from the sample data below. In this example we will just get the email address.
1.Select the contacts email field
2.Copy the JSON path data
3.Paste the JSON path data into the email field
If you are just adding phone numbers, then search for the contacts phone number field and repeat the same process.
Now we want to store the contacts data so we can use it later on, or in this example we're sending a booking confirmation message. At the bottom in the sample data area, you can store all information into a json variable or take specific parts of the data for example, the booking start date, Name and any other information you think you may need.First select the data you want to store. In this example we want to store when the contacts meeting is booked for and their full name.
1.Select the data point: example, Start
2.Create or select a custom field you want to save the data to
3.Click add, once you click add the information will be added to the bottom.
Great, that's all the hard work done! Now click save and now we want to add the flow that will be sent to a contact upon booking a meeting with us.
Once you have your flow connected, be sure to make the inbound webhook active, by turning it on.Now you are ready to run a live test to ensure everything is working ok. If you do get any errors, or something didn't work - Check the logs, this will tell you if anything went wrong.
If you experience any further issues, check the data first - check the flows and ensure you have the right data selected in the json sample data. If you still have issues, let us know and we can assist.