[solved] How to use Check points in story

Can anyone help me how to use the check points ?

* Greet

  - utter_greet

*user_say

  -utter_ask_fruit_name

  > check_fruit_name

*close

   -utter_close

I want this story must not proceed untill it does not get the fruit name. It must ask iterative ask the fruit name, when it get the name then it must proceed to next dialogue

1 Like

Can you please format that with ```? There’s information on how to use checkpoints here: https://rasa.com/docs/core/stories/#checkpoints

@akelad it is not helpful, where I define my check point? how this work. Does it stop until the point is false ?

You define the checkpoints as they’re specified in the documentation. If one story ends with a checkpoint, and another story starts with a checkpoint of the same name, that’s where the conversation will go. I don’t think you need a checkpoint for your case though, you can just write a story for when the user provides the fruit entity, and one for when the user doesn’t

3 Likes

@akelad what exactly are this check points ? are they custom action ? or they are some kind of events ?

where to define the check points ?

They’re just intermediate points to connect two stories together. You don’t “define” them anywhere, you just put a checkpoint of any name you make at the end of one story, and then the same one at the start of the other story you want to connect.

So in this example here, dependent on whether the user says affirm or deny, the story will jump to one of those two stories

3 Likes

@akelad Now I got it. Thank you so much.

@akelad Thanks for your two responses in this thread. The documentation on checkpoints could use the clarification you’ve provided here. Glad I found this.

4 Likes

The link is broken now.

Did you mean to link to this example?

Based on your reply, my understanding of how this example works is:

“first story” ends when the bot does “action_ask_user_question”.

Both the “user affirms question” and “user denies question” story will actually start with:

* hello
   - action_ask_user_question

because these stories begin with the checkpoint named “check_asked_question”.

Is this correct?

yes

1 Like

@akelad, the link mentioned in your reply is broken.

yes i know, @hsm207 linked to the new url

In the link, Stories if user intent is “affirm” without doing a “hello”, it still gives affirm response. Ideally “affirm” intent should fail right because checkpoint story did not happen yet?

Now 100% clear. Thank you.

Hi @akelad , do we have checkpoints which we can use at the end ? for example feedback, after using the application I want to ask feedback of user. as for now I need add whole feedback story at end of every story, instead of this can I make a check point and and this check point at end of every end of the story ?

Yes you can do that, I use checkpoints all the time now for a very similar path.

If you’re using version 2.x you can create something like

- story: Collect feedback
  steps:
  - checkpoint: collect_feedback
  < copy / paste your feedback story here >

Then change out the feedback story steps in all your stories with this single step to point to your new checkpoint

   - checkpoint: collect_feedback

Train it up and go :slight_smile:

Hey @akelad Suppose there are 2 stories in a conversation (let’s say A,B) that lead to the same story (let’s say C), then is it possible to use checkpoints of both the stories (A,B) at the beginning of story C?

For e.g

story: story_C
 steps:
 - checkpoint: story_A_ckp
 - checkpoint: story_B_ckp
 - intent: affirm
 - action: utter_happy