A quick tour of the four primitives that everything in JAMS IMES is built from. Knowing the names will save you time when reading other articles or clicking around the product.
Flow
A flow is a rule. "When X happens, notify Y people via Z channels with this escalation behavior." Everything else in JAMS IMES exists to support flows.
You can have as many flows as you want. Each one is independent β they can have different triggers, different recipients, different escalation timing.
Flows live at /flows. You build them via AI Builder or the manual builder.
Trigger
A trigger is what fires a flow. Five types today:
| Trigger type | What fires it | Setup |
|---|---|---|
| Webhook | An HTTP POST to a URL JAMS IMES gives you | None β URL is generated automatically |
| Email (IMAP) | A message arriving in a mailbox you connect | Requires an Email Connection |
| API monitor | A scheduled GET against an endpoint, matching a condition | Requires an API Connection |
| Azure Monitor | An Azure alert rule webhook | Configure via Integrations β Azure Monitor |
| JAMS Scheduler | A JAMS Notification Job firing on a job failure | Configure via Integrations β JAMS |
Most teams' first flow is webhook-based β quickest to set up and works with anything that can make an HTTP request (curl, Postman, custom scripts, third-party monitoring tools).
Actions (channels + recipients)
An action says "send this through channel X to person Y." When a flow fires, JAMS IMES runs each of its actions in escalation order.
Three channels:
- Voice call β most likely to wake someone up. Includes a spoken alert message, then asks for ack ("press 1 or say confirm").
- SMS β quick visibility. Includes the alert text + a clickable ack link.
- Email β best for non-urgent or detail-heavy alerts. Includes the full alert body + an ack button.
Recipients are either individual Team Members or Team Groups (reusable collections that expand to their current members at notification time).
Escalation
When an action goes out, JAMS IMES waits for the recipient to acknowledge β pressing 1 on the call, clicking the ack link in the SMS or email, or hitting "Acknowledge" in the JAMS IMES dashboard.
If they don't acknowledge within the ack window (default 2 minutes per recipient), JAMS IMES advances to the next recipient in the flow and repeats. This is called sequential escalation.
When someone finally acknowledges, JAMS IMES cancels any in-flight actions in that flow group β the alert stops escalating immediately.
You set the escalation interval when you build the flow. 5 minutes is typical for non-urgent; 1-2 minutes for production-critical.
The mental model
Read it like a sentence:
When the JAMS job fails (trigger), send an SMS (channel) to the on-call engineer (recipient). If they don't acknowledge within 2 minutes (escalation interval), escalate to the second on-call engineer, then the team lead.
Every flow you'll build is some variation of that shape. The triggers, channels, recipients, and timing change. The structure doesn't.
What's next
- Getting Started if you haven't built your first flow yet
- Using AI Builder to see how AI drafts these for you from plain English
- Inviting Users to add the recipients you'll use in flows