How Do I Design Repeating Stories?

Hi all I have a question about the best way to design my stories.

Let’s say I’m making a chatbot to handle 3 intentions, as well as greeting and saying goodbye (5 intentions overall). The intentions can be called without saying hi or with saying hi, and after each intent we can loop again and call that intent, or another intent again, until we say goodbye.

I’ve designed my stories like this (see below & scroll all the way down pls). Is there a better way of designing them?

Thanks!

## greet
* greet
- utter_hi
> intent_breakdown

## intent 1 (without needing to greet - doesn't start with checkpoint)
* intent1
- some actions/utterances list
> intent_breakdown

## intent 2 (without needing to greet - doesn't start with checkpoint)
* intent2
- some actions/utterances list
> intent_breakdown

## intent 3 (without needing to greet - doesn't start with checkpoint)
* intent3
- some actions/utterances list
> intent_breakdown

## bye (without needing to greet - doesn't start with checkpoint)
* bye
- utter_bye

## intent 1 (midway through convo or after greet - starts with checkpoint)
> intent_breakdown
* intent1
- some actions/utterances list
> intent_breakdown

## intent 2 (midway through convo or after greet - starts with checkpoint)
> intent_breakdown
* intent2
- some actions/utterances list
> intent_breakdown

## intent 3 (midway through convo or after greet - starts with checkpoint)
> intent_breakdown
* intent3
   - some actions/utterances list
> intent_breakdown

## bye (midway through convo or after greet - starts with checkpoint)
> intent_breakdown
* bye
- utter_bye

Hey @alihejazi. I think you approach is valid, but I would suggest to be carful with checkpoints and use them only if absolutely necessary. Using too much of them can very quickly overcomplicate your bot. What you can also do is include some very short stories that would consist of one intent and one action, for example:

* greet 
  - utter_greet

It’s useful because under the hood Rasa augments your data from the examples you provide but putting them together so having small stories like this might help improve the performance on conversations where the users start the chat in a less regular way.

@Juste Many thanks!