Introduction

Build storm outage control tower with ToolJet MCP when a utility control room needs a single app for storm response. The app that comes out is a structured ToolJet application, with data, queries, and interface kept together so the team keeps running it after generation. Controllers use the same app to keep operational decisions and public communication aligned while the storm is active. You get a control-room workflow that turns live utility data into one place the team can keep using. This walkthrough shows the app, the prompt, and the build shape you can reproduce.

Build storm outage control tower with ToolJet MCP, the finished application: Live Map: ranked outages, live map, and crew/ETA assignment panel

Live Map: ranked outages, live map, and crew/ETA assignment panel

Build storm outage control tower with ToolJet MCP, the finished application: Crew View: each crew's current job and queue

Crew View: each crew’s current job and queue

Build storm outage control tower with ToolJet MCP, the finished application: Public Messages: auto-generated status text with Duty Manager approval

Public Messages: auto-generated status text with Duty Manager approval

What We’re Building

The main view pairs a ranked outage table with the map, so the controller moves from priority score to geography without changing context. Selecting a row opens the outage detail panel, where customer counts, linked priority sites, the assigned crew, and the restoration ETA stay visible while the controller updates the assignment. If the ETA slips into the warning window, the panel asks for a revised time and a short reason, and the original estimate remains visible for comparison. The crew view filters to current and queued jobs, and the public messages page turns the current ETA into approval-ready text.

  • Rank outages with a visible priority score built from customers off, priority sites, outage age, and vulnerable customers
  • Move from the map into crew assignment and ETA edits in one detail panel
  • Keep the original ETA visible when a revised time and reason are required
  • Show each field crew only its own queued and active work
  • Generate public outage text from the controller’s ETA and gate publishing behind Duty Manager approval

Build storm outage control tower with ToolJet MCP across the live map, crew view, and public messages

Want to build it yourself? Start with the ToolJet MCP repository for setup instructions, supported agents, and everything you need to follow along.

The Consolidated Build Prompt

The build took several passes while the layout and data model settled into place. The requirements are consolidated into one prompt you can use from the start to reproduce the app in a single shot.

Build a control-room app called Storm Outage Control Tower in ToolJet for an electricity distribution utility.

Keep three pages: Live Map, which ranks outages, shows them on a map, and lets controllers assign crews and set restoration ETAs; Crew View, which shows each crew’s current work and next jobs; and Public Messages, which turns the controller’s ETA into a public status update that must pass Duty Manager approval before publishing.

Use a dark control-room look with strong status colours, very large customer-off numbers, and only native ToolJet components. Keep the outage table narrow and put navigation on top.

Use PostgreSQL and four related tables: om_crews, om_outages, om_priority_sites, and om_public_messages. Rank outages with a defensible score built from customers off, priority sites on the feeder, outage age, and vulnerable customers.

When an ETA is already late or close to late, require a revised time and a short reason, while keeping the original ETA visible. For restored outages, show reported time, crew assigned time, restored time, and customer-minutes lost. Public messages must always be generated from the current ETA, never typed separately, and if the ETA changes after submission the message must be marked stale and resubmitted. Field crew users only see their own assignment, while controllers can see every crew.es here

How ToolJet MCP Builds the App

ToolJet MCP works through the outage model, pages, components, queries, and the wiring between them, then leaves you with one structured ToolJet application inside ToolJet rather than a codebase to host yourself. Enterprise app building does not stop at the interface, because data connectivity, workflows, permissions, deployment, and ongoing change are part of the job, and the generated app sits on a runtime that carries those where supported. The path stays open, so you can move from AI generation to visual editing and then into code when a case needs it.

The One Thing That Broke

One outage detail panel showed the wrong row as selected after a table click. The cause was a stale default selection value that made the row state look truthy after the active row changed, and clearing that default fixed the panel so the detail view matched the clicked outage again.

Data Created

The app ended up with four tables. om_crews stores the crew roster and current assignment state, om_outages holds outage location, status, ETAs, and customer impact, om_priority_sites records critical sites on a feeder, and om_public_messages keeps each outage’s public message and approval state.

Page Components What they cover
Live Map 12 Ranked outage list, live map with outage/crew markers, and a detail panel for crew assignment and ETA management
Crew View 2 Each crew’s current job and queue, filtered server-side to the logged-in crew
Public Messages 9 Public status message per outage, generated from the live ETA, with Duty Manager approval before publishing

What Got Generated

Metric Result
Pages 3
ToolJet DB tables 4
Queries 11
Components 23
Code files to maintain 0
Repair cycles 1
Final validation 0 errors

Industries That Run This

Electricity distribution network operators and other utility control rooms (water, gas) running storm or multi-outage response, plus telecoms and other regulated infrastructure operators who owe customers a defensible restoration-priority order and a regulator-facing post-event summary.

Who Gets Access To The Built App

Controllers get full write access – assigning crews, setting and revising ETAs. Field crews only see their own current and queued jobs, enforced server-side by matching the logged-in user’s email against the crew record, not by a client-side filter. Public messages require a Duty Manager’s explicit approval, recorded by name, before they can be published – controllers can draft and submit but not publish directly.

Enterprise Features for Your Storm Outage Control Tower

Outage locations, crew assignments, and public ETA text move through this app. ToolJet covers that governance at the platform layer, so you configure it once instead of rebuilding it in every app.

  • SSO and SCIM: sign in with SAML, OIDC or LDAP, and provision users automatically
  • Role-based access control: scope permissions to the app, the data source, and each query
  • Audit logs: track every login, edit, and approval decision for compliance review
  • Air-gapped deployment: self-host on Docker or Kubernetes so your data stays in your network
  • Multiplayer editing: several builders work on the same app, with versioning and Git sync
  • ToolJet AI inside your own deployment: run the AI features in your tenancy rather than a shared service

ToolJet Workflows adds the notification layer. When a controller submits a public message for approval, a workflow posts the update to Slack, emails the duty manager through Gmail, and writes the approval state back to om_public_messages.

Final Takeaways

This build shows a storm outage control tower that ranks outages, ties map context to crew dispatch, and keeps public messages locked to the controller’s current ETA. The output is a structured ToolJet application, so once generation finishes you keep working in the same app instead of inheriting a disposable screen or a separate codebase. That matters because the visual editor covers the routine changes, code stays available for edge cases, and the runtime keeps the data, workflows, and governance in one place where supported, which is the shape you want when the process changes during a storm.

Cost and Speed by Model

You can easily build a 4-page app with ToolJet MCP for as little as $0.17 with a lean model (Luna medium), or pay more for the latest flagship reasoning (Sol) if that’s what you’re after. The cost is your call, not a floor we set for you.

Model Credits Minutes Notes
Astra 290 to 550 13 to 16 The most polished pages, when cost matters less
Sol (Recommended) 300 to 650 14 to 22 The best balance of quality and cost for most apps
Terra 85 to 210 5 to 12 The fastest, and best kept to smaller apps
Luna max 35 to 55 33 to 62 The most complete Luna, and by far the slowest
Luna high 25 to 50 22 to 41 Mid-effort Luna, between medium and max
Luna medium 10 to 30 14 to 20 A quick first draft or a small tool

Three to four builds per model across four-page apps. 1 credit = 1 cent. Credits and time are estimates only and will vary with the complexity of what you ask for. This measures cost and speed only, not how complete or polished the result is.

Even averaging across model tiers, ToolJet MCP can turn $10 into a dozen or more working 4-page apps.