Triggering an intent externally does not work unless user from Telegram actively start sending message

I’m creating a chatbot to send notifications (using a third-party resource) to a group of registered users on Telegram.

The story goes like this:

User: (click on Start button) /start
Bot: Hello! Your metadata has been saved. You now will be notified when there's an update.
...
(There's an update. Send to this user of this conversation_id by sending a POST request to /conversations/{conversation_id}/trigger_intent)
Bot: There's an update!

Sometimes I need to turn off then turn on the Rasa server for maintenance purposes. Therefore the session of that user is expired. But from the user perspective the bot is still active because they don’t need to click on the “Start” anymore. When I try to send a POST request to /conversations/{conversation_id}/trigger_intent again, the message does not show up on Telegram, even though the custom action would still be running normally. I thought this maybe due to issues related to Session.

How do I trigger an intent externally after rerunning Rasa server, without the user having to send a message just to kick off a new session?

1 Like

I planned on using this triggering intent but this appears to be a show stopper for me. I wanted to send a user a message simplified idea is “Here is todays, workout. Do you like it?” but that would frequently be after new trained models and other restarts. So this outgoing message should trigger the intent to start a story related to today’s workout.

The user responds with an “out of the blue” “yes” with no context i.e. story in progress. It seems as though a solution is to try to trigger a custom action based on this “first response” and that custom action triggers an intent in the desired story.

It sounds possible based on this thread.