diff --git a/src/Plugin/Action/Notify.php b/src/Plugin/Action/Notify.php
index 36b86e97df70fc58a401e74c5274f0a120724099..66284443d936c264f2583b0c45aa1c966df49f84 100644
--- a/src/Plugin/Action/Notify.php
+++ b/src/Plugin/Action/Notify.php
@@ -8,10 +8,9 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Session\AccountInterface;
-use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\node\Entity\Node;
 use Drupal\push_framework\ChannelPluginManager;
-use Drupal\Core\Plugin\ContextAwarePluginManagerInterface;
+use Drupal\user\UserInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -19,7 +18,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  *
  * @Action(
  *   id = "push_framework_notify",
- *   label = @Translation("Push a notification to a channel.")
+ *   label = @Translation("Push a notification to a channel."),
+ *   type = "user"
  * )
  */
 class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInterface {
@@ -38,16 +38,6 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
    */
   protected EntityTypeBundleInfoInterface $entityTypeBundleInfo;
 
-  /**
-   * The current user account.
-   *
-   * @var \Drupal\Core\Session\AccountProxyInterface
-   *   Represents the currently authenticated user session within Drupal.
-   *   Provides methods to retrieve information about the user,
-   *   such as their ID, username, roles, and permissions.
-   */
-  protected AccountProxyInterface $currentUser;
-
   /**
    * Constructs a new instance of the class.
    *
@@ -57,21 +47,15 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
    *   The plugin ID.
    * @param mixed $plugin_definition
    *   The plugin definition.
-   * @param \Drupal\Core\Plugin\ContextAwarePluginManagerInterface $channelPluginManager
+   * @param \Drupal\push_framework\ChannelPluginManager $channelPluginManager
    *   The channel plugin manager.
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entityTypeBundleInfo
-   *   The entity type bundle info service.
-   * @param \Drupal\Core\Session\AccountProxyInterface $currentUser
-   *   The current user account.
-   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
-   *   The entity type manager.
+   *   The entity type and bundle info service.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, ContextAwarePluginManagerInterface $channelPluginManager, EntityTypeBundleInfoInterface $entityTypeBundleInfo, AccountProxyInterface $currentUser, EntityTypeManagerInterface $entity_type_manager) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, ChannelPluginManager $channelPluginManager, EntityTypeBundleInfoInterface $entityTypeBundleInfo) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $this->channelPluginManager = $channelPluginManager;
     $this->entityTypeBundleInfo = $entityTypeBundleInfo;
-    $this->currentUser = $currentUser;
-    $this->userStorage = $entity_type_manager->getStorage('user');
   }
 
   /**
@@ -86,7 +70,7 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
    * @param mixed $plugin_definition
    *   The plugin definition.
    *
-   * @return \Drupal\your_module\Notify
+   * @return \Drupal\push_framework\Plugin\Action\Notify
    *   The new instance of the Notify class.
    */
   public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition): Notify {
@@ -95,9 +79,7 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
       $plugin_id,
       $plugin_definition,
       $container->get('push_framework.channel.plugin.manager'),
-      $container->get('entity_type.bundle.info'),
-      $container->get('current_user'),
-      $container->get('entity_type.manager')
+      $container->get('entity_type.bundle.info')
     );
   }
 
@@ -105,15 +87,17 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
    * {@inheritdoc}
    */
   public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) {
-    $result = AccessResult::allowed();
+    $result = AccessResult::allowedIf($object instanceof UserInterface);
     try {
       $channelPlugin = $this->channelPluginManager->createInstance($this->configuration['channel']);
       if ($channelPlugin === NULL) {
-        throw new \RuntimeException('The given channel does not exist.');
+        $result = AccessResult::forbidden('The given channel does not exist.');
       }
-      $bundles = $this->entityTypeBundleInfo->getBundleInfo('node');
-      if (!isset($bundles[$this->configuration['node_type']])) {
-        throw new \RuntimeException('The given node type does not exist.');
+      else {
+        $bundles = $this->entityTypeBundleInfo->getBundleInfo('node');
+        if (!isset($bundles[$this->configuration['node_type']])) {
+          $result = AccessResult::forbidden('The given node type does not exist.');
+        }
       }
     }
     catch (\Exception $e) {
@@ -125,10 +109,11 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
   /**
    * {@inheritdoc}
    */
-  public function execute(): void {
+  public function execute($object = NULL): void {
     /** @var \Drupal\push_framework\ChannelPluginInterface $channelPlugin */
     $channelPlugin = $this->channelPluginManager->createInstance($this->configuration['channel']);
-    $user = $this->userStorage->load($this->currentUser->id());
+    /** @var \Drupal\user\UserInterface $user */
+    $user = $object;
     /** @var \Drupal\node\Entity\Node $node */
     $node = Node::create([
       'type' => $this->configuration['node_type'],
@@ -150,7 +135,7 @@ class Notify extends ConfigurableActionBase implements ContainerFactoryPluginInt
       'body_field' => 'body',
       'subject' => '',
       'body' => '',
-    ];
+    ] + parent::defaultConfiguration();
   }
 
   /**