THE ADMIN ENGINE
Fine-grained control of every workflow you run.
The admin is a separate Rails engine for driving your workflows by hand. It has no dependencies beyond Rails and geneva_drive itself, and is built for rapid exploration and control.
Time, visualised.
The admin presents your workflows as a timeline you can inspect. It is designed to be effective, handy and practical, and it deals with thousands of step executions without a hitch. Try it — the timeline below is interactive! Drag a few things around.
On the left are your steps; on the right, the executions.
All your workflows at your fingertips.
The admin presents all of your current workflows, along with some stats.
Live, without your intervention.
Most views update live, without your intervention.
Delve into the details of your steps using the timeline viewer.
From milliseconds to months.
Inspect executions ranging from milliseconds to months, in a compact and instant display.
Analyse backtraces and job details for every execution.
Let your agent drive.
The admin ships an MCP endpoint, so Claude Code — or any other LLM harness - can answer "why is this invoice stuck" by looking rather than by you pasting. It can search your workflows, read a workflow's timeline against the steps its class declares, read the error and backtrace of a failed execution, read the source of the step that failed, and see which signals arrived and which went nowhere.
It is off until you turn it on, and read-only until you turn that on separately. Two lines in an initializer:
GenevaDrive::Admin::MCP.enabled = true
GenevaDrive::Admin::MCP.authenticate_with = ENV.fetch("GENEVA_DRIVE_MCP_TOKEN")A session, end to end.
Nineteen tools, all of them shaped like questions an operator already asks. Here is an agent working one of them — an invoice that stopped moving on Friday afternoon.
> invoice 88214 has been stuck since Friday. what happened?
● find_workflows_for_hero hero_type: "Invoice", hero_id: "88214"
1 workflow. BillingWorkflow #4471, state ready, on await_bank_settlement
https://acme.example.com/admin/workflows/4471
● get_workflow_timeline id: 4471
5 steps declared, 3 step executions, 1 signal
reserve_funds succeeded Fri 17:58:02 0.4s
charge_card succeeded Fri 17:58:03 1.2s
await_bank_settlement waiting Fri 17:58:04 3d 14h
post_to_ledger not run
notify_customer not run
● list_signals workflow_id: 4471, state: "pending"
1 pending. "bank_settled_v2", arrived Fri 18:06:41, claimed: false
https://acme.example.com/admin/workflows/4471/signals/9912
⏺ Nothing has crashed. #4471 is parked on a signal named bank_settled, and
since Friday 18:06 the settlement webhook has been delivering one named
bank_settled_v2 - so the event arrives, nothing claims it, and the last
two steps never start. Six other BillingWorkflows are waiting the same
way, all first seen after 18:00.Included with your license.
You get access to the admin as part of your commercial geneva_drive license.