diff --git a/plugins/page_manager/tasks/myworkbench.inc b/plugins/page_manager/tasks/myworkbench.inc
new file mode 100644
index 0000000..3d20566
--- /dev/null
+++ b/plugins/page_manager/tasks/myworkbench.inc
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for
+ * more information.
+ */
+function workbench_myworkbench_page_manager_tasks() {
+
+  return array(
+    // This is a 'page' task and will fall under the page admin UI
+    'task type' => 'page',
+
+    'title' => t('My Workbench'),
+    'admin title' => t('The Workbench landing page.'),
+    'admin description' => t('When enabled, this overrides the default Workbench page for <em>admin/workbench</em>. If no variant is selected, the default "My Workbench" will be shown.'),
+    'admin path' => 'admin/workbench',
+
+    // Menu hooks so that we can alter the node/%node menu entry to point to us.
+    'hook menu alter' => 'workbench_myworkbench_menu_alter',
+
+    // This is task uses 'context' handlers and must implement these to give the
+    // handler data it needs.
+    'handler type' => 'context',
+
+    // Allow this to be enabled or disabled:
+    'disabled' => variable_get('workbench_myworkbench_disabled', TRUE),
+    'enable callback' => 'workbench_myworkbench_enable',
+  );
+}
+
+/**
+ * Callback defined by workbench_myworkbench_page_manager_tasks().
+ *
+ * Alter menu item so that admin/workbench comes here.
+ */
+function workbench_myworkbench_menu_alter(&$items, $task) {
+
+  if (variable_get('workbench_myworkbench_disabled', TRUE)) {
+    return;
+  }
+
+  $callback = $items['admin/workbench']['page callback'];
+  // Override the node edit handler for our purpose.
+  if ($callback == 'workbench_content' || variable_get('page_manager_override_anyway', FALSE)) {
+    $items['admin/workbench']['page callback'] = 'workbench_myworkbench';
+    $items['admin/workbench']['file path'] = $task['path'];
+    $items['admin/workbench']['file'] = $task['file'];
+  }
+
+  else {
+    //variable_set('workbench_myworkbench_disabled', TRUE);
+    if (!empty($GLOBALS['page_manager_enabling_workbench'])) {
+      drupal_set_message(t('Page manager module is unable to enable Workbench because some other module already has overridden with %callback.', array('%callback' => $callback)), 'warning');
+    }
+    return;
+  }
+}
+
+/**
+ * Entry point for our overridden My Workbench.
+ *
+ * This function asks its assigned handlers who, if anyone, would like
+ * to run with it. If no one does, it passes through to the main My Workbench.
+ */
+function workbench_myworkbench() {
+  // Load my task plugin
+  $task = page_manager_get_task('myworkbench');
+
+  ctools_include('context');
+  ctools_include('context-task-handler');
+  $output = ctools_context_handler_render($task, '', array(), array());
+  if ($output !== FALSE) {
+    return $output;
+  }
+
+  module_load_include('inc', 'workbench', 'workbench.pages');
+  $function = 'workbench_content';
+  foreach (module_implements('page_manager_override') as $module) {
+    $call = $module . '_page_manager_override';
+    if (($rc = $call('workbench')) && function_exists($rc)) {
+      $function = $rc;
+      break;
+    }
+  }
+
+  // Otherwise, fall back.
+  return $function();
+}
+
+/**
+ * Callback to enable/disable the page from the UI.
+ */
+function workbench_myworkbench_enable($cache, $status) {
+  variable_set('workbench_myworkbench_disabled', $status);
+  // Set a global flag so that the menu routine knows it needs
+  // to set a message if enabling cannot be done.
+  if (!$status) {
+    $GLOBALS['page_manager_enabling_workbench'] = TRUE;
+  }
+}
diff --git a/workbench.module b/workbench.module
index ec0bd9d..5c4d767 100644
--- a/workbench.module
+++ b/workbench.module
@@ -161,11 +161,6 @@ function workbench_theme($existing, $type, $theme, $path) {
   );
 }
 
-
-
-
-
-
 /**
  * Implementation of hook_preprocess_views_view_table().
  *
@@ -187,3 +182,24 @@ function workbench_preprocess_views_view_field(&$variables) {
     }
   }
 }
+
+/**
+ * Implements hook_ctools_plugin_directory() to let the system know
+ * where our task and task_handler plugins are.
+ */
+function workbench_ctools_plugin_directory($owner, $plugin_type) {
+  if ($owner == 'page_manager') {
+    return 'plugins/page_manager/' . $plugin_type;
+  }
+}
+
+/**
+ * Implements hook_ctools_plugin_api().
+ */
+function workbench_ctools_plugin_api($module, $api) {
+  // This includes a check for whether Panels is enabled since the Page Manager
+  // export is for Panels.
+  if ($module == 'page_manager' && $api == 'pages_default' && module_exists('panels')) {
+    return array('version' => 1);
+  }
+}
diff --git a/workbench.pages_default.inc b/workbench.pages_default.inc
new file mode 100644
index 0000000..19ad6dc
--- /dev/null
+++ b/workbench.pages_default.inc
@@ -0,0 +1,175 @@
+<?php
+
+/**
+ * @file
+ * Contains a sample myworkbench variant for Panels.
+ */
+
+/**
+ * Implementation of hook_default_page_manager_handlers()
+ */
+function workbench_default_page_manager_handlers() {
+  $handlers = array();
+
+  $handler = new stdClass;
+  $handler->disabled = TRUE;
+  $handler->api_version = 1;
+  $handler->name = 'myworkbench_panel_context_sample';
+  $handler->task = 'myworkbench';
+  $handler->subtask = '';
+  $handler->handler = 'panel_context';
+  $handler->weight = 100;
+  $handler->conf = array(
+    'title' => 'Sample Workbench',
+    'no_blocks' => 0,
+    'pipeline' => 'standard',
+    'css_id' => '',
+    'css' => '',
+    'contexts' => array(),
+    'relationships' => array(),
+  );
+  $display = new panels_display;
+  $display->layout = 'twocol_bricks';
+  $display->layout_settings = array();
+  $display->panel_settings = array(
+    'style_settings' => array(
+      'default' => NULL,
+      'middle' => NULL,
+      'top' => NULL,
+      'left_above' => NULL,
+      'right_above' => NULL,
+      'left_below' => NULL,
+      'right_below' => NULL,
+      'bottom' => NULL,
+    ),
+  );
+  $display->cache = array();
+  $display->title = 'My Workbench Sample';
+  $display->content = array();
+  $display->panels = array();
+    $pane = new stdClass;
+    $pane->pid = 'new-1';
+    $pane->panel = 'left_above';
+    $pane->type = 'views';
+    $pane->subtype = 'workbench_current_user';
+    $pane->shown = TRUE;
+    $pane->access = array();
+    $pane->configuration = array(
+      'override_pager_settings' => 0,
+      'use_pager' => 0,
+      'nodes_per_page' => '0',
+      'pager_id' => '0',
+      'offset' => '0',
+      'more_link' => 0,
+      'feed_icons' => 0,
+      'panel_args' => 0,
+      'link_to_view' => 0,
+      'args' => '',
+      'url' => '',
+      'display' => 'default',
+      'override_title' => 0,
+      'override_title_text' => '',
+    );
+    $pane->cache = array();
+    $pane->style = array(
+      'settings' => NULL,
+    );
+    $pane->css = array();
+    $pane->extras = array();
+    $pane->position = 0;
+    $display->content['new-1'] = $pane;
+    $display->panels['left_above'][0] = 'new-1';
+    $pane = new stdClass;
+    $pane->pid = 'new-2';
+    $pane->panel = 'middle';
+    $pane->type = 'views';
+    $pane->subtype = 'workbench_recent_content';
+    $pane->shown = TRUE;
+    $pane->access = array();
+    $pane->configuration = array(
+      'override_pager_settings' => 0,
+      'use_pager' => 0,
+      'nodes_per_page' => '25',
+      'pager_id' => '0',
+      'offset' => '0',
+      'more_link' => 0,
+      'feed_icons' => 0,
+      'panel_args' => 0,
+      'link_to_view' => 0,
+      'args' => '',
+      'url' => '',
+      'display' => 'block_1',
+      'override_title' => 0,
+      'override_title_text' => '',
+    );
+    $pane->cache = array();
+    $pane->style = array(
+      'settings' => NULL,
+    );
+    $pane->css = array();
+    $pane->extras = array();
+    $pane->position = 0;
+    $display->content['new-2'] = $pane;
+    $display->panels['middle'][0] = 'new-2';
+    $pane = new stdClass;
+    $pane->pid = 'new-3';
+    $pane->panel = 'right_above';
+    $pane->type = 'views';
+    $pane->subtype = 'workbench_edited';
+    $pane->shown = TRUE;
+    $pane->access = array();
+    $pane->configuration = array(
+      'override_pager_settings' => 0,
+      'use_pager' => 0,
+      'nodes_per_page' => '5',
+      'pager_id' => '0',
+      'offset' => '0',
+      'more_link' => 0,
+      'feed_icons' => 0,
+      'panel_args' => 0,
+      'link_to_view' => 0,
+      'args' => '',
+      'url' => '',
+      'display' => 'block_1',
+      'override_title' => 0,
+      'override_title_text' => '',
+    );
+    $pane->cache = array();
+    $pane->style = array(
+      'settings' => NULL,
+    );
+    $pane->css = array();
+    $pane->extras = array();
+    $pane->position = 0;
+    $display->content['new-3'] = $pane;
+    $display->panels['right_above'][0] = 'new-3';
+    $pane = new stdClass;
+    $pane->pid = 'new-4';
+    $pane->panel = 'top';
+    $pane->type = 'custom';
+    $pane->subtype = 'custom';
+    $pane->shown = TRUE;
+    $pane->access = array();
+    $pane->configuration = array(
+      'admin_title' => 'Sample Variant',
+      'title' => 'My Workbench created through Panels.',
+      'body' => '<em>You are viewing "My Workbench" as created by Page Manager and Panels. Please read the Workbench documentation for the best practices in using Panels and Page Manager with Workbench.</em>',
+      'format' => 'filtered_html',
+      'substitute' => 0,
+    );
+    $pane->cache = array();
+    $pane->style = array(
+      'settings' => NULL,
+    );
+    $pane->css = array();
+    $pane->extras = array();
+    $pane->position = 0;
+    $display->content['new-4'] = $pane;
+    $display->panels['top'][0] = 'new-4';
+  $display->hide_title = PANELS_TITLE_FIXED;
+  $display->title_pane = 'new-2';
+  $handler->conf['display'] = $display;
+  $handlers['myworkbench_panel_context_sample'] = $handler;
+
+  return $handlers;
+}
