Analyze pentest reports and create remediation tickets with OpenAI and Slack

Go to Workflow
0 views
Built by Oneclick AI Squad Oneclick AI Squad
Created on August 17, 2026

Description

Quick overview
This workflow receives a penetration test report via webhook, uses OpenAI to extract and normalize vulnerability findings, alerts Slack when critical issues are present, and creates severity-routed remediation tickets in an external ticketing system API before returning a JSON summary to the requester.

How it works
Receives a POST request via webhook containing scan metadata and the raw penetration test report text.
Uses OpenAI (via an AI Agent) to extract a structured JSON list of vulnerabilities from the report.
Parses and validates the extracted JSON, normalizes severity (including optional CVSS-to-tier mapping), assigns IDs, and computes a report-level severity summary.
If critical vulnerabilities exist, posts a Slack alert to the configured channel and pauses execution until a security lead resumes the workflow via a wait webhook.
Builds one remediation ticket payload per finding with mapped priority, SLA hours, labels, and scan context.
Routes each ticket by severity to set the target assignee team and urgency flags, then creates the ticket via an HTTP POST to your ticketing system API.
Waits for a ticket sync confirmation via a second wait webhook and responds to the original webhook call with a JSON summary and the tickets created.

Setup
Add an OpenAI credential for the OpenAI Chat Model used by the AI Agent.
Add a Slack credential and ensure the target Slack channel (for example, #security-alerts) exists and is set in the workflow configuration.
Add an HTTP Header Auth credential for your ticketing system and update the ticket API URL and project key used to create issues.
Configure the two resume webhooks for triage approval and ticket sync confirmation in the systems that will call them (for example, a Slack button/action for triage and your ticketing system callback for creation confirmation).
Send POST requests to the trigger webhook with scanId, targetSystem, reportFormat, reportText, and submittedBy fields to start the analysis.

Nodes Used (5)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Slack
n8n-nodes-base.slack