How the request flows in rasa

I’m trying to understand the flow of requests in rasa after the rasa server receives a request from the user. I’m looking to find, the way rasa detects input channel I have gone through “get_latest_input_channel(self)” but after commenting out on the same function and running the rasa server. the assistant still replies from the correct input channels.

My ultimate goal is to check how rasa identifies the channel that requests is coming from and after identifying that request coming from web I will write a custom channel.

Summing it up, Identify the incoming request channel and then directing the custom channel that I would write.

Hey @anuragchaudhary, the way this works is the following: upon starting the Rasa server, each channel “registers” its URLs in the core web server Rasa runs on (Sanic). For example, the REST channel registers the /webhooks/rest/webhook URL.

When you send a request to one of the registered URLs, the channel’s handling code is ran directly. This routing is performed by Sanic itself.

This is the part of the code where the channels are registered:

I also recommend you check out for more information. Hope this helps!

1 Like