How can I get the length of a list in Rules?
Make a custom module eg. customrules and create customrules.rules.inc in this module.
In customrules.rules.inc place following code:

/**
 * Implements hook_rules_action_info().
 */
function customrules_rules_action_info() {
  return array(
    'customrules_list_length' =&gt; array(
      'label' =&gt; t('Get length of list'),
      'group' =&gt; t('Data'),
      'parameter' =&gt; array(
        'list' =&gt; array(
          'type' =&gt; 'unknown',
          'label' =&gt; t('List'),
        ),
      ),
      'provides' =&gt; array(
        'list_length' =&gt; array(
          'type' =&gt; 'text',
          'label' =&gt; t('List length'),
        ),
      ),
    ),
  );
}

/**
 * The action for 'customrules_list_length'
 */
function customrules_list_length($list) {
  return array(
    'list_length' =&gt; is_array($list) ? count($list) : NULL,
  );
}


Now you should be able to use this action to get the list length