ROB-669: Add Platform docs for Alert Triage, Incident Grouping and Triggered Workflows#2128
ROB-669: Add Platform docs for Alert Triage, Incident Grouping and Triggered Workflows#2128ezra-robusta wants to merge 2 commits into
Conversation
…iggered Workflows Adds a new "Platform" docs section covering the AI features that run in the Robusta Platform, none of which were documented before. - Triggered Workflows: the /webhooks endpoint and all its query parameters, including the `cluster=xyz` override that was previously undiscoverable, filter semantics, delivery-via-prompt, the daily limit, and every skip outcome shown in the Events table. - Alert Triage: the triage pipeline, the account settings that gate it, agent/fallback resolution, statuses and skip reasons. - Incident Grouping: AI grouping by root cause, episodes, and the opt-in auto-attach matchers. Also disambiguates it from the runner's Slack notification grouping, which is a separate delivery-layer feature and is not replaced by it. Cross-links the new pages from the landing page, architecture, OSS vs SaaS, the HTTP APIs index, the Send Events API, and the notification grouping page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0118RAeFXTFoLcjyziH4tuSd
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:2900d85
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:2900d85 me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:2900d85
docker push me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:2900d85Patch Helm values in one line: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set runner.image=me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:2900d85 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughAdds comprehensive documentation for Alert Triage, Incident Grouping, and Triggered Workflows, plus a Platform landing page, navigation entries, and cross-references throughout existing documentation. ChangesPlatform documentation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/platform/index.rst`:
- Line 24: Qualify the Alert Triage wording to reflect that automatic
investigation is opt-in and limited to eligible or configured alerts. Update
docs/platform/index.rst lines 24-24 to avoid implying every alert is
investigated, and update docs/index.rst lines 80-80 to replace “every alert is
analyzed” with wording that preserves the opt-in/manual behavior.
In `@docs/platform/triggered-workflows.rst`:
- Around line 81-82: Update the ``token`` authentication documentation in the
triggered-workflows API-key sections to keep the ``Authorization`` header as the
preferred method and explicitly warn that query-string credentials can be
exposed in logs, proxies, browser history, and observability systems. Mark
query-token authentication as a last resort and include guidance to redact and
rotate exposed keys.
- Line 121: Clarify the workflow request contract in the triggered-workflows
documentation: state whether the type parameter is required, accepted, or
ignored, then update the workflow URL examples and the 400-error description to
consistently reflect that decision. Keep the existing workflow_id validation and
later type=alert limitation aligned with the documented behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 535b2591-6178-4dc9-ad24-b1ef6fafc5bf
📒 Files selected for processing (10)
docs/configuration/exporting/robusta-pro-features.rstdocs/configuration/exporting/send-events-api.rstdocs/how-it-works/architecture.rstdocs/how-it-works/oss-vs-saas.rstdocs/index.rstdocs/notification-routing/notification-grouping.rstdocs/platform/alert-triage.rstdocs/platform/incident-grouping.rstdocs/platform/index.rstdocs/platform/triggered-workflows.rst
…ify triage wording - Add the `type` query parameter to the Triggered Workflows table. It was referenced by the error list and the limitations section but never defined, which read as a contradiction. Notes that it does not affect workflow routing. - Warn that `token=<API_KEY>` puts the credential in the URL, mark the Authorization header as preferred, and point at key rotation. - Reword the Alert Triage card so it does not imply every alert is investigated automatically — automatic triage is opt-in. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0118RAeFXTFoLcjyziH4tuSd
Linear: ROB-669
What changed
Adds a new Platform docs section covering the AI features that run in the Robusta Platform. None of these had any documentation before.
platform/triggered-workflows.rst/webhooksendpoint and every query parameter, incl.cluster=xyz; creating a workflow; filter semantics; delivery-via-prompt; the daily limit; every outcome shown in the Events tableplatform/alert-triage.rstplatform/incident-grouping.rstplatform/index.rstWhy
This came from a Slack thread: users had no way to discover the
cluster=xyztrick for triggered workflows. It was already documented for alert webhooks on the Send Events API page, but Triggered Workflows had no page at all, so there was nowhere for it to live. The issue also asked for alert grouping to be documented as AI-based.On "alert grouping is AI-based, replacing Runner-based grouping"
The issue framed the new AI grouping as replacing the older Runner-based grouping. Checking the code, that isn't quite the situation, so the docs say something slightly different:
INC-###incidents. Platform-side.grouping:on the Slack sink) threads messages to keep a channel quiet. Runner-side, in-memory, still fully supported, and not superseded.The two are independent and can be used together, so rather than deprecating the old page I scoped it with a note and added a comparison table on the new page. Worth a sanity check from someone who knows the history — if the intent really is to retire the Slack-sink grouping, the framing should change.
There is a third thing users will meet: the duplicate collapsing in the alerts list. That one is AI-based too (it's step 1 of each investigation), so the new page says so rather than calling it legacy name-matching.
Cross-links added
Landing page,
architecture,oss-vs-saas, the HTTP APIs index,send-events-api(both directions for theclusterparam), andnotification-grouping.How it was verified
skippedreason for unknown-cluster alerts.graphviz,pandoc, andpoetry install --extras=all(the extension imports the Robusta runtime), which isn't available in my environment. Worth confirming the CI docs build is green before merging; the risk is limited to directive/reference resolution.Not in this PR
Natan's follow-up was really about the UI: the
cluster=xyzoption should be surfaced on the Triggered Workflows webhook-setup screen (WebhookSetupColumn.vue/SendEventsModal.vue), which today builds the URL without it. That's a robusta-frontend change and needs its own issue.🤖 Generated with Claude Code
https://claude.ai/code/session_0118RAeFXTFoLcjyziH4tuSd
Generated by Claude Code