Built for the people who own the numbers
Define metrics in guided forms, test a change on real data, and run it day to day, without waiting for a release. Every change is a version you can check, try and take back.
Build, explore, test, operate
One place for everything you keep live numbers about, from the first definition to the day-to-day running.
Define what Aggrelis keeps
A guided form for every kind of definition, and a map of the whole configuration that shows what reads what before you change it.
- Forms for events, totals, questions and triggers
- Start an event type from a pasted sample event
- The map shows what a change touches, with live numbers
See what it found
Look up anything you track and see its totals, its answers and why each condition holds. Explore only reads: it changes and counts nothing.
- Everything about one user, key, device or order
- Rankings of who stands out, from the last hour to 30 days
- Recent answers, filterable, compared with now
api_quotaover limitcalls_per_key is 640, above 600signin_checkfineNo condition holds#4be1…09ac18.2k#a07c…51d212.9k#e3f9…7b109.4k#1d6b…c3e86.1kShown by hashed key; ids never appear in the addressTry a change on real data
The Labs each answer one question on your real data and change nothing: what a new version would change, where a threshold belongs, whether today matches yesterday.
- Impact review before you activate
- Distributions, replay and a trigger simulator
- Saved scenarios the team asks again
over_limitburstnew_keyv3 nowv4 wouldOn the latest real data. Changes nothing.Activate v4Run it day to day
Watch history fill in, keep webhooks delivering, and see every change anyone made.
- Backfills and purges with progress and coverage
- Webhook deliveries: test, retry, rotate the secret
- An audit log filterable by what changed and who changed it
Backfill sessions_7d v264 %Filling from the event history; live events count meanwhilequota_reached → billingdeliveredoverheating → on-calldeliveredbig_spender → crmretryingSend a testRetryRotate secretDescribe it in a form, or in words
Every definition has a guided form that explains it in plain words and checks it as you type. The JSON is one click away for those who want it.
- Guided forms for every kind, with live checks and one-click fixes
- An expression editor with completion, showing what is in scope
- Draft with AI: describe what you want; it asks, plans and drafts
- Nothing changes until you save a draft
meter.avg_reading_7dnumbermeter.avg_reading_24hnumbermeter.avg_gap_7ddurationCompletion knows the variables and functions in scopeSee what a change would do, on real data
Before anything goes live, the Labs show what it would change. Each one answers a single question on your latest data and writes nothing.
- Impact review: who a new version would start or stop matching, per condition
- Distributions: move a threshold, see how many pass, save it as a draft
- Replay: would a question answer the same today as it did then?
- Trigger simulator: which triggers an event fires, and where results go
Every change is a version you can take back
Drafts never touch what is live. A version is checked against the whole configuration, tried on real data, and goes live everywhere within seconds, without a deploy.
- Draft
Edit freely. Nothing live changes.
- Test
Checked against everything else, then run on recent real events. Writes nothing.
- Fill with history
A new total fills from the event history, not from zero.
- Shadow
Runs beside the live one, so you compare before you switch.
- Live
Active on every server within seconds.
Every save names the version it started from. If someone changed it in the meantime, the save is refused instead of silently replacing their work.
Every saved change is in the audit log, with who made it and what changed- New totals start with history
They fill from the event history (35 days by default), not from zero.
- No broken dependencies
A definition others read can't be switched off.
- Roll back in one click
A rolled-back total refills from history, so no count is lost.
Problems, numbered, next to the change they started after
The overview opens with a plain answer: all is well, or how many things need attention. Each problem says what is wrong, where in the flow it happens and what likely fixes it.
- Each problem tied to the change it started after
- Its likely fix, and a link to the page that explains it
- Traffic over time, with every configuration change marked
- Owners get usage warnings and failing webhooks by email, in one digest an hour
The metric avg_basket_30d divides by an order count that is 0 for new customers.
Since checkout_check v3 was activated, 20 min agoWhy answers are incompleteCompare with v2Roll backIt reads site, which sensor_reading v5 no longer declares.
Since sensor_reading v5 was activated, 1 h agoOpen the triggerOpen it to the whole team, safely
People sign in with their own accounts, never with API keys. Owners decide how they sign in and what each person may do.
- Roles
Viewers read, editors change definitions and keys, owners also manage people and sign-in.
- Single sign-on with your provider
Your own OpenID Connect provider, such as Okta or Microsoft Entra ID, on every plan.
- Passkeys
Fingerprint, face or PIN. A passkey counts as two factors.
- Two factors
An authenticator app or email codes. Owners can require them for everyone.
- Audit log
Every change, who made it and what changed. Append-only, never edited.
- Ids never in URLs
Entities show by hashed key, ids you type travel in the request, and shared links carry none.
- Verified email domains
People from your domain go straight to your sign-in provider.
- Sessions that end
Idle sessions end, and sensitive changes ask you to confirm it is you.
Hand the numbers to the people who own them
Request access and we'll set up a workspace for your team.