Replacing 26 Make.com scenarios with IRIS — the Seemoto migration
Seemoto runs pharmaceutical environmental monitoring across five EU countries. Its alerting once lived in 26 hand-built Make.com scenarios with no state machine and no proof a human had acknowledged. We rebuilt it as IRIS: a single stateful engine that escalates SMS and voice across ~20 rounds in 6 languages, captures two-way acknowledgement, keeps data on the EU edge, and writes an audit-grade trail. The same engine delivered 1,431+ alerts in production on the prior AMS v1.
Honesty note. IRIS and Seemoto are both operated by MeshWorks Wireless Oy — Seemoto is our own production proving ground, not an arm’s-length customer. We share these numbers because we can stand behind every one of them: we run this alerting in production ourselves.
Situation
A pharma cold chain that cannot miss
Seemoto monitors temperature and environmental conditions for pharmaceutical storage and distribution across five EU countries — the Netherlands, Finland, Germany, Austria and Spain. The sensors are reliable. The hard part was never measurement; it was making sure that when a freezer or a shipment drifts out of range, the right person is actually reached, acknowledges, and the whole event is provable to an inspector months later — in the responder’s own language, at any hour, across every site.
Problem · 26 Make.com scenarios
Glue that grew faster than the value
Make.com connected the apps, but it could not hold the state of a critical alert. The alerting lived in 26 scenarios that failed the same four ways.
26 scenarios to keep alive
Every site, channel and escalation branch was a separate Make.com scenario. Twenty-six of them — each a chain of modules that can hit operation, rate or timeout limits at high volume, and needs maintaining whenever a webhook payload changes.
No state machine
Make.com fires steps; it does not hold the state of an open alert. There was no single source of truth for “is this excursion still unacknowledged, and which round are we on?” — so escalation logic had to be faked across scenarios.
No two-way proof
A reply from a recipient is just another inbound webhook to correlate by hand. There was no reliable way to prove a specific human had acknowledged a specific alert at a specific time — exactly what a pharma audit asks for.
Harder to operate at scale
More sites and more languages meant more scenarios and more operations consumed. The cost and operational overhead grew with the business instead of with the value.
Solution · IRIS
One stateful engine, edge-native
We rebuilt the alerting as IRIS: a single platform that owns the lifecycle of every alert and proves it.
Stateful escalation, one engine
Each alert is a Durable Object that holds its own state and drives up to ~20 escalation rounds. SMS → voice → the next responder, until a human acknowledges. No cross-scenario glue.
Two-way acknowledgement
Recipients reply (SMS) or press a key (voice/IVR). IRIS distinguishes “delivered” from “acknowledged” and only the latter resolves the alert — and it is timestamped against the alert that triggered it.
6 languages, SMS + voice
A multi-country cold chain spans languages. Each responder is reached in theirs across both live channels, from one message definition — not 26 branching scenarios.
EU data residency by architecture
Alert state lives in Cloudflare Durable Objects pinned to EU jurisdiction. Residency is structural, not a contractual promise on a US cloud.
Audit-grade event log
Every signal, dispatch, escalation round, reply and resolution is written immutably and exportably — the evidence trail GxP/GMP investigations demand, with GDPR Art. 15 / 17 support and a DPA.
Outcome
26 scenarios → one proven engine
The alerting now scales with sites and languages instead of fragmenting across them — and every alert leaves an auditable record.
Seemoto migration — frequently asked
Is Seemoto an independent customer of IRIS?
No. Seemoto and IRIS are both operated by MeshWorks Wireless Oy. Seemoto is our own production proving ground, not an arm’s-length customer — which is precisely why we can speak to it concretely. The alerting engine ran Seemoto’s environmental monitoring in production before it became IRIS, and the figures here (5 EU countries, 1,431+ alerts on AMS v1, 26 Make.com scenarios replaced) are from that operation.
Why move off Make.com at all — it worked?
It worked — but it was not built for this. Make.com is excellent for connecting apps, but it has no state machine for a long-running alert, no native two-way acknowledgement proof, and cost and operational overhead that grow with every new site, language and escalation branch. For critical pharma cold-chain alerting — where you must prove a human was reached and acknowledged — those gaps are why we moved off it. IRIS replaces 26 hand-built scenarios with one stateful engine.
Can IRIS do this for our operation, not just Seemoto?
Yes — that is the point of turning it into a product. Any sensor platform, BMS or monitoring system that can fire a webhook posts an excursion to one REST endpoint, and IRIS takes over routing, language, escalation and the audit trail. The same engine that runs Seemoto across five EU countries is the one you get.
Run the engine that runs Seemoto
Start free with 1,000 credits — no credit card. The same stateful, EU-native engine, behind one REST call.