getStep(); $hook = $step->getArgs()['hook']; $email = $args->getSinglePayloadByClass(SubscriberPayload::class)->getSubscriber()->getEmail(); $customData = []; try { $customData = $args->getSinglePayloadByClass(CustomDataPayload::class)->getData(); } catch (\Throwable $e) { // do nothing } do_action($hook, $email, $customData); } public function getKey(): string { return 'mailpoet:custom-action'; } public function getName(): string { // translators: automation action title return __('Custom action', 'mailpoet-premium'); } public function getArgsSchema(): ObjectSchema { return Builder::object([ 'hook' => Builder::string()->default('my_custom_hook')->minLength(1)->required(), ]); } public function getSubjectKeys(): array { return ['mailpoet:subscriber']; } public function validate(StepValidationArgs $args): void { } }