Returning an entity from a custom Rules action
If you check the rules hook hook_rules_action_info docs, you'll see the provides element:


  provides: (optional) An array describing the variables the action provides to the evaluation state with the variable name as key. Each variable has to be described by a sub-array with possible attributes as described afterwards, whereas the name of a parameter needs to be a lowercase, valid PHP variable name.


Usage example from commerce_cart module:

  $actions['commerce_cart_product_add_by_sku'] = array(
    'label' =&gt; t('Add a product to the cart'),
    'parameter' =&gt; array(
      'user' =&gt; array(
        'type' =&gt; 'user',
        'label' =&gt; t('User'),
        'description' =&gt; t('Specify the user whose shopping cart order the product will be added to, typically &lt;em&gt;site:current-user&lt;/em&gt;.'),
      ),
      'sku' =&gt; array(
        'type' =&gt; 'text',
        'label' =&gt; t('Product SKU'),
        'description' =&gt; t('The SKU of the product to add to the cart.'),
      ),
      'quantity' =&gt; array(
        'type' =&gt; 'integer',
        'label' =&gt; t('Quantity'),
        'default value' =&gt; 1,
      ),
      'combine' =&gt; array(
        'type' =&gt; 'boolean',
        'label' =&gt; t('Combine similar items in the cart'),
        'description' =&gt; t('If checked, the product will be combined added to an existing similar product line item in the cart by incrementing its quantity.'),
        'default value' =&gt; TRUE,
      ),
    ),
    'group' =&gt; t('Commerce Cart'),
    'callbacks' =&gt; array(
      'execute' =&gt; 'commerce_cart_rules_product_add_by_sku',
    ),
    'provides' =&gt; array(
      'product_add_line_item' =&gt; array(
        'type' =&gt; 'commerce_line_item',
        'label' =&gt; t('Added product line item'),
      ),
    ),
  );


Note that you need to return an array from your action with the parameters named, for this example, 'product_add_line_item':

// Only return an added line item.
if ($line_item = commerce_cart_product_add_by_id($product-&gt;product_id, $quantity, $combine, $uid)) {
  return array('product_add_line_item' =&gt; $line_item);
}


So potentially you could provide as many elements as you need in your actions for further actions or rules components.