Monitoring for automations and agents
Agents almost never crash. They finish, report success, and leave the invoice with the wrong total or the record never written. There is no error to catch, nothing goes red, and every monitor you own says the run was fine.
THE RUN REPORTED
Invoice INV-4471 filed, for 4,182.50. Status: success.
THE LEDGER SAYS
INV-4471 is in there twice, and one of them is for 418.25.
A deadline cannot see this. Supervision sends one email that names the check that failed.
Not sure your HTTP node is firing at all? Test it free, no signup.
A URL for the first question. A few lines of code for the second.
01 · DID IT RUN
Put it at the end of your workflow, in an HTTP request node or a curl line. Every ping resets the clock. Miss the window and you get one email.
https://silentfailapp.com/api/ping/YOUR_MONITOR_TOKEN
GET or POST. No key, no headers, no payload.
02 · DID THE WORK HAPPEN
Tell it what the run claims, and how to fetch the independent record. The checking happens right there, next to your data.
pip install silentfail-sdk
from silentfail import Supervisor, Claim
supervisor = Supervisor.start(
api_key=os.environ["SILENTFAIL_API_KEY"],
monitor_id="cmu0480ko0007ssi0f1zz7d60",
)
# ... your job runs, and files invoice INV-4471 ...
supervisor.check(
claim=Claim(status="success", reference="INV-4471"),
evidence=lambda: ledger.find(invoice_no="INV-4471"),
)You write the rule in English. A person approves it. Then every run is checked against it.
01
In plain English. "There should be one ledger record for the invoice it reports, and the total should match." A model turns that into a short list of checks, once, at setup.
02
You see them back in the same plain English, including the exact fields any check would send us. Nothing is judged by a check you have not approved, and nothing is judged before you approve it.
03
Comparisons run inside your own process and send us a verdict, never your data. A question about meaning, whether a summary is fair, is answered by our model using only the fields that check named.
THE RUN REPORTED
Filed invoice INV-4471 for 4,182.50, and summarised the supplier note.
YOUR LEDGER SAYS
Two ledger records for INV-4471. One is for 418.25.
THE RULE YOU APPROVED
Verdict: failedOne email, naming the rule, the version you approved and the check that failed. The run reported success.
The first two checks run inside your own process and send us the word passed or failed, never your data. The third is a question about meaning, so our model answers it using only the two fields that check named, which you saw before you approved it.
No model decides whether you are woken up. A model writes the checks once, at setup, and you read them before anything is judged by them. An alert names the rule, the version you approved and the check that failed. See what it catches.
01 · Deadline
The job reports in when it finishes, and if the report does not arrive in time you get an email. Every monitoring tool does this and so do we. For most scheduled work it is the whole answer, and it is what most people come here for.
Every monitor, from the free plan up.
02 · Drift
A nightly job that has quietly moved to 04:00. A five-minute job now taking twenty. Nothing is down, so nothing alerts, and the interval you typed in six months ago stopped describing this workflow a while ago.
Automatic mode learns the shape from the monitor's own history.
03 · Supervision
The run finished. It reported success. The invoice went in with the wrong total, or the account was created without its permissions, or the record was never written at all. There is no error to catch and nothing goes red.
Supervision judges each run against a rule you approved.
The third rung has a name we took from our own source code: pings perfectly, does nothing.
01
Name it, say how often it should run, set a grace period. We default that to twice your interval so day one is not a false-alarm parade.
02
Add an HTTP request node at the end of your workflow pointing at your unique URL. GET or POST, whichever your tool makes easy.
03
Every ping resets the clock. Miss the window and you get one email. When pings resume you get one all-clear. Never two.
Pick the monitor by name, not by pasting a URL.
A ping URL works in anything that can make an HTTP request and needs no account, no headers and no payload. If you live in Zapier or n8n there is a proper app for each, and it already knows what your monitors are called.
Connect once with an account API key, then pick the monitor by name from a list.
A ping URL does one thing to one monitor. An API key can list and ping everything on your account, which is what buys the dropdown of real names. Both are written up in the API reference.
$0
3 monitors
Enough to feel useful. Too few to run an agency on.
$9/mo
25 monitors
For one person running a lot of automations.
$29/mo
Unlimited monitors
Room for an agency running automations across client accounts.
We would like to set optional cookies to understand how the site is used. They are off unless you agree, and the site works exactly the same either way. What this covers