Had the same problem probably a week ago. The general problem is, that the FormPolicy has a higher priority than the MappingPolicy so it will always override it.
My solution now:
Made a custom RestartPolicy, which is pretty much the MappingPolicy, but only for two intents (restart and a custom debug action i made), which was given the highest priority.
A) Give MappingPolicy a higher priority (in this case MappingPolicy always overrides FormPolicy)
For this add priorities in the config file (Form default is 5, mapping is 3). See rasa/core/policies/… for the default policies (might screw up bot behaviour, thats why i didnt do it)
B) start the request_next_slot method with
if tracker.latest_message['intent'].get('name') == 'restart':
didnt do that, because its kind of a quickfix. doesnt make sense to check it right there. Just didnt want to customize the actual rasa code.
Thats why I decided to make my own policy, seemed like the ‘cleanest’ way to solve this