Industry
Industry8 min readBy The Data Workers Team

The agentic data platform for energy and utilities data teams

How Data Workers keeps AMI interval data, outage and reliability numbers and rate case evidence right on Databricks, Snowflake and Azure: diagnosed breaks, traced filings and parity-gated SAP IS-U moves, with a receipt on every change.

For a utility data team, Data Workers, the agentic data platform, keeps meter, outage and asset data right as it moves from the MDM, OMS, GIS and SAP IS-U into Databricks, Snowflake or Azure: its agents catch the missing interval, the stale outage feed or the broken join, trace what it reaches and propose the fix before billing, load research or a filing reads it. The same agents trace the tables behind a rate case back to their sources and hold a move off IS-U to parity checks and a named owner's sign-off, with a receipt on every change.

A wrong interval is a billing exception today and a contested exhibit in the next rate case (what is an agentic data platform?).

Key takeaways

  • •Interval data you can bill and file on. Completeness, freshness and anomaly checks on AMI tables after VEE, with each break diagnosed and a fix proposed before downstream jobs read it.
  • •Reliability numbers with their evidence. Outage feeds watched through storms, and each reliability table traced back to the OMS events behind it.
  • •Rate case tables that trace. Lineage from each reporting table to its sources, and definitions owned by a named person.
  • •Precise about NERC CIP. Data Workers works on the corporate data platform and never connects to BES Cyber Systems or anything inside an Electronic Security Perimeter. Where an analytics estate could hold BES Cyber System Information, it runs on-premise or air-gapped under your CIP-011 program.
  • •Controls, not certificates. Named approvals, scoped access and a tamper-evident audit trail; your compliance team decides what satisfies each rule.

The utility data reality

A typical estate runs an AMI head-end and a meter data management system (Itron, Landis+Gyr, Oracle Utilities Meter Data Management) that validates, estimates and edits interval reads; a CIS and billing system, often SAP IS-U; SCADA, EMS and ADMS from vendors such as GE Vernova, Hitachi Energy or Schneider Electric; AVEVA PI System as the historian; an outage management system; Esri ArcGIS Utility Network for connectivity; and IBM Maximo or SAP PM for work and assets. Corporate data lands in Azure, Databricks or Snowflake, dbt models it, and Power BI is where planners and regulatory staff look.

The U.S. Energy Information Administration counted about 119 million AMI installations at U.S. electric utilities in 2022, about 72% of electric meters, each recording usage "at a minimum of hourly intervals". What hurts:

  • •Interval data at volume. VEE runs in the MDM, but exports, time zones and daylight-saving days break downstream models without an error.
  • •Storm-day freshness. Outage and DER feeds matter most when they are under the most load.
  • •Filings that must trace. A data request asks where a number came from, and the answer lives in lineage nobody wrote down.
  • •The OT/IT boundary. Anything touching BES Cyber Systems stays on the other side of the line.
  • •The IS-U deadline. SAP provides mainstream maintenance for SAP Business Suite 7 core applications "until end of 2027", and moving billing to S/4HANA Utilities means proving billing determinants came across intact.

Three use cases

1. AMI interval data after VEE (worked example below). Data Workers sets completeness SLAs on interval tables (set_sla, run_quality_check), tracks lateness against a baseline the team records, flags shifts with get_anomalies, follows a break upstream with get_root_cause, and shows with blast_radius_analysis which billing and load research extracts read the table. The fix arrives as a diff for the model owner to merge, at L2 propose.

2. Outage and reliability reporting. Oracle Utilities Network Management System events and AMI last-gasp messages land in Snowflake, joined to connectivity from ArcGIS Utility Network, and dbt builds the SAIDI and SAIFI tables behind the commission's reliability report and Form EIA-861. define_business_rule records how your commission defines a sustained interruption and a major event day, so every model computes the same index. a monitor_metrics baseline on events per interval watches the OMS feed through a storm, get_quality_score tracks connectivity quality (customers with no transformer, transformers with no feeder), trace_cross_platform_lineage ties each reliability table to its event tables, and mark_authoritative, approved by a named owner, makes one table the source staff report from. Start at L1 observe. The OMS and GIS connect over their APIs today; Snowflake and dbt are native.

3. Rate cases and the move off SAP IS-U. A rate case pulls billing determinants from IS-U, plant balances from fixed asset accounting and load research from AMI into the cost-of-service study, and FERC Form No. 1 is filed each year on April 18. trace_cross_platform_lineage follows each table behind a schedule back through the dbt models to the landed IS-U, asset and AMI tables, with a confidence score on every edge; define_business_rule records what each billing determinant means, and generate_audit_report exports the record. For an IS-U to S/4HANA Utilities move, the migration agent plans the cutover of the warehouse models and extracts in waves, each with its parity checks on billing determinants, tracks them, and holds the completion gate until a named owner signs off. SAP connects over its APIs or MCP server today, and Data Workers works from the SAP data that lands in the warehouse; it never writes into SAP, by design. You're on SAP Business Data Cloud covers the SAP side.

Worked example: the hour that repeats

This is an illustrative example. A mid-size electric utility exports VEE'd 15-minute interval data from Oracle Utilities Meter Data Management to Azure Data Lake Storage each night, one file set per day. A scheduled dbt job builds ami_interval_15m on Azure Databricks, and load research and the rate case team's class load extract read it. Sunday, November 1, 2026 is the fall-back day in the U.S.: the 01:00 hour happens twice, so each meter has 100 intervals instead of 96. The export carries local time with no offset, and the model's merge key is the local interval end. The meter-data domain is at L2 propose.

TimeSystemWhat happens
Mon 03:15Oracle Utilities MDMThe nightly export writes Sunday's 25-hour day in local time with no UTC offset
03:20Azure Data Lake StorageFiles land with 100 intervals per meter
04:00dbt jobThe nightly build merges on local interval end, and the repeated hour collapses into one
04:20Azure Databricks + dbtmonitor_metrics flags the table against its volume baseline: 100 intervals per meter landed, 96 in the table
04:24Azure Databricks + dbtget_root_cause traces it to the merge key: the second 01:00 hour overwrote the first
04:31Azure Databricks + dbtData Workers proposes a diff: key on UTC derived from the export's daylight-saving indicator, plus a test that each meter-day has 92, 96 or 100 intervals by calendar, with a dry run and rollback path
04:32Spellbook + SlackThe AMI data on-call is notified with the blast radius: load_research_daily, the Power BI load research report and the class load extract
07:45SpellbookThe on-call reviews the dry run and approves
07:52Azure Databricks + dbtThe model owner merges the diff
07:55dbt jobData Workers queues the rerun
08:20SpellbookThe rebuilt table holds 100 intervals per meter; receipt written: diff, approver, time, rollback path
09:00Power BILoad research and the rate case extract read a complete 25-hour day
Incident timeline across the stack: what Utility data stack, your team and Data Workers each do, step by step

Without the agents, November 1 is short an hour of energy for every meter, found months later in a load research reconciliation. With them, one approved diff and a receipt. Oracle Utilities MDM and Power BI connect over their APIs today; Databricks and Unity Catalog, Azure Blob and ADLS, dbt and Slack are native integrations among 50+ connectors. Data Workers on Databricks and Data Workers + dbt cover the wiring.

Governance and regulation

Data Workers doesn't make a utility compliant; your controls, people and auditors do. It supplies controls and evidence. Not legal advice.

NERC CIP, precisely. The NERC Glossary defines the Bulk Electric System, unless modified by its inclusion and exclusion lists, as "all Transmission Elements operated at 100 kV or higher and Real Power and Reactive Power resources connected at 100 kV or higher", and says it "does not include facilities used in the local distribution of electric energy". The CIP standards protect BES Cyber Systems, categorized as high, medium or low impact under CIP-002. In a typical architecture the AMI head-end, MDM, CIS and corporate warehouse are business systems outside any Electronic Security Perimeter, but your CIP-002 categorization decides. Data Workers belongs on that corporate side: it never connects to SCADA, EMS, protection systems or anything inside an ESP, and it reads historian data only where your architecture already replicates it to the business network.

The data question is BES Cyber System Information. The Glossary defines BCSI as "Information about the BES Cyber System that could be used to gain unauthorized access or pose a security threat to the BES Cyber System", with examples including "collections of network addresses; and network topology of the BES Cyber System". Meter reads are not BCSI; a substation asset table joined to device IP addresses could be. CIP-011-3, mandatory and subject to enforcement since January 1, 2024, requires "Method(s) to identify BCSI" and "Method(s) to protect and securely handle BCSI" for high and medium impact BES Cyber Systems and their associated systems (CIP-011-4.1 is subject to future enforcement from July 1, 2028). Data Workers' side: policies you write in check_policy return allow, deny or review for agent actions on tables your program designates as BCSI; provision_access grants column-level, time-boxed access and grants nothing on a review verdict; and every action lands in a hash-chained audit trail that verify_global_hash_chain checks. Where agents must work near BCSI, Enterprise runs on-premise or air-gapped, and sovereign mode blocks external model calls so inference stays on a local model (Data Workers in your VPC or air-gapped). Your CIP-011 program decides where BCSI may live.

FERC and state commissions. FERC Form No. 1 is filed electronically each year on April 18 (18 CFR 141.1), and state commissions set rate case and reliability reporting rules. Form EIA-861 collects SAIDI and SAIFI and allows respondents "to use IEEE standards or any other method", which is why the definition belongs in one recorded business rule.

Customer data. CIS and AMI tables carry names, addresses and usage. When a pull request adds a column, Data Workers' review flags names and annotations that look personal (it reads column names, not values); the data owner confirms the classification, and masking is proposed for your team to apply (how Data Workers handles PII). Investor-owned utilities carry SOX change-management duties too (SOX, HIPAA, GDPR and the EU AI Act). For European utilities, the Commission lists energy and water management among the sectors NIS2 covers, with transposition due by 17 October 2024.

Where it runs and who approves. The agents run in your infrastructure on every tier with your credentials and model key; your data stays in your systems, and the hosted Autonomous Data-Conductor sees workflow metadata only. An air-gapped install has zero outbound access (where does our data go?). Each domain sits on one ladder, L0 manual to L4 autonomous (autonomy levels); approvals go to a named person, an unanswered request expires and escalates, and no agent can promote its own work (how approvals work).

What changes for the utility data team

Six jobs that run on autopilot with Data Workers next to Utility data stack, with a concrete example of each

Six jobs move onto autopilot at the level each owner sets. People still own the decisions: which domains climb the ladder, who approves, what counts as a sustained interruption and which tables are authoritative for a filing (who owns the agents, will Data Workers replace my data team?).

The alternatives utility teams weigh

Build it yourselves. A strong team can wire a coding agent to MCP servers for Databricks and dbt; the work is everything around it: approvals, blast radius, rollback, receipts and context across MDM, OMS, GIS and SAP (build it ourselves?).

Industrial and vendor platforms. AVEVA describes CONNECT as "an open, vendor-neutral and cloud-based platform" for industrial data, and MDM and OMS vendors ship analytics. Each is strong on its own data; Data Workers runs the operations where that data meets billing and the filing.

Platform-native agents. SAP introduced new Joule Agents capabilities in Business Data Cloud on May 13, 2026; Snowflake made its managed MCP server generally available on Nov 4, 2025; Databricks made Genie One generally available on Jun 16, 2026. Each is strong inside its platform, and a utility's data crosses all of them (on Snowflake).

The manufacturing and financial services pages map the same controls to their rules, Data Workers integrations lists the connectors, and AI for data infrastructure in energy covers the infrastructure side.

The case for your CFO

The outcome is numbers the commission can't pick apart. A lost interval hour is revenue and load research error; an untraceable reliability index becomes a finding; an IS-U cutover without parity proof becomes months of billing exceptions.

The risk story: at L2 propose every change waits for a named owner, nothing writes into SAP or any operational system, nothing touches BES Cyber Systems, and every change carries a receipt with the diff, the approver and the rollback path. What stays the same: the MDM, OMS, GIS, SAP, the warehouse and Power BI. Nothing is migrated.

Why now: SAP's mainstream maintenance for Business Suite 7 ends in 2027, and every rate case asks where the numbers came from. The first win: interval completeness checks and incident diagnosis on the AMI tables.

Start with a pilot ($7,500 one-time, credited in full against the first year). Scale is from $1,000 a month and Enterprise from $3,000 a month, billed annually, with unlimited seats, no usage meter and no markup on model spend. See pricing and the ROI calculator. The sentence for upstairs: "Our meter, outage and rate case data now has a crew that catches breaks before billing and filings read them, and every fix has a receipt."

FAQ

Does Data Workers connect to our MDM, OMS and SAP IS-U? Yes. Oracle Utilities MDM, the OMS, ArcGIS, AVEVA PI and SAP connect over their APIs today, and Data Workers works natively where their data lands: Databricks and Unity Catalog, Snowflake, Azure Blob and ADLS, dbt, Azure Data Factory and Airflow, among 50+ connectors.

Will an agent ever touch SCADA, the EMS or anything inside an ESP? No. Data Workers works on the corporate data platform and has no connection to control systems or BES Cyber Systems. It reads historian data only where your architecture already replicates it to the business network.

Is Data Workers NERC CIP compliant? Compliance belongs to the registered entity and its program, not a vendor. Data Workers supplies controls your CIP-011 program can use: policies on designated BCSI tables, scoped and time-boxed access, a tamper-evident audit trail, and on-premise or air-gapped deployment with sovereign mode.

How does it help with a rate case? It traces each table behind a schedule to its sources, records definitions with a named owner, and exports an audit report, so a data request is answered from a record.

How does it help with an IS-U to S/4HANA Utilities move? The migration agent plans the move of your warehouse models and extracts in waves, each with its parity checks on billing determinants, tracks them, and holds the completion gate until a named owner signs off.

Sources

  • •NERC, Glossary of Terms (Bulk Electric System, BES Cyber System Information, Electronic Security Perimeter; definitions subject to enforcement): https://www.nerc.com/glossary-of-terms (checked Oct 2, 2026)
  • •NERC, CIP-011-3 Cyber Security, Information Protection (Requirement R1 Parts 1.1 and 1.2): https://www.nerc.com/globalassets/standards/reliability-standards/cip/cip-011-3.pdf ; CIP standards list (CIP-011-3 mandatory subject to enforcement from Jan 1, 2024; CIP-011-4.1 subject to future enforcement from Jul 1, 2028): https://www.nerc.com/standards/reliability-standards/cip (checked Oct 2, 2026)
  • •eCFR, 18 CFR 141.1, FERC Form No. 1 (filed each year on April 18; eCFR as of Sep 30, 2026): https://www.ecfr.gov/current/title-18/chapter-I/subchapter-D/part-141/section-141.1 (checked Oct 2, 2026)
  • •U.S. EIA, How many smart meters are installed in the United States? (last updated Oct 20, 2023; 2022 data): https://www.eia.gov/tools/faqs/faq.php?id=108&t=3 (checked Oct 2, 2026)
  • •U.S. EIA, Annual Electric Power Industry Report, Form EIA-861 (SAIDI, SAIFI, "IEEE standards or any other method"): https://www.eia.gov/electricity/data/eia861/ (checked Oct 2, 2026)
  • •SAP Support, Maintenance strategy for SAP S/4HANA and SAP Business Suite 7: https://support.sap.com/en/release-upgrade-maintenance/maintenance-information/maintenance-strategy/s4hana-business-suite7.html (checked Oct 2, 2026)
  • •Oracle, Utilities Meter Data Management (VEE): https://www.oracle.com/utilities/meter-data-management/ ; Utilities Network Management System: https://www.oracle.com/utilities/network-management-system/ (checked Oct 2, 2026)
  • •Microsoft Learn, Introduction to Azure Data Lake Storage: https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction (checked Oct 2, 2026)
  • •European Commission, NIS2 Directive (sectors incl. energy and water management; transposition by 17 Oct 2024): https://digital-strategy.ec.europa.eu/en/policies/nis2-directive (checked Oct 2, 2026)
  • •AVEVA, CONNECT industrial intelligence platform: https://www.aveva.com/en/solutions/connect/ (checked Oct 2, 2026)
  • •SAP News, Accelerate the Autonomous Enterprise with SAP Business Data Cloud (May 13, 2026; Joule Agents): https://news.sap.com/2026/05/sap-bdc-accelerate-autonomous-enterprise/ (checked Oct 2, 2026)
  • •Snowflake, Snowflake-managed MCP server GA release note (Nov 4, 2025): https://docs.snowflake.com/en/release-notes/2025/other/2025-11-04-cortex-agents-mcp (checked Oct 2, 2026)
  • •Databricks, Genie One launch press release (Jun 16, 2026): https://www.databricks.com/company/newsroom/press-releases/databricks-launches-genie-one-all-new-agentic-coworker-every-team (checked Oct 2, 2026)
  • •Data Workers security page (last updated Sep 10, 2026): https://dataworkers.io/security/ ; pricing: https://dataworkers.io/pricing/ (checked Oct 2, 2026)
  • •Data Workers open-source repository, tool registrations: https://github.com/DataWorkersProject/dataworkers-claw-community (checked Oct 2, 2026)