     case :rpc.call(primary_node, :mnesia, :create_table, [:feature, tab_def]) do
       {:atomic, :ok}      -> :ok
       {:aborted, reason}  -> {:error, reason}
+    end
+  end
+
+  defp work!(:clustered, :webhook_table_created, work_nodes) do
+    ensure_mnesia_started(work_nodes)
+
+    [primary_node | _nodes] = work_nodes # not actually primary, just the first one
+    tab_def = [ attributes: [:id, :webhook], disc_copies: work_nodes]
+    case :rpc.call(primary_node, :mnesia, :create_table, [:webhook, tab_def]) do
+      {:atomic, :ok}      -> :ok
+                             {:aborted, reason}  -> {:error, reason}
     end
   end
 

    [primary_node | _nodes] = work_nodes # not actually primary, just the first one
    table_info = :rpc.call(primary_node, :mnesia, :system_info, [:tables])
    not (table_info |> Enum.member?(:feature))
  end

  defp work!(:local, :schema_created, work_nodes) do

    :rpc.call(primary_node, :mnesia, :create_schema, [work_nodes])
  end

  defp work!(:clustered, :feature_table_created, work_nodes) do
    ensure_mnesia_started(work_nodes)

