A recommendation system includes a rule system for which defined recommendation system interfaces are available. The recommendation system interfaces are used in the action portion of predicate-action rules in the rule system to invoke non-rule-based systems. The non-rule-based systems provide recommendations to the rule system based on information passed to the non-rule-based systems on invocation and based on data made available to the non-rule-based systems. The rule system establishes a event-listener connection with the non-rule-based system to provide a data feed to the non-rule-based system.