A bot is a conversational app that can interact with your users using speech, text, images, videos and other multimedia. It can run inside a voice assistant or messaging app.
We all want our bots to reach as many users as possible. To do that, our bots need to be on as many voice assistants and messaging apps as possible. Each voice assistant or messaging app is called a channel.
When a user interacts with your bot on a channel, the channel (e.g. Google Assistant or Facebook Messenger) will send you an event, so you can decide how to respond to the user. The event contains information about the user interaction. For example, if a user is messaging your bot, the event will contain at minimum a temporary user id and the message text.
The event will be sent to your webhook as an http post. A webhook is a URL you have previously registered with the channel to receive events. At your webhook, your program can analyze the event details and return an appropriate response which the channel will present to the end user.