"Use when the user asks about Splunk On-Call, VictorOps, on-call schedules, escalation, paging, X-VO-Api-
Scanned 9/9/2026
Install to Claude Code
npx -y skills add chambear2809/splunk-cisco-skills --skill splunk-oncall-setup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Splunk Oncall Setup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/chambear2809-splunk-oncall-setup)More formats (shields.io, HTML) on the badges page.
---
name: splunk-oncall-setup
description: "Use when the user asks about Splunk On-Call, VictorOps, on-call schedules, escalation, paging, X-VO-Api-
Id/X-VO-Api-Key, the alert.victorops.com REST endpoint, or victorops_app. Render, validate, and apply
the full Splunk On-Call (formerly VictorOps) lifecycle — teams, users + contact methods, rotations,
escalation policies, routing keys, scheduled overrides, personal paging policies, alert rules / Rules
Engine, maintenance mode, incidents, notes, chat, stakeholder messages, REST endpoint and generic email
alert payloads — plus Splunk-side companions (Splunkbase 3546 alert action, 4886 Add-on, 5863 SOAR
connector, ITSI NEAP, ES Adaptive Response)."
compatibility: "Splunk Cloud Platform 10.5.2605: conditional. Follow documented package, entitlement, topology, and customer-managed runtime guardrails; self-managed paths remain on the public 10.4 baseline."
metadata:
splunk_cloud_10_5: "conditional"
compatibility_verified: "2026-08-20"
---
# Splunk On-Call Setup
## Prerequisites
| Tool or access | Purpose | Verify |
|---|---|---|
| Bash and Python 3 | Run bundled setup and validation helpers | `bash --version && python3 --version` |
| Required product/platform access | Inspect or configure the selected target | Complete the documented preflight |
| Credential files for live modes | Keep secrets out of chat | Verify paths only |
## Workflow Overview
```text
┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐
│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │
└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘
```
## When to Activate
- Splunk On-Call, VictorOps, on-call schedules, escalation, paging, X-VO-Api-Id/X-VO-Api-Key, the
alert.victorops.com REST endpoint, or victorops_app.
- Preview and review the splunk oncall setup workflow before any live apply phase.
- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.
## Scope
Follow the documented read-only or render-first path whenever it is available.
This skill does not imply permission to mutate live systems. Require explicit
apply flags, protected credentials, and operator review for state changes.
## Examples
Inspect the supported setup modes before selecting one:
```bash
bash skills/splunk-oncall-setup/scripts/setup.sh --help
```
Expected output: usage, supported modes, and required arguments are displayed
without changing the target environment.
Inspect validation modes before running completion checks:
```bash
bash skills/splunk-oncall-setup/scripts/validate.sh --help
```
Expected output: offline, live, and completion options are displayed when the
skill supports them; help exits without mutation.
## Troubleshooting
| Issue | Cause | Resolution |
|---|---|---|
| Preflight fails | A required tool or access path is missing | Resolve it before rendering or applying |
| Rendered assets are incomplete | Required non-secret inputs are absent | Complete intake and render again |
| Apply is blocked | Review, credentials, or explicit acceptance is missing | Use the documented handoff |
| Validation is incomplete | Live evidence is unavailable | Record the gap and keep completion open |
## Shared add-on completion gate
Whenever this workflow installs, configures, or hands off a Splunk-side
On-Call companion app, follow the
[shared completion gate](../shared/ta_completion_gate.md). Package delivery
alone is not success; validate alert ingestion/action behavior and shipped
views, or record explicit package evidence that no dashboards ship.
Use this skill for **all** Splunk On-Call operations: SaaS object management
through the public API, the REST Endpoint Integration alert path, the Generic
Email Endpoint Integration, and Splunk-side companion apps.
The workflow is render-first by default. Live API changes only happen when the
user explicitly asks for `--apply`, `--send-alert`, `--install-splunk-app`, or
`--uninstall`.
## Coverage Model
Every rendered object gets an explicit coverage status:
- `api_apply`: a documented public API supports create, update, delete, or
validate.
- `api_validate`: a documented public API supports read or validation only.
- `deeplink`: the skill renders a deterministic Splunk On-Call UI link and
validates referenced data where an API allows.
- `handoff`: the skill renders deterministic operator steps for UI-only,
Support-driven, or app-side workflows.
- `install_apply`: the skill installs or configures a Splunk-side companion
app or saved search via Splunkbase + REST (Splunkbase 3546 and 4886).
Splunkbase 5863 is a Splunk SOAR connector and remains an explicit SOAR
handoff rather than a Splunk Platform install. Splunk Platform/Cloud `10.5`
compatibility is therefore **not applicable** to `5863`; validate it against
the connector's listed Splunk SOAR versions instead.
Do not mark UI-only workflows as `api_apply`.
## Safety Rules
- Never ask for Splunk On-Call API keys, REST endpoint integration keys,
passwords, or client secrets in conversation.
- Never pass keys, integration URLs, or any secret on the command line or as
an environment-variable prefix.
- Use `--api-key-file` for the Splunk On-Call API key (`X-VO-Api-Key`).
- Use `--integration-key-file` for the REST Endpoint Integration key.
- Prefer `SPLUNK_ONCALL_API_ID`, `SPLUNK_ONCALL_API_KEY_FILE`, and
`SPLUNK_ONCALL_REST_INTEGRATION_KEY_FILE` from the repo `credentials` file
when present.
- Reject direct secret flags such as `--api-key`, `--vo-api-key`,
`--x-vo-api-key`, `--integration-key`, `--rest-key`, `--token`, and
`--password`.
- Refuse zero-byte or world/group-readable secret files.
- Strip every secret from `apply-plan.json`, `payloads/`, and any rendered
artifact on disk.
## Primary Workflow
1. Collect non-secret values: organization slug, API ID, team / user / policy
names, rotation members, routing keys, alert-rule match patterns,
maintenance routing-key list, REST integration default routing key, etc.
2. Create or update a JSON/YAML spec using
`templates/oncall.example.yaml` as the starting point.
3. Render and validate:
```bash
bash skills/splunk-oncall-setup/scripts/setup.sh \
--render \
--validate \
--spec skills/splunk-oncall-setup/templates/oncall.example.yaml \
--output-dir splunk-oncall-rendered
```
4. Review `coverage-report.json`, `apply-plan.json`, `deeplinks.json`, and
`handoff.md`.
5. Apply only when explicitly requested:
```bash
bash skills/splunk-oncall-setup/scripts/setup.sh \
--apply \
--spec skills/splunk-oncall-setup/templates/oncall.example.yaml \
--api-id "$SPLUNK_ONCALL_API_ID" \
--api-key-file /tmp/splunk_oncall_api_key
```
6. To send a single REST endpoint alert (after extracting the integration key
from the On-Call UI Integrations > 3rd Party Integrations > REST Generic
page):
```bash
bash skills/splunk-oncall-setup/scripts/setup.sh \
--send-alert \
--rest-alert-spec skills/splunk-oncall-setup/templates/rest-alert.example.yaml \
--integration-key-file /tmp/splunk_oncall_rest_key \
--routing-key database
```
7. To install or refresh the Splunk-side companion apps:
```bash
bash skills/splunk-oncall-setup/scripts/setup.sh \
--install-splunk-app \
--spec skills/splunk-oncall-setup/templates/splunk-side.example.yaml \
--api-id "$SPLUNK_ONCALL_API_ID" \
--api-key-file /tmp/splunk_oncall_api_key
```
## Supported Sections
Specs use `api_version: splunk-oncall-setup/v1` and can include:
- `users` — users + contact methods (devices, emails, phones), with `role` ∈
`global_admin | alert_admin | team_admin | user | stakeholder`.
- `teams` — teams plus members and admins.
- `rotations` — per-team rotation groups and shifts.
- `escalation_policies` — ordered steps with timeouts and `User`,
`Team`, `EscalationPolicy`, or `RotationGroup` targets.
- `routing_keys` — routing-key to escalation-policy maps.
- `paging_policies` — `personal` (full CRUD) and `team` (read/validate only).
- `scheduled_overrides` — single overrides with per-policy assignments.
- `alert_rules` — Rules Engine rules with `matchType` ∈ `WILDCARD | REGEX`,
`rank`, `stopFlag`, `routeKey`, multi-rule annotations (URL / note / image),
and rules-engine variable expansion (e.g. `${{fieldName}}`).
- `maintenance_mode` — start, end, and status checks.
- `incidents` — explicit-apply create / ack / resolve / reroute / by-user
variants. Supports `isMultiResponder` and `state_start_time`. UI-only
`snooze` and `add responder` actions are rendered as Team Dashboard
deeplinks.
- `notes` — per-incident note CRUD.
- `chat_messages` — `/v1/chat` posts (explicit-apply).
- `stakeholder_messages` — `/v1/stakeholders/sendMessage` posts.
- `webhooks` — read-only inventory plus rendered outbound-webhook drop-in
objects for the documented event types (`Any-Incident`,
`Incident-Triggered`, `Incident-Acknowledged`, `Incident-Resolved`,
`Incident-Chats`, `All-Chats`, `Any-On-Call`, `On-Call`, `Off-Call`,
`Any-Paging`, `Paging-Start`, `Paging-Stop`). Outbound webhook *creation*
remains a `handoff` because the public API only exposes `GET /v1/webhooks`,
and the feature requires an Enterprise plan.
- `reporting` — `api-reporting/v1/team/{team}/oncall/log` (shift changes) and
`api-reporting/v2/incidents` (incident history; rate-limited at 1
call/minute).
- `schedules` — `GET /api-public/v2/team/{team}/oncall/schedule?daysForward=N`
and `GET /api-public/v2/user/{user}/oncall/schedule`.
- `rest_alerts` — REST endpoint alert payloads (all `message_type` values,
canonical incident fields glossary, URL/note/image annotations).
- `email_alerts` — Generic Email Endpoint Integration handoff for email-only
monitoring tools.
- `integrations` — UI-only handoffs for Slack, Microsoft Teams, Webex Teams,
ServiceNow (bidirectional), Statuspage, Twilio Live Call Routing, and
Conference Bridges (Enterprise tier).
- `sso` — UI/Support handoff that renders the SP-initiated URL pattern
`https://portal.victorops.com/auth/sso/<org-slug>` and the Splunk Support
ticket template.
- `reports` — deeplinks for Post-Incident Review (PIR), On-Call Review,
MTTA/MTTR, Team Dashboard, and Similar Incidents (NLP grouping).
- `calendars` — iCal feed export handoff for team and personal calendars.
- `mobile` — per-user mobile app setup checklist (iOS Critical Alerts,
Android 13+ requirement).
- `recovery_polling` — toggles the Splunkbase 3546 `victorops-alert-recovery`
scheduled saved search and the alert action's `enable_recovery`,
`poll_interval`, and `inactive_polls` parameters so a Splunk-driven
CRITICAL incident is auto-resolved on the On-Call side once the underlying
search no longer fires.
- `splunk_side` — Splunkbase 3546 alert-action install on a search head or
SHC deployer, Splunkbase 4886 Add-on placement on a heavy forwarder with
the four required indexes (`victorops_users`, `victorops_teams`,
`victorops_oncall`, `victorops_incidents`) pre-created, ITSI NEAP wiring,
ES Adaptive Response wiring, Splunkbase 5863 SOAR connector readiness, and
Splunk Observability detector recipient deeplink.
For API endpoint details, rate limits, and current support boundaries, read
`references/coverage.md`, `references/rate-limits.md`,
`references/splunk-side-apps.md`, and `references/recovery-polling.md` when
the request touches a new or ambiguous surface.
## Out of Scope
- On-Call mobile-app push enrollment (UI-only; the skill only renders the
per-user setup checklist).
- Billing, subscription, or trial provisioning changes.
- Slack / Microsoft Teams / Webex Teams chat-app *installation* on the chat
side (rendered as deeplink handoffs only). The chat sender via `/v1/chat`
and the stakeholder sender via `/v1/stakeholders/sendMessage` are in scope.
- ServiceNow bidirectional, Statuspage, and Twilio Live Call Routing setup
steps (rendered as deeplink handoffs).
- Conference Bridges feature requires Enterprise tier; the skill renders a
handoff but does not gate on tier.
- SAML SSO activation is completed by Splunk On-Call Support — the skill
renders the SP-initiated URL pattern, IdP metadata XML drop-off steps, and
a Splunk Support ticket template, but cannot turn SSO on via API.
- Reports (Post-Incident Review, On-Call Review, MTTA/MTTR, Team Dashboard,
Similar Incidents) are rendered as deeplinks; no API write surface exists.
- Outbound webhook *creation* is rendered as inventory + handoff because the
public API only exposes `GET /v1/webhooks`.
## Compliance and Security Baseline
Splunk On-Call enforces TLS 1.2+ in transit and AES-256 at rest, and partner
clouds are FedRAMP / PCI-DSS / ISO 27001:2013 certified; HIPAA usage is
supported via a Business Associate Agreement (BAA).
**FedRAMP / IL5 caveat:** Splunk Cloud Platform itself is FedRAMP Moderate
authorized and DoD IL5 provisionally authorized, but Splunk On-Call is not
separately listed in the public FedRAMP/IL5 docs as of this skill's authoring.
The skill renders an explicit warning when a US public-sector spec is
detected and links to Splunk Cloud Platform IL5 documentation for
parallel-stack guidance.
The skill never asks for nor logs secret material, refuses any direct secret
CLI flag, and redacts all `X-VO-Api-Key`, integration-key, and rendered
payload secrets from artifacts on disk.
## MCP Tools
This skill includes checked-in, read-only Splunk MCP custom tools generated
from `mcp_tools.source.yaml`.
Validate or regenerate the tool artifact:
```bash
python3 skills/shared/scripts/mcp_tools.py validate skills/splunk-oncall-setup
python3 skills/shared/scripts/mcp_tools.py generate skills/splunk-oncall-setup
```
Load the tools into Splunk MCP Server:
```bash
bash skills/splunk-oncall-setup/scripts/load_mcp_tools.sh
```
The loader uses the supported `/mcp_tools` REST batch endpoint by default. Use
`--allow-legacy-kv` only for older MCP Server app versions that lack that
endpoint.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!