diff --git modules/simpletest/tests/actions.test modules/simpletest/tests/actions.test
index e092f48..d4fa208 100644
--- modules/simpletest/tests/actions.test
+++ modules/simpletest/tests/actions.test
@@ -19,17 +19,17 @@ class ActionsConfigurationTestCase extends DrupalWebTestCase {
     $user = $this->drupalCreateUser(array('administer actions'));
     $this->drupalLogin($user);
 
-    // Make a POST request to admin/config/system/actions/manage.
+    // Make a POST request to admin/config/workflow/actions/manage.
     $edit = array();
     $edit['action'] = md5('system_goto_action');
-    $this->drupalPost('admin/config/system/actions/manage', $edit, t('Create'));
+    $this->drupalPost('admin/config/workflow/actions/manage', $edit, t('Create'));
 
     // Make a POST request to the individual action configuration page.
     $edit = array();
     $action_label = $this->randomName();
     $edit['actions_label'] = $action_label;
     $edit['url'] = 'admin';
-    $this->drupalPost('admin/config/system/actions/configure/' . md5('system_goto_action'), $edit, t('Save'));
+    $this->drupalPost('admin/config/workflow/actions/configure/' . md5('system_goto_action'), $edit, t('Save'));
 
     // Make sure that the new complex action was saved properly.
     $this->assertText(t('The action has been successfully saved.'), t("Make sure we get a confirmation that we've successfully saved the complex action."));
@@ -37,7 +37,7 @@ class ActionsConfigurationTestCase extends DrupalWebTestCase {
 
     // Make another POST request to the action edit page.
     $this->clickLink(t('configure'));
-    preg_match('|admin/config/system/actions/configure/(\d+)|', $this->getUrl(), $matches);
+    preg_match('|admin/config/workflow/actions/configure/(\d+)|', $this->getUrl(), $matches);
     $aid = $matches[1];
     $edit = array();
     $new_action_label = $this->randomName();
@@ -53,11 +53,11 @@ class ActionsConfigurationTestCase extends DrupalWebTestCase {
     // Make sure that deletions work properly.
     $this->clickLink(t('delete'));
     $edit = array();
-    $this->drupalPost("admin/config/system/actions/delete/$aid", $edit, t('Delete'));
+    $this->drupalPost("admin/config/workflow/actions/delete/$aid", $edit, t('Delete'));
 
     // Make sure that the action was actually deleted.
     $this->assertRaw(t('Action %action was deleted', array('%action' => $new_action_label)), t('Make sure that we get a delete confirmation message.'));
-    $this->drupalGet('admin/config/system/actions/manage');
+    $this->drupalGet('admin/config/workflow/actions/manage');
     $this->assertNoText($new_action_label, t("Make sure the action label does not appear on the overview page after we've deleted the action."));
     $exists = db_query('SELECT aid FROM {actions} WHERE callback = :callback', array(':callback' => 'drupal_goto_action'))->fetchField();
     $this->assertFalse($exists, t('Make sure the action is gone from the database after being deleted.'));
diff --git modules/system/system.admin.inc modules/system/system.admin.inc
index b14b34e..dabc61d 100644
--- modules/system/system.admin.inc
+++ modules/system/system.admin.inc
@@ -2770,8 +2770,8 @@ function system_actions_manage() {
     $row[] = array(
       array('data' => $action->type),
       array('data' => $action->label),
-      array('data' => $action->parameters ? l(t('configure'), "admin/config/system/actions/configure/$action->aid") : ''),
-      array('data' => $action->parameters ? l(t('delete'), "admin/config/system/actions/delete/$action->aid") : '')
+      array('data' => $action->parameters ? l(t('configure'), "admin/config/workflow/actions/configure/$action->aid") : ''),
+      array('data' => $action->parameters ? l(t('delete'), "admin/config/workflow/actions/delete/$action->aid") : '')
     );
   }
 
@@ -2831,7 +2831,7 @@ function system_actions_manage_form($form, &$form_state, $options = array()) {
  */
 function system_actions_manage_form_submit($form, &$form_state) {
   if ($form_state['values']['action']) {
-    $form_state['redirect'] = 'admin/config/system/actions/configure/' . $form_state['values']['action'];
+    $form_state['redirect'] = 'admin/config/workflow/actions/configure/' . $form_state['values']['action'];
   }
 }
 
@@ -2855,7 +2855,7 @@ function system_actions_manage_form_submit($form, &$form_state) {
  */
 function system_actions_configure($form, &$form_state, $action = NULL) {
   if ($action === NULL) {
-    drupal_goto('admin/config/system/actions');
+    drupal_goto('admin/config/workflow/actions');
   }
 
   $actions_map = actions_actions_map(actions_list());
@@ -2947,7 +2947,7 @@ function system_actions_configure_submit($form, &$form_state) {
   actions_save($function, $form_state['values']['actions_type'], $params, $form_state['values']['actions_label'], $aid);
   drupal_set_message(t('The action has been successfully saved.'));
 
-  $form_state['redirect'] = 'admin/config/system/actions/manage';
+  $form_state['redirect'] = 'admin/config/workflow/actions/manage';
 }
 
 /**
@@ -2963,7 +2963,7 @@ function system_actions_delete_form($form, &$form_state, $action) {
   );
   return confirm_form($form,
     t('Are you sure you want to delete the action %action?', array('%action' => $action->label)),
-    'admin/config/system/actions/manage',
+    'admin/config/workflow/actions/manage',
     t('This cannot be undone.'),
     t('Delete'),
     t('Cancel')
@@ -2982,7 +2982,7 @@ function system_actions_delete_form_submit($form, &$form_state) {
   $label = check_plain($action->label);
   watchdog('user', 'Deleted action %aid (%action)', array('%aid' => $aid, '%action' => $label));
   drupal_set_message(t('Action %action was deleted', array('%action' => $label)));
-  $form_state['redirect'] = 'admin/config/system/actions/manage';
+  $form_state['redirect'] = 'admin/config/workflow/actions/manage';
 }
 
 /**
@@ -3002,5 +3002,5 @@ function system_action_delete_orphans_post($orphaned) {
  */
 function system_actions_remove_orphans() {
   actions_synchronize(TRUE);
-  drupal_goto('admin/config/system/actions/manage');
+  drupal_goto('admin/config/workflow/actions/manage');
 }
diff --git modules/system/system.module modules/system/system.module
index 56e7fb4..517fd90 100644
--- modules/system/system.module
+++ modules/system/system.module
@@ -80,7 +80,7 @@ function system_help($path, $arg) {
       $output .= '<dt>' . t('Configuring basic site settings') . '</dt>';
       $output .= '<dd>' . t('The System module also handles basic configuration options for your site, including <a href="@date-time-settings">Date and time settings</a>, <a href="@file-system">File system settings</a>, <a href="@clean-url">Clean URL support</a>, <a href="@site-info">Site name and other information</a>, and a <a href="@maintenance-mode">Maintenance mode</a> for taking your site temporarily offline.', array('@date-time-settings' => url('admin/config/regional/date-time'), '@file-system' => url('admin/config/media/file-system'), '@clean-url' => url('admin/config/search/clean-urls'), '@site-info' => url('admin/config/system/site-information'), '@maintenance-mode' => url('admin/config/development/maintenance'))) . '</dd>';
       $output .= '<dt>' . t('Configuring actions') . '</dt>';
-      $output .= '<dd>' . t('Actions are individual tasks that the system can do, such as unpublishing a piece of content or banning a user. Modules, such as the <a href="@trigger-help">Trigger module</a>, can fire these actions when certain system events happen; for example, when a new post is added or when a user logs in. Modules may also provide additional actions. Visit the <a href="@actions">Actions page</a> to configure actions.', array('@trigger-help' => url('admin/help/trigger'), '@actions' => url('admin/config/system/actions'))) . '</dd>';
+      $output .= '<dd>' . t('Actions are individual tasks that the system can do, such as unpublishing a piece of content or banning a user. Modules, such as the <a href="@trigger-help">Trigger module</a>, can fire these actions when certain system events happen; for example, when a new post is added or when a user logs in. Modules may also provide additional actions. Visit the <a href="@actions">Actions page</a> to configure actions.', array('@trigger-help' => url('admin/help/trigger'), '@actions' => url('admin/config/workflow/actions'))) . '</dd>';
       $output .= '</dl>';
       return $output;
     case 'admin/by-module':
@@ -120,15 +120,15 @@ function system_help($path, $arg) {
       if ($user->uid == 1) {
         return '<p>' . t('If you are upgrading to a newer version of Drupal or upgrading contributed modules or themes you may need to run !update-php.', array('!update-php' => l('update.php', 'update.php'))) . '</p>';
       }
-    case 'admin/config/system/actions':
-    case 'admin/config/system/actions/manage':
+    case 'admin/config/workflow/actions':
+    case 'admin/config/workflow/actions/manage':
       $output = '';
       $output .= '<p>' . t('There are two types of actions: simple and advanced. Simple actions do not require any additional configuration, and are listed here automatically. Advanced actions can do more than simple actions; for example, send an e-mail to a specified address, or check for certain words within a piece of content. These actions need to be created and configured first before they may be used. To create an advanced action, select the action from the drop-down list in the advanced action section below and click the <em>Create</em> button.') . '</p>';
       if (module_exists('trigger')) {
         $output .= '<p>' . t('You may proceed to the <a href="@url">Triggers</a> page to assign these actions to system events.', array('@url' => url('admin/structure/trigger'))) . '</p>';
       }
       return $output;
-    case 'admin/config/system/actions/configure':
+    case 'admin/config/workflow/actions/configure':
       return t('An advanced action offers additional configuration options which may be filled out below. Changing the <em>Description</em> field is recommended, in order to better identify the precise action taking place. This description will be displayed in modules such as the Trigger module when assigning actions to system events, so it is best if it is as descriptive as possible (for example, "Send e-mail to Moderation Team" rather than simply "Send e-mail").');
     case 'admin/config/people/ip-blocking':
       return '<p>' . t('IP addresses listed here are blocked from your site before any modules are loaded. You may add IP addresses to the list, or delete existing entries.') . '</p>';
@@ -584,6 +584,7 @@ function system_menu() {
     'access arguments' => array('access administration pages'),
     'file' => 'system.admin.inc',
   );
+
   // Appearance.
   $items['admin/appearance'] = array(
     'title' => 'Appearance',
@@ -696,15 +697,22 @@ function system_menu() {
     'file' => 'system.admin.inc',
   );
 
-  // Actions.
-  $items['admin/config/system/actions'] = array(
+  // Workflow.
+  $items['admin/config/workflow'] = array(
+    'title' => 'Workflow',
+    'description' => 'Editorial workflow and automation tools.',
+    'page callback' => 'system_admin_menu_block_page',
+    'access arguments' => array('access administration pages'),
+    'file' => 'system.admin.inc',
+  );
+  $items['admin/config/workflow/actions'] = array(
     'title' => 'Actions',
     'description' => 'Manage the actions defined for your site.',
     'access arguments' => array('administer actions'),
     'page callback' => 'system_actions_manage',
     'file' => 'system.admin.inc',
   );
-  $items['admin/config/system/actions/manage'] = array(
+  $items['admin/config/workflow/actions/manage'] = array(
     'title' => 'Manage actions',
     'description' => 'Manage the actions defined for your site.',
     'page callback' => 'system_actions_manage',
@@ -712,7 +720,7 @@ function system_menu() {
     'weight' => -2,
     'file' => 'system.admin.inc',
   );
-  $items['admin/config/system/actions/configure'] = array(
+  $items['admin/config/workflow/actions/configure'] = array(
     'title' => 'Configure an advanced action',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('system_actions_configure'),
@@ -720,7 +728,7 @@ function system_menu() {
     'type' => MENU_CALLBACK,
     'file' => 'system.admin.inc',
   );
-  $items['admin/config/system/actions/delete/%actions'] = array(
+  $items['admin/config/workflow/actions/delete/%actions'] = array(
     'title' => 'Delete action',
     'description' => 'Delete an action.',
     'page callback' => 'drupal_get_form',
@@ -729,7 +737,7 @@ function system_menu() {
     'type' => MENU_CALLBACK,
     'file' => 'system.admin.inc',
   );
-  $items['admin/config/system/actions/orphan'] = array(
+  $items['admin/config/workflow/actions/orphan'] = array(
     'title' => 'Remove orphans',
     'page callback' => 'system_actions_remove_orphans',
     'access arguments' => array('administer actions'),
@@ -939,6 +947,7 @@ function system_menu() {
     'file' => 'system.admin.inc',
   );
 
+  // Search.
   $items['admin/config/search'] = array(
     'title' => 'Search and metadata',
     'description' => 'Local site search, metadata and SEO.',
@@ -962,6 +971,8 @@ function system_menu() {
     'type' => MENU_CALLBACK,
     'file' => 'system.admin.inc',
   );
+
+  // Content authoring.
   $items['admin/config/content'] = array(
     'title' => 'Content authoring',
     'description' => 'Settings related to formatting and authoring content.',
diff --git modules/trigger/trigger.admin.inc modules/trigger/trigger.admin.inc
index c649b3e..dee2431 100644
--- modules/trigger/trigger.admin.inc
+++ modules/trigger/trigger.admin.inc
@@ -177,7 +177,7 @@ function trigger_assign_form($form, $form_state, $module, $hook, $label) {
   }
   else {
     $form[$hook]['none'] = array(
-      '#markup' => t('No actions available for this trigger. <a href="@link">Add action</a>.', array('@link' => url('admin/config/system/actions/manage')))
+      '#markup' => t('No actions available for this trigger. <a href="@link">Add action</a>.', array('@link' => url('admin/config/workflow/actions/manage')))
     );
   }
   return $form;
diff --git modules/trigger/trigger.module modules/trigger/trigger.module
index 0f4eb28..2685273 100644
--- modules/trigger/trigger.module
+++ modules/trigger/trigger.module
@@ -11,7 +11,7 @@
  * Implements hook_help().
  */
 function trigger_help($path, $arg) {
-  $explanation = '<p>' . t('Triggers are system events, such as when new content is added or when a user logs in. The trigger module associates these triggers with actions (functional tasks), such as unpublishing content or e-mailing an administrator. The <a href="@url">Actions settings page</a> contains a list of existing actions and provides the ability to create and configure additional actions.', array('@url' => url('admin/config/system/actions'))) . '</p>';
+  $explanation = '<p>' . t('Triggers are system events, such as when new content is added or when a user logs in. The trigger module associates these triggers with actions (functional tasks), such as unpublishing content or e-mailing an administrator. The <a href="@url">Actions settings page</a> contains a list of existing actions and provides the ability to create and configure additional actions.', array('@url' => url('admin/config/workflow/actions'))) . '</p>';
   switch ($path) {
     case 'admin/structure/trigger/comment':
       return $explanation . '<p>' . t('Below you can assign actions to run when certain comment-related triggers happen. For example, you could promote a post to the front page when a comment is added.') . '</p>';
@@ -24,7 +24,7 @@ function trigger_help($path, $arg) {
     case 'admin/structure/trigger/user':
       return $explanation . '<p>' . t("Below you can assign actions to run when certain user-related triggers happen. For example, you could send an e-mail to an administrator when a user account is deleted.") . '</p>';
     case 'admin/help#trigger':
-      $output = '<p>' . t('The Trigger module provides the ability to trigger <a href="@actions">actions</a> upon system events, such as when new content is added or when a user logs in.', array('@actions' => url('admin/config/system/actions'))) . '</p>';
+      $output = '<p>' . t('The Trigger module provides the ability to trigger <a href="@actions">actions</a> upon system events, such as when new content is added or when a user logs in.', array('@actions' => url('admin/config/workflow/actions'))) . '</p>';
       $output .= '<p>' . t('The combination of actions and triggers can perform many useful tasks, such as e-mailing an administrator if a user account is deleted, or automatically unpublishing comments that contain certain words. By default, there are five "contexts" of events (Comments, Content, Cron, Taxonomy, and Users), but more may be added by additional modules.') . '</p>';
       $output .= '<p>' . t('For more information, see the online handbook entry for <a href="@trigger">Trigger module</a>.', array('@trigger' => 'http://drupal.org/handbook/modules/trigger/')) . '</p>';
       return $output;
diff --git modules/trigger/trigger.test modules/trigger/trigger.test
index 001a289..826a7ce 100644
--- modules/trigger/trigger.test
+++ modules/trigger/trigger.test
@@ -150,7 +150,7 @@ class TriggerCronTestCase extends DrupalWebTestCase {
       'actions_label' => $action_label,
       'subject' => $action_label,
     );
-    $this->drupalPost('admin/config/system/actions/configure/' . $hash, $edit, t('Save'));
+    $this->drupalPost('admin/config/workflow/actions/configure/' . $hash, $edit, t('Save'));
     $aid = db_query('SELECT aid FROM {actions} WHERE callback = :callback', array(':callback' => 'trigger_test_system_cron_conf_action'))->fetchField();
     // $aid is likely 3 but if we add more uses for the sequences table in
     // core it might break, so it is easier to get the value from the database.
@@ -163,7 +163,7 @@ class TriggerCronTestCase extends DrupalWebTestCase {
       'actions_label' => $action_label,
       'subject' => $action_label,
     );
-    $this->drupalPost('admin/config/system/actions/configure/' . $hash, $edit, t('Save'));
+    $this->drupalPost('admin/config/workflow/actions/configure/' . $hash, $edit, t('Save'));
     $edit = array('aid' => md5($aid + 1));
     $this->drupalPost('admin/structure/trigger/system', $edit, t('Assign'));
 
