Equipt (CMMS)

Meters & Usage-Based Automations

Track hours, miles, gallons, and cycles on any asset — and let Equipt open the work order for you the moment a threshold is crossed.

What are meters

A meter tracks a usage value that accrues over time on a specific asset or vehicle — engine hours on a mower, odometer miles on a truck, gallons through a sprayer, cycles on a piece of equipment. Unlike a PM schedule, which fires on a calendar date, a meter fires based on how much the asset has actually been used.

Meters exist to feed one thing: usage-based automations. Once a meter is recording readings, you can wire up an automation in CMMS > Automations that watches it and reacts the moment it crosses a threshold you set.

Adding a meter and recording readings

  1. Open any asset or vehicle detail and go to the Meters tab. Click + New Meter.
  2. Choose the unit — miles, hours, gallons, cycles, or whatever fits the asset — and give the meter a name (e.g. "Odometer" or "Engine Hours").
  3. To log usage, click the meter and use + Add Reading. Enter the value and the date.
  4. The meter's current value always reflects the latest reading — there's no separate "current value" field to keep in sync manually.
Every reading you add — manual or synced — runs the automations engine instantly in the background. If the new value crosses a threshold on an enabled automation, the resulting work order or request is created right away, not on the next poll or batch job.

Building a meter-threshold automation

  1. Go to CMMS > Automations and click + New Automation.
  2. Set Trigger Type to Meter Threshold, then select the specific meter to watch.
  3. Choose the operator — is the one you'll use almost always for cumulative meters like mileage or hours, since those values only go up. Enter the threshold value to compare against.
  4. Pick an action type. If it's Create Work Order or Create WO Request, you can also set a Service Interval — see the worked example below for what that does.

Worked example: Truck #4 oil changes

This is the canonical use of meter automations — a recurring, mileage-based service that keeps re-scheduling itself without anyone touching the threshold by hand.

  1. Truck #4 has an Odometer meter, currently at 31,200 miles from past readings.
  2. An automation is configured: Trigger = Meter Threshold, Meter = Truck #4 — Odometer, Operator = ≥, Threshold = 36,000. Action = Create Work Order ("Oil Change"), Service Interval = 5,000 miles.
  3. A crew member logs a new odometer reading of 36,150 miles. The automations engine runs instantly, sees 36,150 ≥ 36,000, and creates the "Oil Change" work order right then.
  4. The automation's Pending Reset flag flips to true — see the next section for why. No second work order gets created no matter how many more readings come in while it's pending.
  5. A tech performs the oil change and marks the work order Done. That closes the loop: Pending Reset clears, and the threshold automatically advances by the 5,000-mile interval — from 36,000 to 41,000 miles.
  6. Later, another reading pushes the odometer past 41,000. The automation fires again, a new Oil Change work order is created, and the cycle repeats — 46,000 next, then 51,000, and so on — with no one ever editing the threshold by hand.

Pending Reset, explained

Pending Reset is the state that keeps a meter-threshold automation from firing over and over. Without it, every single reading that still satisfies the operator (e.g. every reading ≥ 36,000 miles, which is all of them once you've crossed that line) would create another work order.

Think of it as a simple two-state machine:

StateMeaningWhat clears it
Pending Reset = falseArmed. The automation is watching and will fire the next time a reading crosses the threshold.
Pending Reset = trueAlready fired once for this threshold. Further readings that still cross it are ignored — no duplicate work orders.The linked work order (or request) is marked Done. That's also the moment the Service Interval, if set, advances the threshold.
Automation didn't fire when you expected? Check, in order: 1) the automation is enabled. 2) Pending Reset is false — if it's stuck true, the linked work order likely hasn't been marked Done yet. 3) the meter's current value actually crosses the threshold. 4) the correct meter is selected in the trigger config.

Trigger & action reference

Every trigger type an automation can use, and every action it can take.

Trigger typeFires when…
Meter ThresholdA meter's current value crosses a number you choose (see below for the full walkthrough).
Part Low StockA part's quantity on hand drops to or below its minimum stock level — any part, or one you specify.
PM Schedule DueA preventive-maintenance schedule's next-due date is within N days.
Work Order OverdueA work order's due date has passed by N or more days.
New Maintenance RequestA new maintenance request is submitted.
Work Order Status ChangedA work order's status changes to a specific value you pick.
Purchase Order Status ChangedA purchase order's status changes to a specific value you pick.
Action typeWhat it does
Create Work OrderOpens a work order directly. Supports a Service Interval (see below).
Create Maintenance RequestAdds a review step before it becomes a work order. Also supports a Service Interval.
Create Purchase RequisitionStarts a requisition — useful for parts or consumables tied to the trigger.
Send NotificationNotifies a role in-app.
Send EmailEmails a role or address. Requires email configured in Settings first.

Pre-built templates

The Automations page also offers ready-made templates — click any template card to add it to your org instantly, no manual configuration required.

  • Low Stock AlertFires on Part Low Stock; creates a requisition automatically.
  • PM Due ReminderFires on PM Schedule Due; creates a work order ahead of the due date.
  • WO Completed — Notify TeamFires on Work Order Status Changed (Done); sends a notification.
  • PO ApprovedFires on Purchase Order Status Changed (Approved); sends a notification.
© 2026 Landscapt. All rights reserved.