Inbound Webooks

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 the chatbot to communicate with users seamlessly, improving customer engagement and response times.

Rate limit is 500 request per 24 hours. If you require more, reach out to our support.

Create an Inbound Webhook

To create an inbound webhook navigate to the Tools tab in your flow builder 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 click 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 to https://reqbin.com/ and paste the webhook url into place.

Reqbin has a very easy webhook set up process. Paste in the Webhook URL and a sample Json. In this example we are manually trigger a chatbot flow. 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 Rapidbott.

Once you have run the test head back to the Rapidbott and click on Done and now you will see the Json Payload 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.

Json Path Mapping

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, then 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.

Process for User Identification

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

Add user data to path mapping

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.

Storing the users data

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.

How to debug inbound webhook max request error

First of all, if you are not receiving the data in the inbound webhook, or you can’t find the data in the logs, it’s highly possible that you reached the max daily request limits.

Here is how you can test it.

You can send the request to the inbound webhook from Postman or Rapidbott external request, and then you can find the below information in the header:

As you can see, there is rate-limit-remaining, if it’s 0, that means you already reached the rate limits, you should upgrade for more limits.

You can test this same using the Rapidbott External request.

Last updated