DEV Community

Cover image for M91: Human-in-the-Loop (HITL) Alerts for Software Approvals
M91
M91

Posted on

M91: Human-in-the-Loop (HITL) Alerts for Software Approvals

Software and AI agents can do most work on their own. But some steps need a person to say "yes" or "no" first.

Think of a big refund, a risky deploy, or an AI agent about to delete data. The software should stop and ask a human.

But most tools ask by email, chat, or SMS. Those messages arrive quietly and just wait. If the right person is asleep or busy, the approval waits too.

M91 fixes that. It rings the right person's phone until someone answers, then sends the answer back to your software.

Quick answer: When your software needs a human approval, M91 turns the request into a loud phone alert with buttons like "Approve" and "Reject." It rings even on silent, keeps going until someone answers, and sends the answer back to your software.

In this guide, you will learn:

  • What M91 is, and what human-in-the-loop (HITL) means
  • Why approvals get missed today
  • How M91 works in 3 simple steps
  • What happens when an alert is sent

Human-in-the-loop (HITL) approval with M91: software sends an approval request, a phone rings through silent mode with Approve and Reject buttons, and the human answer goes back to the software

Your software asks. A person answers.

What Is M91?

M91 is a free human-in-the-loop alerting app made by MSG91. When software or an AI agent needs a decision, it rings the right person's phone, even on silent, until someone answers. Then it sends the answer back.

What Is Human-in-the-Loop (HITL)?

Human-in-the-loop (HITL) means the software does the work, but a person decides at the important steps.

There are three common kinds of HITL steps:

  • Human approval: a person says "yes" or "no" before the software continues.
  • Human review: a person checks something before it goes out.
  • Human takeover: a person steps in when the software or AI agent gets stuck.

The hard part of HITL isn't the decision. It's reaching the right person in time. That's the gap M91 fills.

The Problem: Approvals Get Missed

Here's a common example. A big refund needs a manager's approval at night. The system sends an email. The manager sees it the next morning. By then, the customer is upset.

Nothing broke. The message was just too quiet.

Email, chat, and SMS are fine for updates. They are the wrong tool when someone has to act now.

How M91 Works in 3 Simple Steps

  1. Create a channel. A channel is a group of people who get the same alerts, like your on-call team or your managers.
  2. Invite people by phone number. Each person installs M91, signs in, allows notifications, and accepts the invite.
  3. Copy the channel's send link. Find it on the channel screen and tap the copy icon.

That one link is the whole integration. When your software opens the link with a title, M91 sends the alert.

You can use the link almost anywhere: a browser, a cron job, a monitoring tool, a spreadsheet, your own code, or an AI agent. Using a workflow tool like viaSocket, n8n, Zapier, or Make? Just add one HTTP step to your approval workflow.

No SDK. No API key. No code needed.

Keep the send link secret, like a password. Anyone who has it can ring your whole team.

Want to try it safely first? Tap Send a test alert in the app, or follow this guide: How to Test Your M91 Alert Link Without Waking Anyone.

M91 human-in-the-loop setup in three steps: create a channel, invite people by phone number, and copy the send link to use in a browser, cron job, monitoring tool, spreadsheet, AI agent, viaSocket, n8n, or Zapier

Three steps. One link. No code.

What Happens When an Alert Is Sent?

  • Every phone in the channel rings. It rings at full volume, even on silent mode and Do Not Disturb.
  • It keeps trying until someone answers. One quiet buzz is not enough for urgent work.
  • No answer? M91 calls. HIGH and CRITICAL alerts escalate to a phone call if nobody responds.
  • The answer goes back to your software. M91 records who answered, what they chose, and when.

If nobody ever answers, M91 tells the channel owner and keeps the alert open. "We stopped trying" is not the same as "handled."

M91 approval alert flow: software calls the send link, every phone rings, HIGH and CRITICAL alerts escalate to a phone call if nobody answers, and M91 records who approved, what they chose, and when

M91 keeps trying until a real person answers.

Approve, Reject, or Take Over: You Choose the Buttons

You write the reply buttons in your own words. For example:

  • "Approve"
  • "Reject"
  • "I'm on it"
  • "Seen"

That's a full human approval workflow in a few buttons. Your AI agent can even choose its own buttons, like "Ask for receipt."

Each button does one of two things:

  • "I'll take this." One person taps it, and every other phone stops ringing. This is how a human takeover works.
  • "I've seen it, but it's not mine." The answer counts only for that person. The alert stays open for everyone else.

A button can also ask for proof. For example, the "Reject" button can ask for a short note, or a "Done" button can ask for a photo.

Phone screen showing an M91 human approval alert with custom reply buttons for approve, reject, and human takeover, plus a required note or file

Your buttons. Your words.

M91 Only Rings When It Should

An alert app should stay quiet until it's really needed. M91 keeps the noise down in three ways:

  • You pick how urgent it is. A LOW alert rings once. A CRITICAL alert keeps ringing and calls people.
  • Repeats collapse into one. The same problem won't wake your team five times.
  • Handled means handled. Once someone takes the alert, it stops ringing on every other phone.

An alert nobody hears is just a log entry.

M91 human-in-the-loop alert noise control: five repeat alerts collapse into one, and once one person takes over, every other phone stops ringing

One problem. One alert. One answer.

Who Uses M91?

M91 works anywhere a person must act, and it can't wait until morning.

  • AI agents: an agent is about to do something it can't decide alone, like deleting customer records.
  • Payments: card payments are failing and nobody is watching the dashboard.
  • Infrastructure: a server breaks at 2 AM and an engineer needs to wake up.
  • Devices and IoT: a warehouse door is left open and someone must go check.
  • Customer support: a bot runs out of answers and a customer wants a real person.
  • Sales and CRM: a big lead replies and needs an owner fast.

Email vs. Chat vs. M91

Email Team chat M91
Built to... Wait Wait Reach someone now
Rings through silent mode and Do Not Disturb No No Yes
Keeps going until someone answers No No Yes
Calls if nobody responds No No Yes, for HIGH and CRITICAL
Sends the answer back to your software No No Yes

Get Started With M91

  1. Download the M91 app from m91.msg91.com.
  2. Create a channel and invite yourself.
  3. Tap Send a test alert and watch your phone ring.

If your phone rings, you're ready to add a human-in-the-loop step to your software.

👉 Get M91 free and send your first alert

Read Next

Frequently Asked Questions

What is M91?

M91 is a free human-in-the-loop alerting app made by MSG91. When software or an AI agent needs a decision, it rings the right person's phone, even on silent, until someone answers. Then it sends the answer back.

What is HITL?

HITL stands for human-in-the-loop. The software does the work, but a person approves, reviews, or takes over at the important steps. M91 makes sure that person gets the alert and answers it.

What is a human takeover?

A human takeover is when a person steps in to handle something software or an AI agent can't finish. In M91, one person taps a button like "I'm on it," and every other phone stops ringing.

How do I add human approval to an automation or AI agent?

Create an M91 channel, invite your approvers, and copy the send link. When your automation or AI agent calls that link, the approvers' phones ring. Their answer, like "Approve" or "Reject," goes back to your software.

Do I need to write code?

No. Every channel has a send link. You can open it from a browser, add it as an HTTP step in a workflow tool, or paste M91's setup prompt into your coding agent.

What happens if nobody answers?

M91 keeps trying. HIGH and CRITICAL alerts escalate to a phone call. If nobody ever answers, the channel owner is told and the alert stays open.

Does M91 ring when my phone is on silent?

Yes. An M91 alert breaks through silent mode and Do Not Disturb on iPhone and Android. You just need to allow M91's notifications.

Will M91 send repeat alerts for the same problem?

No. Repeats of the same problem collapse into one alert, so your team isn't woken twice.

Is M91 free?

Yes. M91 is free forever. Every feature, every alert, and every person on your team is included.

Where can I get M91?

M91 is on iPhone and Android. Get it from m91.msg91.com.

Top comments (0)