# Any way to set a story at the beginning of every training story (or soft-reset a user message)?

**URL:** <https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567>\
**Category:** Rasa Open Source\
**Created:** [July 6, 2019, 5:43am UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567 "2019-07-06T05:43:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![niveK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nivek/32/13710_2.png) [@niveK](https://forum.rasa.com/u/niveK)\
**Post date:** [July 6, 2019, 5:43am UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/1 "2019-07-06T05:43:14Z")

</div>

I have a story in my bot that is triggered at the start of every conversation; it sets the slots at the beginning of the conversation and uses those slots throughout conversation to provide conditional utterances. I have the story laid out in training data and working properly, but I’m wondering if there was a way to make the model being trained have that story at the start of each of the data-augmented stories to improve performance?

Either that or a way to use the mapping policy along with a returned `UserUtteranceReverted()` event that doesn’t reset slots, just bot and user messages. I’ve tried several combinations and none has worked because `UserUtteranceReverted()` undos side effects of a custom action that was a result of a provided intent.

---

<div class="post-metadata">

**Author:** ![Juste](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/juste/32/15_2.png) [@Juste](https://forum.rasa.com/u/Juste)\
**Post date:** [July 10, 2019, 7:51am UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/2 "2019-07-10T07:51:24Z")

</div>

Hi Kevin,

If that story is used at `every` conversation, the easiest way to add it to each training story is to use a checkpoint. However, This is only good approach if your really need that story added to pretty much every training story. Check out the implementation of the checkpoints here: [Stories](https://rasa.com/docs/rasa/core/stories/#checkpoints)

---

<div class="post-metadata">

**Author:** ![sonicace1](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@sonicace1](https://forum.rasa.com/u/sonicace1)\
**Post date:** [April 27, 2020, 8:32pm UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/3 "2020-04-27T20:32:38Z")

</div>

Hi @niveK I’m not able to set SlotSet if i use UserUtteranceReverted()

For Ex: return [SlotSet(‘admin’, False),SlotSet(‘firstName’, first\_name),SlotSet(‘lastName’, last\_name),SlotSet(‘userId’, user\_id),SlotSet(‘role’, user\_role),UserUtteranceReverted()]

Any help is much apperciated

---

<div class="post-metadata">

**Author:** ![niveK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nivek/32/13710_2.png) [@niveK](https://forum.rasa.com/u/niveK)\
**Post date:** [April 27, 2020, 9:30pm UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/4 "2020-04-27T21:30:32Z")

</div>

I’d recommend [customizing the SessionStart action](https://rasa.com/docs/rasa/api/rasa-sdk/#custom-session-start), as this is now supported by Rasa out-of-the-box. `UserUtteranceReverted()` is good for the [Mapping Policy](https://rasa.com/docs/rasa/core/policies/#mapping-policy) since you don’t want those interactions affecting the next action’s prediction. It will clear the user’s message, bot’s response, and any side effects as a result of that interaction, so you probably don’t want to use it for those purposes.

---

<div class="post-metadata">

**Author:** ![sonicace1](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@sonicace1](https://forum.rasa.com/u/sonicace1)\
**Post date:** [April 27, 2020, 9:39pm UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/5 "2020-04-27T21:39:51Z")

</div>

Thank for the reply @niveK is it possible to send me an example to load slot variables at the start of the conversation and maintain through out the session?

---

<div class="post-metadata">

**Author:** ![niveK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nivek/32/13710_2.png) [@niveK](https://forum.rasa.com/u/niveK)\
**Post date:** [April 27, 2020, 10:15pm UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/6 "2020-04-27T22:15:14Z")

</div>

The docs I linked for customizing the session start action should cover you there. See the `fetch_slots` method.

---

<div class="post-metadata">

**Author:** ![sonicace1](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@sonicace1](https://forum.rasa.com/u/sonicace1)\
**Post date:** [April 27, 2020, 10:38pm UTC](https://forum.rasa.com/t/any-way-to-set-a-story-at-the-beginning-of-every-training-story-or-soft-reset-a-user-message/12567/7 "2020-04-27T22:38:53Z")

</div>

cool! Thank you
