Vectra RUX Best Practices for Microsoft Sentinel CCF
Operate the Vectra AI integration with Microsoft Sentinel after deploying the connector, analytics rules, workbook, and playbooks.
Data & Queries
Use Parsers First
Always use the included parser functions for operational queries, workbooks, analytics rules, and hunting. Query the raw tables directly only when validating ingestion or troubleshooting a data transformation issue.
VectraRUXDetections
Detection investigation, analytics rules, hunting
VectraEntities
Entity scoring, assignment state, prioritization
VectraLockdown
Lockdown status and audit trail
Querying raw tables (Detections_Data_CCF_CL, Entities_Data_CCF_CL, Lockdown_Data_CCF_CL) directly bypasses normalization and field aliasing, which can produce inconsistent results in dashboards and rules.
Analytics Rules
Enable Both Analytics Rules
Enable both the host and account analytics rule templates. Two separate rules are required to ensure correct entity mapping within Sentinel — host detections map to hostname, account detections map to username. Running only one rule means incidents will not be created for one of the two entity types.
Connector Operations
Seed the Detections Checkpoint
For new deployments, always provide a starting checkpoint value when configuring the Detections data stream. Omitting this value causes the connector to request all historical detection events from the beginning of the event log, which can result in a large ingestion backlog on the first poll that is difficult to recover from.
For guidance on determining the correct starting checkpoint value, see the Vectra AI RUX Integration for Microsoft Sentinel guide.
Monitor Connector Health
Enable Sentinel data connector health monitoring and review the SentinelHealth table regularly for ingestion errors, authentication failures, and polling gaps. The CCF connector does not use Azure Function Apps, so Function App alerts do not apply — use SentinelHealth as the authoritative health signal.
kql
Incident Operations
The Vectra AI integration creates Sentinel incidents from prioritized and escalated detections. The following practices describe how to manage those incidents effectively using the available playbooks and automation rules, and how SOC operations map to the Vectra metrics that measure investigation performance.
Understanding Vectra SOC Metrics
Vectra tracks two key performance metrics that are driven directly by how analysts interact with incidents. Understanding these metrics is essential for configuring automation rules correctly — the sequencing of playbook execution has a direct impact on metric accuracy.
Mean Time to Resolve (MTTR) measures the full alert lifecycle from the moment an entity is prioritized to the moment its detections are resolved. It captures everything: queue time, wait time, and active investigation. MTTR starts automatically in Vectra when the entity crosses the prioritization threshold and ends when detections are closed and the entity is deprioritized.
Mean Time to Investigate (MTTI) measures analyst efficiency — specifically, how long it takes to work and close an alert after someone actively picks it up. MTTI starts when the entity is assigned to an analyst or team member in Vectra, and ends at the same point as MTTR: when detections are resolved and the entity is deprioritized.
MTTR
Entity crosses prioritization threshold (automatic)
Detections resolved, entity deprioritized
MTTI
Entity assigned to analyst in Vectra
Detections resolved, entity deprioritized
The gap between MTTR and MTTI represents queue and wait time before the SOC picks up the alert. Keeping this gap small is a direct reflection of SOC responsiveness.
Important: Assignment must occur in Vectra — not just in Sentinel — for MTTI to be tracked. A Sentinel assignment has no effect on Vectra metrics. Use
VectraAssignStaticUserToEntityvia an automation rule to ensure assignment is recorded in Vectra promptly.
Recommended Incident Lifecycle
The following workflow describes the recommended automation rule configuration and analyst actions across the full incident lifecycle. Automation rules that require no analyst input are preferred; Teams-based interactive playbooks are reserved for cases where analyst judgment is explicitly required.
Stage 1 — Incident Created (New)
When a new incident is created, the timeline should be populated immediately and kept synchronized as new alerts are added throughout the investigation.
Populate and synchronize incident timeline
Incident created
VectraIncidentTimelineUpdate
Synchronize timeline as investigation progresses
New alert added to incident
VectraIncidentTimelineUpdate
VectraIncidentTimelineUpdate should run on both triggers. Without the second trigger, the timeline is only cleaned once at creation and becomes stale as Vectra detections update during the investigation.
Stage 2 — Incident Accepted (New → Active)
When an analyst accepts the incident and moves it to Active, two automated actions should fire: acknowledging detections in Vectra and recording assignment. Both are critical — acknowledgment signals to Vectra that the SOC is actively working the alert, and assignment starts the MTTI timer.
Assign entity to SOC team in Vectra — starts MTTI
Status changed to Active
VectraAssignStaticUserToEntity
Acknowledge all associated detections in Vectra
Status changed to Active
VectraSetDetectionStatus
Use VectraAssignStaticUserToEntity configured with a SOC team identity or queue account. This ensures MTTI begins at the moment the SOC accepts the incident rather than waiting for individual analyst assignment, giving a consistent and defensible start time for the metric. Configure VectraAssignStaticUserToEntity to execute before VectraSetDetectionStatus so that assignment is recorded before the acknowledgment state is written — this preserves the most accurate MTTI timestamp.
Configure automation rules to trigger on "status changed to Active" rather than "status is Active" to prevent repeated execution on subsequent incident updates.
Stage 3 — During Investigation (Active)
During active investigation, analysts may take the following actions manually from the incident. None of these require automation rules.
Document initial assessment and findings
VectraAddNoteToEntity
Add a note when accepting the incident to record the analyst's initial read
Document per-detection findings
VectraAddNoteToDetections
Use for specific evidence or rationale tied to individual detections
Classify or tag the entity
VectraAddTagToEntity
Useful for cross-incident visibility in Vectra (e.g., in-investigation, escalated)
Collect network evidence
VectraDownloadPcapFileToStorage
Run early for network detections — PCAP availability is time-limited
Close specific detections with a chosen reason
VectraCloseDetections
Use when granular per-detection control is needed rather than bulk closure
For PCAP collection, earlier is better. Waiting until closure to retrieve PCAP evidence risks the capture window expiring, particularly for short-lived network sessions.
Stage 4 — Incident Closed (Active → Closed)
When the analyst closes the Sentinel incident, an automation rule should fire to close all associated detections in Vectra. VectraSetDetectionStatus maps the Sentinel closure classification to the appropriate Vectra reason automatically, and closing detections deprioritizes the entity in Vectra — stopping both the MTTI and MTTR timers.
Close all associated detections in Vectra
Status changed to Closed
VectraSetDetectionStatus
True Positive
Closed — Remediated
All other classifications
Closed — Benign
Closure should be driven by an automation rule rather than manual analyst action to ensure consistent metric capture across all incidents.
Reducing Queue Time (MTTR Gap)
Because MTTR includes all time from prioritization through closure — including queue time before any analyst picks up the alert — a large gap between incident creation and the New → Active transition will inflate MTTR without reflecting any active investigation work.
Consider creating a scheduled analytics rule or workbook view that surfaces incidents that have remained in New status beyond an acceptable threshold. This creates operational visibility into queue pressure without requiring changes to the automation model.
kql
Recommended Automation Rule Summary
Incident created
—
VectraIncidentTimelineUpdate
Clean and populate timeline at creation
Incident updated
New alert added to incident
VectraIncidentTimelineUpdate
Keep timeline synchronized throughout investigation
Incident updated
Status changed to Active
VectraAssignStaticUserToEntity
Record assignment in Vectra — starts MTTI (run first)
Incident updated
Status changed to Active
VectraSetDetectionStatus
Acknowledge detections in Vectra (run second)
Incident updated
Status changed to Closed
VectraSetDetectionStatus
Close detections in Vectra — stops MTTI and MTTR
Last updated
Was this helpful?