diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -8,7 +8,7 @@
 return array(
   'names' => array(
     'core.pkg.css' => 'a9770fbb',
-    'core.pkg.js' => 'a77025a1',
+    'core.pkg.js' => '5a1c336d',
     'darkconsole.pkg.js' => '8ab24e01',
     'differential.pkg.css' => '6641cdd5',
     'differential.pkg.js' => '3fab5259',
@@ -346,12 +346,12 @@
     'rsrc/image/texture/table_header_hover.png' => '038ec3b9',
     'rsrc/image/texture/table_header_tall.png' => 'd56b434f',
     'rsrc/js/application/aphlict/Aphlict.js' => '2be71d56',
-    'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => 'cc2d9c80',
+    'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '830b3278',
     'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => '851f167c',
     'rsrc/js/application/aphlict/behavior-aphlict-status.js' => 'ea681761',
     'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18',
     'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
-    'rsrc/js/application/conpherence/behavior-durable-column.js' => 'a88a26cc',
+    'rsrc/js/application/conpherence/behavior-durable-column.js' => 'd32db212',
     'rsrc/js/application/conpherence/behavior-menu.js' => '869e3445',
     'rsrc/js/application/conpherence/behavior-pontificate.js' => '86df5915',
     'rsrc/js/application/conpherence/behavior-widget-pane.js' => '40b1ff90',
@@ -541,7 +541,7 @@
     'inline-comment-summary-css' => 'eb5f8e8c',
     'javelin-aphlict' => '2be71d56',
     'javelin-behavior' => '61cbc29a',
-    'javelin-behavior-aphlict-dropdown' => 'cc2d9c80',
+    'javelin-behavior-aphlict-dropdown' => '830b3278',
     'javelin-behavior-aphlict-listen' => '851f167c',
     'javelin-behavior-aphlict-status' => 'ea681761',
     'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884',
@@ -582,7 +582,7 @@
     'javelin-behavior-diffusion-locate-file' => '6d3e1947',
     'javelin-behavior-diffusion-pull-lastmodified' => '2b228192',
     'javelin-behavior-doorkeeper-tag' => 'e5822781',
-    'javelin-behavior-durable-column' => 'a88a26cc',
+    'javelin-behavior-durable-column' => 'd32db212',
     'javelin-behavior-error-log' => '6882e80a',
     'javelin-behavior-fancy-datepicker' => 'c51ae228',
     'javelin-behavior-global-drag-and-drop' => '07f199d8',
@@ -1400,6 +1400,16 @@
     '82ce2142' => array(
       'aphront-typeahead-control-css',
     ),
+    '830b3278' => array(
+      'javelin-behavior',
+      'javelin-request',
+      'javelin-stratcom',
+      'javelin-vector',
+      'javelin-dom',
+      'javelin-uri',
+      'javelin-behavior-device',
+      'phabricator-title',
+    ),
     '834a1173' => array(
       'javelin-behavior',
       'javelin-scrollbar',
@@ -1609,15 +1619,6 @@
       'javelin-stratcom',
       'javelin-dom',
     ),
-    'a88a26cc' => array(
-      'javelin-behavior',
-      'javelin-dom',
-      'javelin-stratcom',
-      'javelin-scrollbar',
-      'javelin-quicksand',
-      'phabricator-keyboard-shortcut',
-      'javelin-behavior-conpherence-widget-pane',
-    ),
     'a8d8459d' => array(
       'javelin-behavior',
       'javelin-dom',
@@ -1743,16 +1744,6 @@
       'javelin-stratcom',
       'phabricator-phtize',
     ),
-    'cc2d9c80' => array(
-      'javelin-behavior',
-      'javelin-request',
-      'javelin-stratcom',
-      'javelin-vector',
-      'javelin-dom',
-      'javelin-uri',
-      'javelin-behavior-device',
-      'phabricator-title',
-    ),
     'd19198c8' => array(
       'javelin-install',
       'javelin-dom',
@@ -1763,6 +1754,14 @@
     'd254d646' => array(
       'javelin-util',
     ),
+    'd32db212' => array(
+      'javelin-behavior',
+      'javelin-dom',
+      'javelin-stratcom',
+      'javelin-scrollbar',
+      'javelin-quicksand',
+      'phabricator-keyboard-shortcut',
+    ),
     'd4a14807' => array(
       'javelin-install',
       'javelin-dom',
diff --git a/src/applications/conpherence/controller/ConpherenceUpdateController.php b/src/applications/conpherence/controller/ConpherenceUpdateController.php
--- a/src/applications/conpherence/controller/ConpherenceUpdateController.php
+++ b/src/applications/conpherence/controller/ConpherenceUpdateController.php
@@ -209,14 +209,19 @@
         ->setDatasource(new PhabricatorPeopleDatasource()));
 
     require_celerity_resource('conpherence-update-css');
-    return id(new AphrontDialogView())
+    $view = id(new AphrontDialogView())
       ->setTitle(pht('Add Participants'))
       ->addHiddenInput('action', 'add_person')
       ->addHiddenInput(
         'latest_transaction_id',
         $request->getInt('latest_transaction_id'))
       ->appendChild($form);
+
+    if ($request->getExists('minimal_display')) {
+      $view->addHiddenInput('minimal_display', true);
     }
+    return $view;
+  }
 
   private function renderRemovePersonDialogue(
     ConpherenceThread $conpherence) {
diff --git a/src/applications/conpherence/view/ConpherenceDurableColumnView.php b/src/applications/conpherence/view/ConpherenceDurableColumnView.php
--- a/src/applications/conpherence/view/ConpherenceDurableColumnView.php
+++ b/src/applications/conpherence/view/ConpherenceDurableColumnView.php
@@ -146,21 +146,17 @@
       $dropdown_id = celerity_generate_unique_node_id();
 
       $settings_list = new PHUIListView();
-      $cw_registry =
-        ConpherenceWidgetConfigConstants::getWidgetRegistry();
-      $first = true;
-      foreach ($cw_registry as $widget => $config) {
+      $header_actions = $this->getHeaderActionsConfig($conpherence);
+      foreach ($header_actions as $action) {
         $settings_list->addMenuItem(
           id(new PHUIListItemView())
-          ->setHref('#')
-          ->setDisabled($first)
-          ->setName($config['name'])
-          ->setIcon($config['icon'])
-          ->addSigil('conpherence-durable-column-widget-selected')
+          ->setHref($action['href'])
+          ->setName($action['name'])
+          ->setIcon($action['icon'])
+          ->addSigil('conpherence-durable-column-header-action')
           ->setMetadata(array(
-            'widget' => $widget,
+            'action' => $action['key'],
           )));
-        $first = false;
       }
 
       $settings_menu = phutil_tag(
@@ -220,6 +216,28 @@
 
   }
 
+  private function getHeaderActionsConfig(ConpherenceThread $conpherence) {
+    return array(
+      array(
+        'name' => pht('Add Participants'),
+        'href' => '/conpherence/update/'.$conpherence->getID().'/',
+        'icon' => 'fa-plus',
+        'key' => ConpherenceUpdateActions::ADD_PERSON,
+      ),
+      array(
+        'name' => pht('View in Conpherence'),
+        'href' => '/conpherence/'.$conpherence->getID().'/',
+        'icon' => 'fa-comments',
+        'key' => 'go_conpherence',
+      ),
+      array(
+        'name' => pht('Close Window'),
+        'href' => '#',
+        'icon' => 'fa-times',
+        'key' => 'close_window',
+      ),);
+  }
+
   private function buildTransactions() {
     $conpherence = $this->getSelectedConpherence();
     if (!$conpherence) {
diff --git a/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js b/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
--- a/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
+++ b/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
@@ -170,4 +170,8 @@
     dirty = true;
     refresh();
   });
+
+  JX.Stratcom.listen('notification-panel-close', null, function() {
+    set_visible(null);
+  });
 });
diff --git a/webroot/rsrc/js/application/conpherence/behavior-durable-column.js b/webroot/rsrc/js/application/conpherence/behavior-durable-column.js
--- a/webroot/rsrc/js/application/conpherence/behavior-durable-column.js
+++ b/webroot/rsrc/js/application/conpherence/behavior-durable-column.js
@@ -6,7 +6,6 @@
  *           javelin-scrollbar
  *           javelin-quicksand
  *           phabricator-keyboard-shortcut
- *           javelin-behavior-conpherence-widget-pane
  */
 
 JX.behavior('durable-column', function() {
@@ -102,20 +101,25 @@
   // end copy / hack of stuff with big ole TODO on it
 
 
+  function _toggleColumn() {
+    if (window.location.pathname.indexOf('/conpherence/') === 0) {
+      return;
+    }
+    show = !show;
+    JX.DOM.alterClass(frame, 'with-durable-column', show);
+    var column = JX.$('conpherence-durable-column');
+    if (show) {
+      JX.DOM.show(column);
+      loadThreadContent(loadThreadID);
+    } else {
+      JX.DOM.hide(column);
+    }
+    JX.Stratcom.invoke('resize');
+    JX.Quicksand.setFrame(show ? quick : null);
+  }
+
   new JX.KeyboardShortcut('\\', 'Toggle Conpherence Column')
-    .setHandler(function() {
-      show = !show;
-      JX.DOM.alterClass(frame, 'with-durable-column', show);
-      var column = JX.$('conpherence-durable-column');
-      if (show) {
-        JX.DOM.show(column);
-        loadThreadContent(loadThreadID);
-      } else {
-        JX.DOM.hide(column);
-      }
-      JX.Stratcom.invoke('resize');
-      JX.Quicksand.setFrame(show ? quick : null);
-    })
+    .setHandler(_toggleColumn)
     .register();
 
   new JX.Scrollbar(JX.$('conpherence-durable-column-content'));
@@ -124,29 +128,49 @@
 
   JX.Stratcom.listen(
     'click',
-    'conpherence-durable-column-widget-selected',
+    'conpherence-durable-column-header-action',
     function (e) {
       e.kill();
-      var data = e.getNodeData('conpherence-durable-column-widget-selected');
-      var widget = data.widget;
-      if (widget == 'conpherence-message-pane') {
-        return loadThreadContent(loadThreadID);
+      var data = e.getNodeData('conpherence-durable-column-header-action');
+      var action = data.action;
+      var link = e.getNode('tag:a');
+
+      switch (action) {
+        case 'add_person':
+          JX.Stratcom.invoke('notification-panel-close');
+          var params = {
+            action: action,
+            latest_transaction_id: latestTransactionID,
+            minimal_display: true
+          };
+          var workflow = new JX.Workflow.newFromLink(link)
+            .setData(params)
+            .setHandler(function(r) {
+              var messages = _getColumnMessagesNode();
+              JX.DOM.appendContent(messages, JX.$H(r.transactions));
+              messages.scrollTop = messages.scrollHeight;
+
+              latestTransactionID = r.latest_transaction_id;
+              // since this is a two step workflow, and the "finally" method
+              // gets called on the first form load, restore "updating" if
+              // necessary
+              if (updating === null) {
+                updating = {
+                  threadPHID: loadedThreadPHID,
+                  knownID: latestTransactionID
+                };
+              }
+            });
+          sync_workflow(workflow);
+          break;
+        case 'go_conpherence':
+          JX.$U(link.href).go();
+          break;
+        case 'close_window':
+          JX.Stratcom.invoke('notification-panel-close');
+          _toggleColumn();
+          break;
       }
-
-      _markLoading(true);
-      var uri = '/conpherence/widget/' + loadThreadID + '/';
-      loadedThreadID = null;
-
-      var params = { widget : widget };
-      new JX.Workflow(uri)
-        .setData(params)
-        .setHandler(function(r) {
-          var body = _getColumnBodyNode();
-          JX.DOM.setContent(body, JX.$H(r));
-          new JX.Scrollbar(JX.$('conpherence-durable-column-content'));
-          _markLoading(false);
-        })
-       .start();
     });
 
   function _getColumnNode() {