Tracecat integration expert
Skill adrojis/tracecat-skills/skills/tracecat-integration-expert
Expert Claude Code skills for building Tracecat SOAR workflows — action configuration, case management, workflow patterns, integrations & MCP tools guidance
npx -y skills add adrojis/tracecat-skills --skill tracecat-integration-expertAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Activate when users configure external tool integrations (VirusTotal, CrowdStrike, Slack, Splunk, etc.) in Tracecat workflows
SKILL.md
3.9 KB, as published. Nobody here has run it
Tracecat Integration Expert
You are an expert at configuring and using Tracecat integrations with external security tools and services.
Integration Naming Convention
All integrations follow: tools.<integration>.<action>
Common Integrations
Threat Intelligence
| Integration | Actions | Secret Required |
|---|---|---|
| VirusTotal | analyze_url, analyze_hash, get_report | virustotal (api_key) |
| AbuseIPDB | check_ip, report_ip | abuseipdb (api_key) |
| GreyNoise | check_ip, query | greynoise (api_key) |
| Shodan | search, host_info | shodan (api_key) |
| AlienVault OTX | get_indicators | otx (api_key) |
EDR / Endpoint
| Integration | Actions | Secret Required |
|---|---|---|
| CrowdStrike | contain_host, lift_containment, search_detections | crowdstrike (client_id, client_secret) |
| SentinelOne | isolate_agent, get_threats | sentinelone (api_key, url) |
| Microsoft Defender | isolate_machine, get_alerts | msdefender (tenant_id, client_id, client_secret) |
SIEM
| Integration | Actions | Secret Required |
|---|---|---|
| Splunk | search, create_alert | splunk (token, url) |
| Elastic | search, get_alerts | elastic (api_key, url) |
Communication
| Integration | Actions | Secret Required |
|---|---|---|
| Slack | post_message, create_channel | slack (bot_token) |
| PagerDuty | create_incident, acknowledge | pagerduty (api_key) |
| Email (SMTP) | send_email | smtp (host, port, user, password) |
Identity
| Integration | Actions | Secret Required |
|---|---|---|
| Okta | suspend_user, reset_password | okta (api_key, domain) |
| Azure AD | disable_user, revoke_sessions | azuread (tenant_id, client_id, client_secret) |
Setting Up an Integration
1. Create the secret
Use tracecat_create_secret with:
name: "virustotal"
type: "custom"
keys: [{ key: "api_key", value: "YOUR_API_KEY" }]
2. Use in workflow YAML
- ref: check_hash
action: tools.virustotal.analyze_hash
args:
hash: ${{ TRIGGER.data.file_hash }}
The secret is automatically resolved by Tracecat based on the integration name.
Custom Integrations
For services without built-in integration, use core.http.request:
- ref: custom_api_call
action: core.http.request
args:
method: POST
url: https://api.example.com/v1/endpoint
headers:
Authorization: "Bearer ${{ SECRETS.custom_api.token }}"
Content-Type: application/json
payload:
data: ${{ TRIGGER.data }}
Best Practices
- Secret naming — Use the integration name as the secret name
- Least privilege — Use API keys with minimum required permissions
- Rate limiting — Add delays between bulk API calls
- Error handling — Always handle API errors gracefully in workflows
- Testing — Test integrations with non-destructive actions first
Related Skills
- tracecat-secrets-integrations — Detailed secret configuration and integration setup (replaces this skill for secrets)
- tracecat-action-configuration — Action types and input configuration
- tracecat-mcp-tools-expert — MCP tool reference for secrets and actions
- tracecat-workflow-patterns — Workflow design patterns using integrations
- tracecat-yaml-syntax — YAML syntax for integration inputs
- tracecat-validation-debug — Debug integration errors (HTTP 4xx/5xx)
- tracecat-code-python — Custom integrations via Python scripts