text: from typing import List, Dict, Text, Any
  
  from rasa_sdk import Action, Tracker
  from rasa_sdk.events import SlotSet
  from rasa_sdk.executor import CollectingDispatcher
  from rasa_sdk.types import DomainDict
  from rasa_sdk.utils import is_coroutine_action
  
  
  class CustomAsyncAction(Action):
      def name(cls) -> Text:
          return "custom_async_action"
  
      async def run(
          self,
          dispatcher: CollectingDispatcher,
          tracker: Tracker,
          domain: DomainDict,
      ) -> List[Dict[Text, Any]]:
          return [SlotSet("test", "foo"), SlotSet("test2", "boo")]
  
  
  class CustomAction(Action):
      def name(cls) -> Text:
          return "custom_action"
  
      def run(
          self,
          dispatcher: CollectingDispatcher,
          tracker: Tracker,
          domain: DomainDict,
      ) -> List[Dict[Text, Any]]:
          return [SlotSet("test", "bar")]
  
  
  def test_action_async_check():
      assert not is_coroutine_action(CustomAction.run)
      assert is_coroutine_action(CustomAsyncAction.run)
  