diff --git a/views_bulk_operations.rules.inc b/views_bulk_operations.rules.inc
index 44ed7c7..131fdad 100644
--- a/views_bulk_operations.rules.inc
+++ b/views_bulk_operations.rules.inc
@@ -46,7 +46,7 @@ function views_bulk_operations_rules_condition_info() {
 function views_bulk_operations_rules_action_info() {
   $actions = array();
   $actions['views_bulk_operations_action_load_list'] = array(
-    'label' => t('Load a list of entities from a VBO View.'),
+    'label' => t('Load a list of entity objects from a VBO View.'),
     'parameter' => array(
       'view' => array(
         'type' => 'text',
@@ -72,6 +72,33 @@ function views_bulk_operations_rules_action_info() {
     ),
     'group' => t('Views Bulk Operations'),
   );
+  $actions['views_bulk_operations_action_load_id_list'] = array(
+    'label' => t('Load a list of entity ids from a VBO View.'),
+    'parameter' => array(
+      'view' => array(
+        'type' => 'text',
+        'label' => t('View and display'),
+        'options list' => 'views_bulk_operations_views_list',
+        'description' => t('Select the view and display you want to use to
+          create a list.'),
+        'restriction' => 'input',
+      ),
+      'args' => array(
+        'type' => 'text',
+        'label' => t('Arguments'),
+        'description' => t('Any arguments to pass to the view, one per line.
+          You may use token replacement patterns.'),
+        'optional' => TRUE,
+      ),
+    ),
+    'provides' => array(
+      'entity_id_list' => array(
+        'type' => 'list<integer>',
+        'label' => t('A list of entity ids'),
+      ),
+    ),
+    'group' => t('Views Bulk Operations'),
+  );
 
   return $actions;
 }
@@ -124,8 +151,30 @@ function views_bulk_operations_condition_result_count($view, $args, $minimum) {
  *   A string in the format "$view_name|$display_name".
  * @param $args
  *   Arguments that should be passed to the View.
+ * @return array
+ *   Array containing the entity_list, an array of entity objects.
+ *   - array('entity_list' => array(...))
  */
 function views_bulk_operations_action_load_list($view, $args) {
+  $ids = views_bulk_operations_action_load_id_list($view, $args);
+  $entities = entity_load($vbo->get_entity_type(), $ids['entity_id_list']);
+
+  return array('entity_list' => $entities);
+}
+
+/**
+ * The 'views_bulk_operations_action_views_load_id_list' action.
+ *
+ * @param $view
+ *   A string in the format "$view_name|$display_name".
+ * @param $args
+ *   Arguments that should be passed to the View.
+ * @return array
+ *   Array containing the entity_id_list, an Array of entity ids as integer
+ *   values.
+ *   - array('entity_list' => array(...))
+ */
+function views_bulk_operations_action_load_id_list($view, $args) {
   $vbo = _views_bulk_operations_rules_get_field($view, $args);
 
   // Get all entity ids.
@@ -133,9 +182,8 @@ function views_bulk_operations_action_load_list($view, $args) {
   foreach ($vbo->view->result as $row_index => $result) {
     $ids[] = $result->{$vbo->field_alias};
   }
-  $entities = entity_load($vbo->get_entity_type(), $ids);
 
-  return array('entity_list' => $entities);
+  return array('entity_id_list' => $ids);
 }
 
 /**
