Custom actions never call

Hello, I already spent lots of hours to figure out why my custom action doesnt call. inside my rules.yml

  • rule: Respond to where to buy money bags steps:
    • intent: ask_where_to_buy_money_item
    • action: action_validate_product <—this line try to call actions.py

inside actions.py class ValidateProductAction(Action): def name(self) → Text: return “action_validate_product”

def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
    product_entity = next(tracker.get_latest_entity_values("brand"), None)
    print("alex this is called from outside")
    if product_entity and product_entity.lower() != "monkey":
        dispatcher.utter_message("Sorry, we only offer monkey bags. Please ask for a monkey bag.")
        return [SlotSet("brand", None)]
    return []

in nlu.yml

  • intent: ask_where_to_buy_designated_item examples: |
    • Where can we buy a monkey bag?

end point also running…but seems never call. I want to accept “monkey” as the keyword, other than that, I will give “sorry message”