Best way to handle out of scope conversation

we train our bot for certain flow, and if the user input does not fit in the flow or it is is out of scope question… then as per my knowledge and from certain examples I got,

  1. we can create one intent out_of_scope and set any random examples there.

and second i guess

  1. we can use fallback policy, based on that if confidence is below the certain number then our bot can act accordingly.

What is the best way? I guess fallback policy is the best way?

Best is to use both.

Use out_of_scope for known out of scope user messages. Examples should be things you know users might say, but you also know your bot can’t handle.

Fallback is for everything else which your users might ask which you don’t know about yet, and your bot can’t handle.