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.

Read the docs
1Copy the prompt 2Paste into your AI agent 3It asks you for the link
# 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"}]}'
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.

M91 2m ago
Sales

Northwind requested a $240,000 demo.

Woke the assigned rep
Whatever they tap goes straight back to your system.

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.

The problem What M91 does

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.

Right person

Route alerts only to people who agreed to receive them.

Clear action

Give people the exact action they need inside the alert.

Back to your system

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.