Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Sentinel Playbooks

ASecurity

Expert agent for Microsoft Sentinel Playbooks (Azure Logic Apps). Provides deep expertise in automation rules, Logic Apps designer, incident/entity triggers, 200+ connectors, managed identity authentication, ARM templates, and cost-effective automation patterns for Sentinel incidents. WHEN: \"Sentinel playbook\", \"Logic Apps security\", \"automation rule\", \"Sentinel automation\", \"incident trigger\", \"entity trigger\", \"Sentinel SOAR\", \"Logic App connector\".

4 stars
0 votes
0 copies
0 views
Added 9/24/2026
securityrustazureapisecurity

Works with

api

Security Analysis

A100/100

Scanned 9/24/2026

$npx -y skills add chrishuffman5/domain-expert --skill sentinel-playbooks --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sentinel Playbooks?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Sentinel Playbooks
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chrishuffman5-sentinel-playbooks/badge)](https://www.skillsdirectory.com/skills/chrishuffman5-sentinel-playbooks)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: sentinel-playbooks
description: "Expert agent for Microsoft Sentinel Playbooks (Azure Logic Apps). Provides deep expertise in automation rules, Logic Apps designer, incident/entity triggers, 200+ connectors, managed identity authentication, ARM templates, and cost-effective automation patterns for Sentinel incidents. WHEN: \"Sentinel playbook\", \"Logic Apps security\", \"automation rule\", \"Sentinel automation\", \"incident trigger\", \"entity trigger\", \"Sentinel SOAR\", \"Logic App connector\"."
license: MIT
---

# Microsoft Sentinel Playbooks

This skill covers Microsoft Sentinel Playbooks, the SOAR capability built on Azure Logic Apps. It has deep knowledge of:

- Automation rules (lightweight triage automation, no Logic Apps required)
- Logic Apps-based playbooks (full orchestration workflows)
- Incident triggers, alert triggers, and entity triggers
- 200+ Logic Apps connectors for security orchestration
- Managed identity authentication for Azure resources
- ARM/Bicep templates for playbook-as-code deployment
- Microsoft Defender XDR integration (unified automation)
- Cost optimization for Logic Apps execution
- Microsoft Copilot for Security integration

## How to Approach Tasks

1. **Classify** the request:
   - **Simple automation** -- Automation rules (no code, no Logic Apps)
   - **Playbook development** -- Logic Apps designer, connector configuration
   - **Architecture** -- Trigger types, authentication, deployment patterns
   - **Integration** -- Connecting to external services, custom connectors
   - **Cost optimization** -- Execution cost management, consumption vs standard plan

2. **Determine trigger type** -- Incident trigger (most common), alert trigger, or entity trigger

3. **Check authentication** -- Managed identity (preferred) vs. connection-based authentication

4. **Recommend** actionable guidance with Logic Apps JSON definitions and Azure portal steps

## Core Expertise

### Automation Rules vs. Playbooks

Sentinel offers two levels of automation:

**Automation Rules (lightweight, no Logic Apps):**
- Run automatically when incidents are created or updated
- Actions: change status, change severity, assign owner, add tags, run playbook
- No custom logic or external API calls
- No cost beyond Sentinel (no Logic Apps execution fees)
- Use for: auto-assign, auto-tag, auto-close known patterns, triage routing

**Playbooks (Logic Apps -- full orchestration):**
- Triggered by automation rules or manually
- Full Logic Apps capability: API calls, conditions, loops, parallel execution
- 200+ connectors for external systems
- Per-execution cost (Logic Apps pricing)
- Use for: enrichment, containment, notification, ticketing, complex workflows

### Automation Rule Examples

```json
// Auto-assign phishing incidents to the phishing team
{
  "displayName": "Auto-assign phishing incidents",
  "order": 1,
  "triggeringLogic": {
    "isEnabled": true,
    "triggersOn": "Incidents",
    "triggersWhen": "Created",
    "conditions": [
      {
        "conditionType": "Property",
        "conditionProperties": {
          "propertyName": "IncidentTitle",
          "operator": "Contains",
          "propertyValues": ["phishing", "Phishing"]
        }
      }
    ]
  },
  "actions": [
    {
      "actionType": "ModifyProperties",
      "actionConfiguration": {
        "owner": {
          "objectId": "<phishing-team-group-id>"
        },
        "severity": "High"
      }
    },
    {
      "actionType": "RunPlaybook",
      "actionConfiguration": {
        "logicAppResourceId": "/subscriptions/.../playbook-phishing-triage"
      }
    }
  ]
}
```

### Playbook Trigger Types

| Trigger | Fires When | Available Data | Use Case |
|---|---|---|---|
| **Incident trigger** | Incident created or updated | Full incident with alerts, entities, metadata | Most common -- triage, enrichment, response |
| **Alert trigger** | Individual alert created | Single alert with entities | Alert-level processing (before incident grouping) |
| **Entity trigger** | Manually from entity page | Single entity (IP, user, host, etc.) | On-demand investigation of specific entities |

### Playbook Architecture

```json
// Logic Apps JSON definition: IP enrichment playbook
{
  "definition": {
    "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
    "triggers": {
      "Microsoft_Sentinel_incident": {
        "type": "ApiConnectionWebhook",
        "inputs": {
          "body": {
            "callback_url": "@{listCallbackUrl()}"
          },
          "host": {
            "connection": {
              "name": "@parameters('$connections')['azuresentinel']['connectionId']"
            }
          },
          "path": "/incident-creation"
        }
      }
    },
    "actions": {
      "Entities_-_Get_IPs": {
        "type": "ApiConnection",
        "inputs": {
          "body": "@triggerBody()?['object']?['properties']?['relatedEntities']",
          "host": {
            "connection": {
              "name": "@parameters('$connections')['azuresentinel']['connectionId']"
            }
          },
          "method": "post",
          "path": "/entities/ip"
        }
      },
      "For_each_IP": {
        "type": "Foreach",
        "foreach": "@body('Entities_-_Get_IPs')?['IPs']",
        "actions": {
          "VirusTotal_-_Get_IP_report": {
            "type": "ApiConnection",
            "inputs": {
              "host": {
                "connection": {
                  "name": "@parameters('$connections')['virustotal']['connectionId']"
                }
              },
              "method": "get",
              "path": "/api/v3/ip_addresses/@{items('For_each_IP')?['Address']}"
            }
          },
          "Add_comment_to_incident": {
            "type": "ApiConnection",
            "inputs": {
              "body": {
                "incidentArmId": "@triggerBody()?['object']?['id']",
                "message": "IP @{items('For_each_IP')?['Address']} VT score: @{body('VirusTotal_-_Get_IP_report')?['data']?['attributes']?['last_analysis_stats']?['malicious']}"
              },
              "host": {
                "connection": {
                  "name": "@parameters('$connections')['azuresentinel']['connectionId']"
                }
              },
              "method": "post",
              "path": "/Incidents/Comment"
            }
          }
        }
      }
    }
  }
}
```

### Key Connectors for Security

| Connector | Use Case | Authentication |
|---|---|---|
| **Microsoft Sentinel** | Incident management, entity extraction | Managed identity |
| **Microsoft Defender XDR** | Advanced hunting, incident sync | Managed identity |
| **Azure AD / Entra ID** | User disable, revoke sessions | Managed identity |
| **Microsoft Teams** | Alert notifications, approval requests | Connection |
| **ServiceNow** | Ticket creation, ITSM integration | Connection (basic/OAuth) |
| **VirusTotal** | IOC reputation lookup | API key |
| **AbuseIPDB** | IP reputation | API key |
| **HTTP** | Any REST API (custom integrations) | Various |
| **Azure Key Vault** | Retrieve secrets for API calls | Managed identity |

### Authentication Best Practices

**Managed identity (preferred for Azure resources):**
- System-assigned: tied to the Logic App lifecycle
- User-assigned: shared across multiple Logic Apps
- No credentials to manage
- Assign RBAC roles (e.g., Microsoft Sentinel Responder)

**Connection-based (for external services):**
- OAuth 2.0, API key, or basic auth
- Stored as API connections in the resource group
- Must be authorized per Logic App
- Consider using Key Vault references for sensitive credentials

### Deployment as Code

Use ARM templates or Bicep for reproducible deployments:

```bicep
// Bicep template for a Sentinel playbook
resource playbook 'Microsoft.Logic/workflows@2019-05-01' = {
  name: 'playbook-ip-enrichment'
  location: resourceGroup().location
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    definition: {
      '$schema': 'https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#'
      triggers: { /* ... */ }
      actions: { /* ... */ }
    }
    parameters: {
      '$connections': {
        value: { /* connection references */ }
      }
    }
  }
}

// Assign Sentinel Responder role
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(playbook.id, sentinelResponderRoleId)
  properties: {
    roleDefinitionId: sentinelResponderRoleId
    principalId: playbook.identity.principalId
    principalType: 'ServicePrincipal'
  }
}
```

### Cost Optimization

Logic Apps pricing for playbooks:

| Plan | Cost Model | Best For |
|---|---|---|
| **Consumption** | Per action execution (~$0.000025/action) | Low-frequency playbooks |
| **Standard** | Monthly hosting + per-execution | High-frequency, complex playbooks |

**Cost reduction strategies:**
- Use automation rules for simple tasks (no Logic Apps cost)
- Use conditions early in playbooks to avoid unnecessary actions
- Batch API calls where possible (reduce action count)
- Use parallel branches for independent enrichment (reduces wall-clock time, same cost)
- Monitor execution costs via Azure Cost Management

## Common Pitfalls

1. **Connector authorization expiry** -- OAuth connections expire and need re-authorization. Use managed identity where possible. Monitor connector health.
2. **Logic Apps timeout** -- Default timeout is 30 seconds per action, 90 days per workflow. Long-running playbooks need webhook patterns.
3. **Rate limiting** -- External APIs (VirusTotal free tier: 4 req/min) require throttling. Add delays or use premium API tiers.
4. **Entity extraction failure** -- Entity extraction returns empty if analytics rules don't have entity mapping configured. Fix at the analytics rule level.
5. **Cost surprise** -- High-volume incident creation can trigger thousands of playbook executions. Use automation rule conditions to limit when playbooks run.
6. **Managed identity permissions** -- Forgetting to assign RBAC roles to the Logic App managed identity causes silent failures. Always assign Microsoft Sentinel Responder role at minimum.

Attribution

chrishuffman5chrishuffman5
View sourceSee grades on GitHubMore from chrishuffman5 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Security Review

Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.

2456590 votes

Springboot Security

Java Spring Boot 服务中关于身份验证/授权、验证、CSRF、密钥、标头、速率限制和依赖安全的 Spring Security 最佳实践。

2456590 votes

Summarize Status

Write a short, colloquial summary for a Paperclip summary slot: open with the 1–3 specific, concrete actions the reader needs to take right now to unblock the work, then a brief plain-language status, streaming progress as it works.

953190 votes

Paperclip Task Bridge

Create, comment on, update, and list Paperclip tasks from Hermes using scoped Paperclip API credentials.

953190 votes

Paperclip Evals

Choose, inspect, validate, and report Paperclip Runner or Product E2E evaluations while preserving evidence, provenance, cost, and failure classification.

953190 votes
View all in security →