How get reponse and request from sockeio input channel

Code to run the socketio channel def run(serve_forever=True):

interpreter = RasaNLUInterpreter('./models/nlu')

agent = Agent.load('./models', interpreter=interpreter)

if serve_forever:
    input_channel = SocketIOInput(
        user_message_evt="user_uttered",
        bot_message_evt="bot_uttered",
        namespace=None
    )
    s = agent.handle_channels([input_channel], 5002, "*")
return agent

Running this code will create turn up the rasa server with socket connection and I am able to have a conversation with the bot. (my bot design is not using any custom action and all the answer will be present in domain file).

I wanted to fulfill the below requirement.

  1. Receive the input from the user (Mr-Bot UI) and store it in the variable.
  2. Scrub the PII data from the input.
  3. Receive the intent from NLU with confidence level and store it in some variable.
  4. Receive the response from Domain.yml file and store it in some variable.
  5. Log the conversation in sqllite.

In custom Action, I have seen people are able to do that but how can I do that in run.py file.

Hi @piyush29programmer - since this is quite a custom workflow the easiest thing might be to create your own subclass of the Agent class to handle all of this logic