InfraNestInfraNest

Automation

Automate the work. Prove it works first.

A rule is one sentence: when this happens, if that is true, do these things. Replay it against your own history and test every step before you switch it on. Three automatic fixes go further: they only record what they would have done until you let them act.

Free plan · No credit card · Start from one of 52 recipes

  • Three automatic fixes that show you first
  • Dry-run it and replay it against real history
  • 94 events, 95 actions, your own tools included
  • Suggestions that say why, with your own numbers
Expiring domain → approve, then auto-renew
ActivePausedSave automation

When this happens

A domain is approaching its expiry date.

Domain expiring

A domain is approaching its expiry date.

Change

Runs at 09:00 · Europe/Amsterdam · it’s 16:16 there now

Next runs:Tue 3 Nov, 09:00Wed 4 Nov, 09:00Thu 5 Nov, 09:00

This automation only runs when you click “Run now”.

Only if — optional filters

MatchAllAnyNoneof these conditions

Tip: a value can reference another field or the time using a placeholder.

Do this — actions run in order, stop at the first failure

1Require approvalPause for a human to approve before the steps below run.
2Set auto-renewTurn the domain’s auto-renew on or off.
3Send notificationSend an alert to your channels or email addresses.

In plain English

When Domain expiring if Days left less or equal 15, then Require approval, Set auto-renew and Send notification.

Test it

Conditions pass — this would run

1 of 1 matched

Runs each step in dry-run against a real example from your account — nothing is changed.

  1. 1. Require approval

    Would pause for approval

  2. 2. Set auto-renew

    domain has no registrar connection

  3. 3. Send notification

    Would notify 1 destination(s)

dry run

Works with the tools you already run

CloudflareGitHubWebhookZapierMaken8nJiraNotionConfluenceLinear

See all 31 integrations →

Three automatic fixes that show you what they would do first

Some failures have one right answer, and nobody should get up at night to give it. Each fix starts by only watching. It changes nothing and records what it would have done and why. Once you have seen it be right, you click Let it act. Watching is on every plan. Acting is Pro and up, and if your plan changes, the fix goes back to watching.

  • Down everywhere: leaves the load balancer, returns on recovery
  • Frozen server: rebooted at most once a day
  • Filling volume: grows 25%, up to your limits
Automations

Each time it fires, it notes what it would have done and why. Read them, and when they are right, let it act.

  • Server down everywhere → take it out of the load balancer, put it back when healthy

    ActiveWatching

    Marketing site was down

    Would have taken web-02 out of web-lb

  • Server frozen → reboot it, at most once a day

    ActiveWatching

    api-01 stopped answering: no monitor got a reply (API health) and its agent was silent for 10 minutes

    Would have rebooted api-01 through its provider

  • Volume forecast to fill within 7 days → grow it by 25%, up to a limit

    ActiveWatching

    uploads on web-01 was forecast to be full on 8 Nov 2026

    Would have grown uploads from 250 GB to 313 GB, costing about 15.02 EUR a month

From then on it does what it records. You can switch it back to recording at any time.

Letting a fix act is on Pro and up. Watching is on every plan. Example records on a demo account. Nothing here touches a real server.

Know what an automation rule will do before you trust it

A rule takes a minute to write and is hard to check. You find out when it fires, usually at three in the morning. InfraNest shows you first, in four ways. The builder writes the rule back as a sentence. A dry run tries every step on a real object and changes nothing. A saved rule can be tested on demand. A backtest replays your own history and shows how often the rule would have fired, and on what.

  • Backtests cover your last 30 days
  • Dry runs show skipped steps too
  • Unknown placeholders and missing destinations flagged as you type

Would have run

5×in the last 30 days

  • northwyndr.shop4d
  • northwyndr-labs.com6d
  • nwyndr.app8d

▸ Test with a custom payload

Conditions pass — this would run

1 of 1 matched

Runs each step in dry-run against a real example from your account — nothing is changed.

  1. 1. Require approval

    Would pause for approval

  2. 2. Set auto-renew

    domain has no registrar connection

  3. 3. Send notification

    Would notify 1 destination(s)

dry run

Actions are a tree, and one branch can be a person

Almost everything worth automating is conditional. Route by tag. Notify, wait fifteen minutes, and escalate only if it is still down. Stop and ask somebody before anything you cannot undo. So branches and for-each loops nest. A wait resumes at the exact step it left. An approval holds the run until a named person says yes.

  • Rejecting an approval ends the run
  • Restrict approvers, so forwarding an email gets nowhere
  • Placeholders add live detail. Secrets never resolve

Every event you run on, and many you do not

Ninety-four events across the product: a domain registered, a zone that has drifted, a server created, a monitor down, a watched domain about to drop. Ninety-five actions, on any of them. GitHub, Jira, Linear and PagerDuty start rules directly. So can a schedule in your timezone, or an inbound webhook from any tool.

  • 56 actions built in, 39 through connected accounts
  • GitHub, Jira, Linear, PagerDuty both ways: Pro and up
  • Twelve comparisons in conditions, not an expression language

Suggestions that say why, and recipes for the rest

A first automation is easier to pick than to invent. The Suggested tab lists what fits your connected tools, and your last 30 days make the case. One that only informs turns on in a click. One that changes something opens for review first. Behind them sit fifty-two recipes, such as escalating a monitor after fifteen minutes. Save your own as templates too.

  • Each shows When, Then, and whether it changes anything
  • One automation monitors everything you add, within your plan
  • Recipes pre-fill the builder. Nothing runs until you save
Automations · Templates

Start from a ready-made recipe — filter by category or trigger, or search. One click pre-fills the builder; tailor it before saving.

Monitor down → nobody acknowledges → escalate

v2

Monitor alert → Wait → Send notification → Wait → Send notification → Wait → Send notification

Monitoring+ Use

Expiring domain → approve, then auto-renew

v2

Domain expiring → Require approval → Set auto-renew → Send notification

Domains+ Use

Incident opened → announce on status page, unless it is a blip

v2

Incident opened → Wait → Post status-page announcement → Send notification

Incidents+ Use

Monitor down → reboot the server

v2

Monitor alert → Wait → Reboot server → Send notification

Servers+ Use

Ask another system, then act on the answer

v2

Domain expiring → Call webhook → If / branch → Send notification → Send notification

Integrations+ Use

Renewal not live within 24 hours → alert

v2

Renewal has not reached an address → Wait → If / branch → Send notification

Certificates+ Use

Deployment succeeded → check it is up → set commit status

v2

GitHub deployment status → Check a monitor now → If / branch → Set commit status → Set commit status

Integrations+ Use

Server frozen → reboot it, at most once a day

v2

Server frozen → Reboot server → If / branch → Send notification → Send notification

Servers+ Use

Volume forecast to fill within 7 days → grow it by 25%, up to a limit

v2

Volume forecast to fill → Resize volume → If / branch → Send notification → Send notification

Servers+ Use

Weekly reminder to tidy up leftover DNS records

v2

Scheduled → Find leftover DNS records → If / branch → Send notification

DNS+ Use

Certificate expiring → run a GitHub workflow

v2

Certificate expiring → Run GitHub workflow

Integrations+ Use

Server down everywhere → take it out of the load balancer, put it back when healthy

v2

Monitor alert → If / branch → Wait → Remove LB target → Send notification → If / branch → Add LB target → Send notification

Servers+ Use

Monitor down → route by tag

v2

Monitor alert → If / branch → Send notification → Send notification

Monitoring+ Use

New domain onboarding

Domain added → Create DNS zone → Apply DNS template → Start monitoring

Domains+ Use

Auto-renew expiring domains

Domain expiring → Set auto-renew → Send notification

Domains+ Use

GitHub workflow failed → open an issue & alert

GitHub workflow run → Create GitHub issue → Send notification

Integrations+ Use

New server → enable backups & protection

Server added → Enable backups → Enable delete protection

Servers+ Use

Weak certificate → webhook

Weak certificate → Call webhook → Send notification

Certificates+ Use

Certificate expiring → open a GitHub issue

Certificate expiring → Create GitHub issue

Integrations+ Use

Certificate about to expire → open a PagerDuty incident

Certificate expiring → Trigger PagerDuty incident

Integrations+ Use

Certificate expiring → remind its owner

Certificate expiring → Send notification

Certificates+ Use

Certificate expiry heads-up

Certificate expiring → Send notification

Certificates+ Use

DNS record deleted → stop tracking its address

DNS record deleted → Stop tracking address

Certificates+ Use

Critical incident resolved → write a postmortem in Notion

Incident resolved → write_incident_report

Integrations+ Use

Deployment succeeded → purge Cloudflare cache

GitHub deployment status → Purge Cloudflare cache

Integrations+ Use

DNS record changed → alert

DNS record changed (in-app) → Send notification

DNS+ Use

Domain expiring → open a GitHub issue

Domain expiring → Create GitHub issue

Integrations+ Use

Domain about to expire → open a PagerDuty incident

Domain expiring → Trigger PagerDuty incident

Integrations+ Use

Send domain events to my system

Domain added → Call webhook

Integrations+ Use

Send everything to my system

Domain added → Call webhook

Integrations+ Use

Deployment succeeded → announce on status page

GitHub deployment status → Post status-page announcement

Integrations+ Use

Release published → announce on status page

GitHub release → Post status-page announcement

Integrations+ Use

GitHub workflow failed on main → page on-call

GitHub workflow run → Trigger PagerDuty incident

Integrations+ Use

GitHub workflow failed → re-run failed jobs once

GitHub workflow run → Re-run failed jobs

Integrations+ Use

Incident acknowledged → say who is on it, on its ticket

Incident acknowledged → comment_linked_ticket

Integrations+ Use

Outage acknowledged → tell the team who is on it

Incident acknowledged → Send notification

Monitoring+ Use

Incident opened → Cloudflare Under Attack

Incident opened → Set Cloudflare security level

Integrations+ Use

Incident opened → open a GitHub issue

Incident opened → Create GitHub issue

Integrations+ Use

Incident resolved → close its GitHub issue

Incident resolved → Close GitHub issue

Integrations+ Use

Incident resolved → note how long it lasted, on its ticket

Incident resolved → comment_linked_ticket

Integrations+ Use

Incident opened → log to a webhook / Sheet

Incident opened → Call webhook

Integrations+ Use

Let another tool trigger an automation

Incoming webhook → Send notification

Integrations+ Use

Maintenance started → status announcement

Maintenance started → Post status-page announcement

Maintenance+ Use

Tell my own system when a monitor fails

Monitor alert → Call webhook

Integrations+ Use

New domain, server or status page component → monitor it

Domain added → Monitor what was added

Monitoring+ Use

New server → monitor it

Server added → Monitor the new server

Monitoring+ Use

New domain → monitor its website

Domain added → Monitor the new website

Monitoring+ Use

Monthly uptime report to a client

Scheduled → Email a monthly uptime report

Monitoring+ Use

High-urgency PagerDuty incident → announce on status page

PagerDuty incident triggered → Post status-page announcement

Integrations+ Use

PagerDuty incident resolved → tell the team

PagerDuty incident resolved → Send notification

Integrations+ Use

Production monitor down → page on-call

Monitor alert → Send notification

Monitoring+ Use

Server restarts on a schedule → propose a weekly maintenance window

Server restarts on a schedule → Send notification

Maintenance+ Use

Ticket finished and the monitor is back → resolve the incident

incident.ticket_closed → resolve_incident

Integrations+ Use

Ask before renewing a domain nothing uses

Domain expiring → Send notification

Domains+ Use

Watched domain available → notify

Watched domain available → Send notification

Domains+ Use

Weekly expiry review reminder

Scheduled → Send notification

Certificates+ Use

Showing 56 of 56 recipes

Everything else it handles

The parts that are only interesting when you need them.

Guardrails you never think about

A run stops at 100 actions and 500 steps, a loop at 100 iterations.

Automations that trigger automations

Chains stop at five deep, and a rule cannot re-trigger itself within one.

Replay a past run

Once the fault is fixed, re-run any run with its original payload.

Carry a value between steps

Use what an early step returned, even a webhook’s reply, in a later condition, message or request.

One rule, several events

Listen to a whole category or to everything, and forward the lot to your own system.

Alerts wherever you already read them

Slack, Teams, Discord, Telegram, email or a webhook, chosen per action.

Build your first rule in about two minutes

Start from a recipe, replay it against your own history, then switch it on. Nothing runs until you save.

Scripts and reminders vs InfraNest

The difference between something that fired and knowing what it did.

Scripts and reminders

  • You learn whether the rule was right when it fires
  • A stopped cron job looks like a working one
  • “It failed”, with no way to tell why
  • The irreversible step runs at 3am with nobody awake
  • Steps that live in someone’s head

With InfraNest

  • Replay it and dry-run every step first
  • Five failures in a row switch the rule off and record why
  • The refusal names the missing permission
  • Require approval waits for a named person
  • One rule, one audit trail, the same every time

One login, ten modules

Nine modules are on every plan, Free included, and firewalls start on Pro. What changes is how much of each you get, plus a few advanced features from Pro.

The cost of doing it separately

Buy each piece from a different tool and it adds up fast:

Uptime monitoring
~€26
SSL tracking
~€15
Status page
~€26
Across 3 separate tools
~€67/mo
InfraNest Pro — all of it, one login€24/mo

Also in Pro, not counted above: 100 domains with DNS, 10 servers across your cloud providers, 25 automations, Dynamic IP and Drop Catch.

Each line is that tool’s cheapest paid plan. Pro covers all of it: 50 monitors, 100 certificates and 3 status pages on your own domain.

Prices checked October 2026 · dollar prices at the ECB rate

Compare all features →

Built for how you work

Frequently asked

Do I need to write any code?

No. Pick a trigger, add filters from dropdowns and choose actions, usually starting from one of fifty-two recipes. Conditions are deliberately not a formula language, so you can see what a rule will do without running it.

How do I know a rule will do what I meant?

The builder writes it back as a plain-English sentence, and a dry run changes nothing. A backtest shows how often it would have fired in the last thirty days, and on what.

What does an automatic fix do on its own?

Nothing, until you let it. There are three. Take a down server out of its load balancer and put it back. Reboot a frozen server at most once a day. Grow a filling volume up to your limit. Each first records what it would have done, and your list shows how often in the last 30 days. You can go back to watching at any time. A database server is only rebooted if you allow it on its page. A maintenance window makes the frozen-server fix wait. If a server freezes again within a day, your team is told and a person takes over. A volume fix needs a cost limit first, and does not grow a volume whose price is unknown. Afterwards, the message gives you the command to use the new space. Every change is in the audit log.

Can a rule act on GitHub, Jira or PagerDuty?

In both directions. Their events start rules: a failed workflow, a merged pull request, an escalated incident. Rules act back: open or label an issue, merge a pull request, re-run a workflow, transition a ticket. Connecting GitHub, Jira, Linear, Notion or PagerDuty is Pro and up.

What happens if an action fails?

A transient failure is retried after 30 seconds, then two, five, ten and fifteen minutes. If it never works, the run gives up and records why. A missing permission stops the rule at once, names it the way your provider spells it, and notifies you. You can also tell a step to carry on.

Could an automation do something destructive by accident?

Nothing runs until you save and enable a rule. Anything irreversible can sit behind Require approval. A rule acts with the permissions of your organisation’s owner or its creator, never an unbounded service account. A run uses a frozen copy of the rule, so an edit cannot change it mid-flight. A deleted rule can be restored for fourteen days.

How many automations do I get?

Three rules on the free plan, twenty-five on Pro and unlimited on Business. Most built-in actions work on the free plan. The eleven that change a server’s power, backups or protection, or Cloudflare’s settings, need Pro and up. So does letting an automatic fix act. Watching, run history, dry runs and the backtest are on every plan.

Write the rule once, and stop remembering it

Start from a recipe, prove it against your own history, then let it run.

Free plan · No credit card required · Set up in minutes