             columns (for [column columns]
                       (match [column]
                         [[:document id]] (->DocumentColumnSource (.getNextUniqueId gen) id)
-                        [[:inbox _]]     (->InboxColumnSource (.getNextUniqueId gen))))]
+                        [[:inbox _]]     (->InboxColumnSource (.getNextUniqueId gen))
+                        [[:new-document _]]     (->NewDocumentColumnSource (.getNextUniqueId gen))))]
         (filterv identity columns)))))
 
 (defn- prepare-columns! [props state owner]

  (s/join "," (for [column columns]
                (match [column]
                  [[:document id]] (str "d:" id)
                  [[:inbox _]] "i"))))

(defn- current-columns [props]
  (-> (or (get-in props [:navigation :query-params :columns])
          "i,d:")
      (parse-column-param)))

(defn- add-column! [columns column]

         (= 2 (count column))]}
  (nav/navigate! (nav/workflow-route
                  :inbox
                  (let [;; Special case: If last column is 'new
                        ;; document', insert before it
                        last-column (last columns)
                        to-add (if (= [:new-document nil] last-column)
                                 [column last-column]
                                 [last-column column])
                        columns (butlast columns)]
                    {:columns (-> columns
                                  (vec)
