diff --git rules/modules/data.eval.inc rules/modules/data.eval.inc
index accbec8..283c865 100644
--- rules/modules/data.eval.inc
+++ rules/modules/data.eval.inc
@@ -111,6 +111,13 @@ function rules_action_data_list_remove($list, $item) {
 }
 
 /**
+ * Action: Create data.
+ */
+function rules_action_data_create() {
+  dsm(func_get_args());
+}
+
+/**
  * Condition: Compare data
  */
 function rules_condition_data_is($data, $op, $value) {
diff --git rules/modules/data.rules.inc rules/modules/data.rules.inc
index 7292cd0..d3bc141 100644
--- rules/modules/data.rules.inc
+++ rules/modules/data.rules.inc
@@ -232,6 +232,28 @@ function rules_data_action_info() {
       'validate' => 'rules_data_validate_list_item_type',
     ),
   );
+
+  $return['data_create'] = array(
+    'label' => t('Create variable'),
+    'parameter' => array(
+      'type' => array(
+        'type' => 'text',
+        'label' => t('Type'),
+        'options list' => 'rules_data_action_data_create_options',
+        'description' => t('Specifies the type of the data variable that should be created.'),
+        'restriction' => 'input',
+       ),
+       // Further needed parameters depend on the type.
+    ),
+    'provides' => array(
+      'data_created' => array(
+        'type' => 'unknown',
+        'label' => t('Created data'),
+      ),
+    ),
+    'group' => t('Data'),
+    'base' => 'rules_action_data_create',
+  );
   return $return;
 }
 
@@ -387,7 +409,7 @@ function rules_action_entity_create_validate($element) {
 }
 
 /**
- * Custom process callback for data create action.
+ * Custom process callback for entity create action.
  */
 function rules_action_entity_create_process(RulesAbstractPlugin $element) {
   $element->settings += array('type' => NULL);
@@ -532,6 +554,23 @@ function rules_action_data_list_add_positions() {
 }
 
 /**
+ * Options list callback for data creation action.
+ */
+function rules_data_action_data_create_options() {
+  $data_info = rules_fetch_data('data_info');
+  $entity_info = entity_get_info();
+  $options = array();
+  foreach ($data_info as $type => $properties) {
+    // Only add non-entities.
+    if (!isset($entity_info[$type]) && $type != 'entity') {
+      $options[] = $properties['label'];
+    }
+  }
+  natcasesort($options);
+  return $options;
+}
+
+/**
  * Implements hook_rules_condition_info() on behalf of the pseudo data module.
  * @see rules_core_modules()
  */
