When something in
payments
needs a human,
M91 makes sure
one notices.
Software, AI agents, workflows and devices send an alert through M91. It reaches the people who chose to receive it, with the actions you define.
M91 is alerting that reaches a person. Set up M91 alerting for this project. Install the M91 alerting skill and follow it: npx skills add MSG91/m91-skill --skill m91-alerting -g If npx is unavailable, read the reference instead: curl -fsSL https://siren-backend-1091285226236.asia-south1.run.app/llms.txt Ask me for the send alert link before writing any code — it comes from the M91 app and you cannot create one yourself.
# Alerts a channel until someone takes it — no SDK, no API key curl -X POST "$M91_SEND_LINK" \ -H 'Content-Type: application/json' \ -d '{"title":"Payments API is down","severity":"CRITICAL", "responseOptions":[{"label":"On it","effect":"SHARED"}]}'
await fetch(process.env.M91_SEND_LINK, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title: 'Payments API is down', severity: 'CRITICAL', responseOptions: [{ label: 'On it', effect: 'SHARED' }], }), });
import os, requests requests.post(os.environ["M91_SEND_LINK"], json={ "title": "Payments API is down", "severity": "CRITICAL", "responseOptions": [{"label": "On it", "effect": "SHARED"}], })
body := []byte(`{"title":"Payments API is down","severity":"CRITICAL",
"responseOptions":[{"label":"On it","effect":"SHARED"}]}`)
http.Post(os.Getenv("M91_SEND_LINK"), "application/json", bytes.NewBuffer(body))
$ch = curl_init(getenv('M91_SEND_LINK')); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ 'title' => 'Payments API is down', 'severity' => 'CRITICAL', 'responseOptions' => [['label' => 'On it', 'effect' => 'SHARED']], ])); curl_exec($ch);
require 'net/http' require 'json' uri = URI(ENV['M91_SEND_LINK']) Net::HTTP.post(uri, { title: 'Payments API is down', severity: 'CRITICAL', responseOptions: [{ label: 'On it', effect: 'SHARED' }], }.to_json, 'Content-Type' => 'application/json')
You already have one of these.
Every one of these comes from a different system. Pick a source and watch the same alert rebuild itself: who it wakes, and what they can do about it.
Northwind requested a $240,000 demo.
One link, wherever a person is needed.
M91 is an automated alerting system that ends in a human. Software, workflows, devices and AI agents raise an alert; a real person is reached and decides. Anything with a “URL to call” field can do it.
Human approval layer for AI
AI-first by design. Your agent pauses on the thing it must not decide alone, a person answers on their phone, and the agent continues with their decision — recorded, and attributed.
Alerting for teams
The people who have to fix it, woken together. One of them takes it on, and every other phone stops asking.
Automation, end to end
Monitoring, CI, workflow tools, a spreadsheet formula, a smart button, a shortcut on a phone. No SDK and no code required.
Smart delivery
Full volume through silent mode and Do Not Disturb, retried, and escalated to a phone call if nobody answers — then stopped the moment somebody owns it.
Secure by design
A separate credential per integration, revocable in one tap, and nobody can ever be woken who has not personally agreed to it.
Scales without noise
One person or two hundred. A condition that keeps firing raises one alert, not a thousand, and reopens only if it comes back.
Your systems can raise an alert in one line. They cannot create the channel that wakes you — that takes a phone, and a person who agreed to be woken.
Your alert fired. Nobody saw it.
It went to a channel no one was watching, an inbox no one opened, and a phone on silent. The incident did not wait for anybody.
It keeps going until someone owns it.
Push, then SMS, then a ringing phone, down the rota until a person acknowledges. Then everything else stands down.
Everything your alerts need.
M91 gets the right alert to the right person,
gives them a clear action, and sends the response back to your system.
Route alerts only to people who agreed to receive them.
Give people the exact action they need inside the alert.
Know what happened after they act, without another workflow.
The whole path, before you build it.
Every alert follows the same three steps, so you always know what happens next.
Create a source.
Name the system, workflow, or device this alert comes from.
Choose who receives it.
Invite the people who should see it, and let them confirm once.
Define the buttons.
Add the actions they can take inside the alert, like approve or escalate.
Start escalating smarter
Be ready when it matters.
Set up your escalation policy in minutes and make sure no alert goes unnoticed.