Workflow file:
shuffle-workflows/sample-webhook-soc-integrator-iris-workflow.jsonAccept payload data from soc-integrator, evaluate a condition, and create a new IRIS ticket when matched.
Note: In your current environment, Shuffle Tools 1.2.0 does not include the webhook action. This sample uses a supported start node (repeat_back_to_me) and should be triggered via POST /api/v1/workflows/{id}/execute.
Condition in sample:
source in ["soc-integrator", "wazuh", "fortigate"]severity in ["high", "critical"]If condition is not matched, workflow exits without ticket creation.
shuffle-workflows/sample-webhook-soc-integrator-iris-workflow.jsonTo update an already-created workflow (for example 0b2c5b48-0e02-49a3-8e12-2bc892ac15f9) with this template:
SHUFFLE_BASE_URL="http://localhost:5001" \
SHUFFLE_API_KEY="<YOUR_API_KEY>" \
scripts/update-shuffle-workflow-from-template.sh \
0b2c5b48-0e02-49a3-8e12-2bc892ac15f9 \
shuffle-workflows/sample-webhook-soc-integrator-iris-workflow.json
Then open:
http://localhost:3001/workflows/0b2c5b48-0e02-49a3-8e12-2bc892ac15f9curl -sS -X POST "http://localhost:5001/api/v1/workflows/<WORKFLOW_ID>/execute" \
-H "Authorization: Bearer <SHUFFLE_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"execution_argument": "{\"event_id\":\"evt-001\",\"source\":\"soc-integrator\",\"severity\":\"high\",\"title\":\"Suspicious VPN login outside Thailand\",\"description\":\"Detected by SOC Integrator rule A3-05\",\"integrator_url\":\"http://soc-integrator:8080\",\"internal_key\":\"\"}"
}'
The sample uses:
POST /action/create-iris-caseBase URL is supplied from webhook payload field integrator_url (default in workflow: http://soc-integrator:8080).
soc-integrator route is protected, pass internal_key and ensure backend expects X-Internal-Key.Condition Match + Create IRIS Ticket.