Categorical slot validation and mapping

I have created menus for 5 levels and need to collect ticket no from all payload in where 5th level is a free text option with max 50 alphanumeric text limit. So i need ticket no from level 1,2,3,4 and if level is 5 need to validate if validation failed should ask again for valid input. I tried with form action but no luck: Seems i am not doing it right way

My intent is like this:

intent:start_1

intent:ticket_info

I have same utter for all the levels to intent start_1 where collecting ticket no for all menu my domain.py look like this:

utter_start_menu:

  • text: ’ ’ custom: type: menu menu_header: Please make your selection from below options. menu_list: - payload: /start_1{“level”:“1”} title: Request an update on ticket - payload: /start_1{“level”:“2”} title: Raise customer impact
    - payload: /start_1{“level”:“3”} title: Provide additional information - payload: /start_1{“level”:“4”} title: Update other information - payload: /start_1{“level”:“5”} title: Other request

utter_response:

  • text: ’ ’ custom: type: text logo: yes text: Please provide valid ticket no

actions:

utter_start_menu

utter_response

entities:

  • ticket_no
  • level

slot: ticket_no: type: unfeaturized level: type: categorical values: - ‘1’ - ‘2’ - ‘3’ - ‘4’ - ‘5’

Hi @goodluck1, could you give more context on what didn’t work? Are there error logs? Did the validation get called?