- contact@insightairesolve.com
Alerts from twelve sources — paging, monitoring, four clouds and ITSM — become one incident. An AI agent follows your runbook, gathers the evidence, checks its own conclusion against it, and resolves or escalates with the reasoning attached. Your on-call arrives to an incident that has already been triaged.
Built for the tools your on-call already lives in
During an incident the on-call engineer context-switches across PagerDuty, Grafana, Prometheus, Alertmanager, Airflow, dbt, the database, Jira, Slack and a runbook wiki. The runbook is stale, the tribal knowledge is in someone’s head, and MTTR is whatever it takes to find them.
Alert details in one place, the metric in another, the deploy history in a third. The first fifteen minutes of every page are spent gathering, not deciding.
Runbooks written after the last incident describe last year’s system. Nobody knows which steps still apply, so nobody follows them.
New on-call engineers drown; the senior ones get woken up anyway. The fix and the reason for it never get written down where the next person will look.
One loop, every alert. The agent does the L1 work; your engineers arrive with the evidence gathered and the first diagnosis done.
Alerts from PagerDuty, Opsgenie, Alertmanager, Grafana, Datadog, AWS, Azure, Google Cloud, OCI, ServiceNow or a generic JSON shape are normalized into one incident model, deduplicated on the source’s own id where it gives one.
Match rules on alert name, service, severity, labels and source pick the runbook. No rule? The agent enters AI triage and proposes one.
The agent runs the steps: PromQL, dashboards, SQL, DAG status, cloud metrics and logs — each output saved as evidence, redacted, and visible in the console as it completes.
The agent classifies the root cause with a confidence, writes the RCA, and resolves the page or escalates with everything it found attached.
Every execution scores the runbook’s effectiveness, surfaces recurring patterns, and suggests silences, threshold tuning or a new runbook.
Every step is an action with typed parameters. Outputs become variables the next step can use. Conditions decide what runs.
# variables service_name = {{incident.labels.service}} threshold = {{incident.labels.threshold}} # default 5.0 # steps 2. prometheus.instant query: rate(http_requests_total{service='{{service_name}}',code=~'5..'}[5m]) save_as: error_rate 4. postgres.query sql: SELECT version, deployed_at FROM deployments WHERE service='{{service_name}}' ... save_as: recent_deploys 6. k8s.logs run_if: {{error_rate}} > {{threshold}} save_as: error_logs 7. ai.classify categories: [bad_deploy, upstream_dependency_failure, capacity, false_positive] context_vars: [error_rate, pod_status, recent_deploys, error_logs] 9. gate {{classification.confidence}} > 0.85 AND category == 'false_positive' true: pagerduty.resolve false: pagerduty.add_note + escalate
Not a JSON blob and not a wiki page. Steps, conditions, variables and match rules are first-class rows, so two people can edit different steps at once, every save is a version, and every past execution shows exactly what it followed.
Prometheus instant and range queries, Grafana panels, Alertmanager silences, Kubernetes pods, logs and events, Airflow DAGs, dbt tests, SQL, Jira, Slack, HTTP, shell.
Glob on alert name and service, severity sets, label containment, source, expressions. Higher score wins; ties go to priority, then effectiveness. Test any rule against a past incident before you activate it.
{{incident.labels.namespace}} resolved at run timeSnapshots with an auto-generated diff (“added step 5, changed threshold in step 3”), side-by-side comparison, one-click restore. Start from a library template, clone, import from your markdown, or describe the alert and let the agent draft it.


Every incident with its source, severity, labels, the runbook that matched, each step as it runs, and the root-cause artifact when it’s done. Ask the agent a follow-up question from the same page.


Current step highlighted, outputs appearing as each step completes, skip / pause / escalate-now overrides.
Alert fired, webhook received, runbook matched, each step, classification, resolution.
“What’s the CPU on the api-gateway pods right now?” — answered with the same tools.
Classification, confidence, evidence, recommendations, markdown — written to Jira, with a place to link the PR that fixed it.
Twelve alert sources normalised to one incident shape, and sixty-nine typed step types that read those same systems back. Credentials come from the deployment — environment, task role, instance role — never from a runbook step, so editing a runbook can never widen what the agent can reach.
monitor watch step
Not configured is not the same as broken. A step whose system this deployment was never given
reports unavailable, names the variable that would switch it on, and is skipped
— it never guesses to fill the gap. Integrations
probes every system and shows you which answer right now.
Gathering evidence is the easy half. What separates an agent people read from one they learn to ignore is what it does at the edge of what it knows.
Consumer lag, queue depth, replication delay — a fifth to a third of most queues resolve with no change made. The monitor step samples the value, judges the direction from the series’ peak, and parks the execution between looks rather than holding a worker. If it clears, the incident closes saying no action was needed. If it stops recovering, that is when a person is paged.
Before acting on a classification the agent verifies it against the evidence alone, claim by claim. A link that is assumed rather than shown caps confidence at 0.75; one nothing supports caps it at 0.4. The incident shows this as what this rests on — each claim with the step that established it, and the gaps a person would still check.
Why a bare confidence score is worthlessSteps that change something outside the platform are marked and surfaced before activation. Anything consequential sits behind an approval that suspends the run until a named person answers — and if nobody does, it times out and the run continues without it rather than waiting for ever. The confidence floor for autonomous resolution is a setting you own, not a vendor default.
What it may do on its ownTest run walks a runbook against a sample alert built from its own match rule and reports what each step would do — an unknown action, a {{reference}} nothing fills, a system this deployment was never given. Nothing is executed, so a rehearsal can never page anyone. The summary names every step that would change something.
A live incident, parked. Nothing is wrong and nobody has been asked to act.
Analytics and Patterns — every figure a query over the incidents themselves.
Counts you can check against the running demo, not projected outcomes. What it saves you depends on how much of your alert volume has a runbook — we measure that with you on the discovery call rather than quoting a number here.
Alert sources normalized to one shape — PagerDuty, Alertmanager, Grafana, Datadog, CloudWatch, Opsgenie, ServiceNow and more
Step types a runbook can call, from prometheus.instant to alertmanager.silence
Clouds with native metric and log steps — AWS, Azure, GCP and OCI; the last three authenticate over plain HTTP with no SDK on the box
The ceiling on any conclusion the evidence only implies — enough to report, not enough to act alone
InsightResolve runs its own operations agent — 69 step types, resumable executions, a verifier that checks every conclusion — on the same platform as InsightWorker, InsightTestBench and InsightStudio: one identity, one connection registry, one audit trail across the suite.
Each runbook step runs with the deployment’s credentials for that system — never with a secret written into the runbook. Output is stored as evidence, redacted, and shown on the incident; nothing happens that isn’t in the log.
Okta, Entra or any OIDC provider; roles for who edits runbooks and who acts on incidents; API keys for automation; every change and decision in the audit trail.
AWS, Azure, GCP, OCI or on-prem with Docker Compose or Kubernetes. Postgres for state, a console that refreshes as the agent works, your model provider — Bedrock, Azure OpenAI, Vertex or an OpenAI-compatible endpoint.
How incident response actually works today, where AI genuinely helps and where it does not, and worked runbooks for the alerts on-call teams see most.
Twelve pages for whoever owns the run-versus-change ratio. What is mechanical in incident response and what is not, the operating model that follows, and the sequence for adopting it.
AI-Native Support OperationsOne alert, one runbook, start to finish — consumer lag, error rate after a deploy, latency, service down, a pipeline that failed at 2am, and capacity. With the real runbooks and the numbers the agent recorded.
Six use casesWhat the wiring looks like on AWS, Azure, Google Cloud and OCI — including the parts the vendor documentation does not prepare you for, and where ServiceNow fits underneath all four.
Stacks and cloudsNot by default. Phase one is classification, not remediation: the agent gathers, decides and writes. Remediation steps (restart a pod, scale a deployment) exist behind explicit human approval gates you add to a runbook.
The agent enters AI triage: it inspects the alert context, runs general diagnostics, classifies what it can, and suggests a runbook from what it learned — which you review and activate.
In the connection registry, encrypted, or in your cloud’s secret store by reference. They are passed to the worker at dispatch time and never persisted by it; logs and events show secret names, not values.
No. Alerts are fingerprinted on source, name, service and key labels; repeats inside the window fold into the open incident, and a resolved event from the source closes it and records MTTR.
Paste or upload them. The agent parses markdown into structured steps with action types for you to correct and activate. Templates cover the common alerts on day one.
Self-hosted in your environment, with your model provider. Incidents, evidence, RCAs and runbooks stay inside your perimeter.