Skip to content

Make

A private custom app records one run event per scenario execution. Create it in your Make organization once from the JSON blocks below, add the Record a Run module at the end of a scenario, and the value report builds itself.

Make's dashboards count operations and credits; there is no time-saved or ROI figure in the product. LumaTrack prices each run at a rate you can cite, counts failures against the total, and keeps the baseline as your labeled assumption, per client where you report to clients. The app is how a scenario gets into that ledger.

Create the app

The app is distributed as the JSON blocks Make's custom-app editor takes, and you create it as a private app in your own organization. That needs no partnership agreement, no review and no listing. Download the blocks from github.com/LumaTrack/lumatrack-make, then:

  1. In Make, open Custom apps and click Create app. Name lumatrack, label LumaTrack, theme #0F766E. Save.
  2. Base tab: paste base.json.
  3. Connections: add a connection of type Basic. Paste connection/api.json into Communication and connection/parameters.json into Parameters.
  4. Remote procedures: add listAutomations and listEventTypes, pasting each rpcs/<name>/api.json into Communication.
  5. Modules: add an Action module recordRun labelled "Record a Run". Paste modules/record-run/api.json (Communication), mappable-parameters.json, interface.json and samples.json into their tabs. Repeat for recordLossEvent from modules/record-loss-event/.

Self-hosting or a custom domain: change baseUrl in base.json and the url in the connection block before pasting.

Connect

Add a LumaTrack module to any scenario and create the connection:

Field Value
API key From Settings, API keys in LumaTrack, shown once at creation

An ingest-only key is enough and is the one to use: if it leaks, an attacker can post junk runs, and they cannot read or restate your ledger. The connection test reads your automations list, which is the one read an ingest-only key is allowed.

Record a run

Pick the automation from the dropdown, map External ID, and leave the rest alone on the happy path. Blank fields are omitted from the request, so the API applies its own defaults.

Field Notes
Automation Required. The slug this scenario reports as; create it in the app or over the API
Status success, failure, skipped or cancelled; defaults to success
External ID Idempotency key. Map the trigger bundle's own id, so a re-run returns the original run instead of creating a duplicate
Units processed Records this run handled; drives per-unit valuation. A scenario that processed 240 rows reports one run with 240 units, even from inside an Iterator
Duration (seconds) Wall-clock runtime. Leave it blank rather than send a guess
Failure reason Root cause, e.g. auth/credential. Powers the failure-reason Pareto
Executed at Only for evidence that genuinely happened earlier. Closed months are refused; send late evidence without it
Baseline minutes override Manual minutes this specific run replaced, when it differs from the automation's baseline
Metadata Key/value pairs kept with the run. Store references; a whole payload bloats the run
Source Defaults to make

The module outputs the run id, whether the request was a replay (deduplicated), and whether the run was held over the plan's monthly cap. A held run is stored and earns nothing, so a router that cares can branch on it.

Report failures too

One module on the happy path is half the integration. Failed scenarios cost money and save nothing, and reporting them is what makes the reliability chart and the net numbers credible.

Right-click the module that can fail and add an error handler. End the handler route in a second Record a Run with Status failure and the error message mapped to Failure reason, followed by the Resume, Ignore or Break directive your scenario needs.

skipped and cancelled each book as themselves. A filtered-out route did no work, and a cancelled run did not finish. Neither earns value and neither inflates your failure count.

Record a loss event

The second module, Record a Loss Event, books a ticket, an outage or a truck roll into the loss ledger: pick the event type, map the ticket or alert id to External ID, and send measured downtime only. Dollars are never estimated from a guess. See incidents.

Limits and honesty

  • The app is private to your Make organization. Make's invite-link publishing is irreversible and comes with a partnership agreement, so the app is offered as source instead; a verified listing waits until enough people use the private one to justify its maintenance promise.
  • A run is one HTTP call, and Make re-runs a failed bundle by replaying it. The External ID is what keeps a replay from counting twice.
  • Runs over your plan's monthly cap are held and released when you upgrade or the month resets.