[Solved] Request pending when call set slot via HTTP API

Hi, I make two request in my Nodejs app:

  1. Request to webhooks/rest/webhook . I know that: this request will pending until custom action response data.
  2. In custom action (write by Nodejs), i make request to /conversations/<id>/tracker/events for set slot, but : this request pending and go timeout, slot not set correctly. I think that: request (1) and (2) waitting each other and timeout…

Can i have solution for this problem? I write custom action use Nodejs (via http api endpoint). I don’t use any Python code

anyone please help me

Mhm, which rasa version are you using? Seems rasa is blocked by its request to rasa-sdk which shouldn’t happen :thinking:

custom action (write by Nodejs), i make request to /conversations/<id>/tracker/events for set

Wait, why are you doing this? Your custom action should return a list of events (e.g. a SlotSet event) instead of sending an extra request to rasa).

i don’t know what you mean. My custom action write by Nodejs, and i return the response like that (after call set slot):

 res.send({
              text: 'world',
              recipient_id: <conversation_id>
            });

Step i did in custom action: I query database and do something, and return the final result . I get this result and call /conversations/<id>/tracker/events to set slot. I call set slot because i think Rasa will use this to predict next action (in stories).What i wrong?

I did use any Python code, so please don’t talk about Rasa SDK for Python .

Please help me

thank you. i found solution. i change response like that. it worked!

     res.send(
            {
              events: [
                {
                  event: "slot",
                  name: "webstatus",
                  value: "4",
                  timestamp: new Date().getTime()
                }
              ],
              responses: [
                {
                  text: ""
                }
              ]
            });