Index: src/core/Nodes/Actions/PageRedirectAction/PageRedirectAction.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/core/Nodes/Actions/PageRedirectAction/PageRedirectAction.php	(revision 092a9874824c86f8b9e8d4416d304f41ae9255b7)
+++ src/core/Nodes/Actions/PageRedirectAction/PageRedirectAction.php	(date 1557275560388)
@@ -1,6 +1,5 @@
 <?php
 
-
 namespace Drupal\if_then_else\core\Nodes\Actions\PageRedirectAction;
 
 
Index: src/core/Nodes/Actions/SetCookieAction/SetCookieAction.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/core/Nodes/Actions/SetCookieAction/SetCookieAction.php	(date 1557276150842)
+++ src/core/Nodes/Actions/SetCookieAction/SetCookieAction.php	(date 1557276150842)
@@ -0,0 +1,54 @@
+<?php
+
+namespace Drupal\if_then_else\core\Nodes\Actions\SetCookieAction;
+
+
+use Drupal\if_then_else\core\Nodes\Actions\Action;
+use Drupal\if_then_else\Event\NodeSubscriptionEvent;
+
+/**
+ * Class SetCookieAction
+ *
+ * @package Drupal\if_then_else\core\Nodes\Actions\SetCookieAction
+ */
+class SetCookieAction extends Action {
+
+  /**
+   * {@inheritDoc}
+   */
+  public function registerNode(NodeSubscriptionEvent $event) {
+    $event->nodes['set_cookie_action'] = [
+      'label' => t('Set Cookie'),
+      'type' => 'action',
+      'class' => 'Drupal\\if_then_else\\core\\Nodes\\Actions\\SetCookieAction\\SetCookieAction',
+      'inputs' => [
+        'name' => [
+          'label' => t('Name'),
+          'description' => t('Cookie name.'),
+          'socket' => 'string',
+          'required' => TRUE,
+        ],
+        'value' => [
+          'label' => t('Value'),
+          'description' => t('Cookie value.'),
+          'socket' => 'string',
+          'required' => TRUE,
+        ],
+        'time_to_expire' => [
+          'label' => t('Expires'),
+          'description' => t('Number of seconds after which the cookie will expire. Defaults to 31536000 seconds, i.e. 1 year.'),
+          'socket' => 'number',
+        ],
+      ],
+    ];
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public function process() {
+    $time_to_expire = array_key_exists('time_to_expire', $this->inputs) ? $this->inputs['time_to_expire'] : 31536000;
+    setrawcookie($this->inputs['name'], rawurlencode($this->inputs['value']), \Drupal::time()
+        ->getRequestTime() + $time_to_expire, '/');
+  }
+}
\ No newline at end of file
Index: if_then_else.services.yml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- if_then_else.services.yml	(revision 092a9874824c86f8b9e8d4416d304f41ae9255b7)
+++ if_then_else.services.yml	(date 1557275868742)
@@ -54,5 +54,10 @@
     tags:
       - { name: 'event_subscriber' }
 
+  if_then_else_set_cookie_action_register:
+    class: Drupal\if_then_else\core\Nodes\Actions\SetCookieAction\SetCookieAction
+    tags:
+      - { name: 'event_subscriber' }
+
   ifthenelse.utilities:
     class: Drupal\if_then_else\core\IfthenelseUtilities
\ No newline at end of file
