Available on NetSec, WebNetSec, and Pentest Suite plans.
Use cases
Custom integrations
Connect to any system with an HTTP API.
SIEM integration
Send findings to your security information system.
Ticketing systems
Create tickets in custom ticketing platforms.
Automation
Trigger external workflows and pipelines.
Setting up webhooks
Payload formats
When creating a webhook, choose the format that best suits your needs:| Format | Description |
|---|---|
| Scan Output (JSON) | Raw scan results in JSON format |
| Scan Summary (JSON) | Condensed summary of scan status and findings |
| Full Scan (JSON) | Complete scan data including all details |
| Scan Output (PDF) | PDF report attached to the request |
Scan summary example
Full scan JSON
The full JSON format includes:- Scan metadata (target, tool, status, timing)
- All findings with full details
- Evidence and remediation recommendations
- CVSS scores and CVE references
Creating a webhook
- Go to Settings > Integrations > Webhooks
- Click Add webhook
- Enter a name for identification
- Enter the URL of your endpoint
- Select the payload format
- Save the webhook
Using webhooks in notifications
Once created, webhooks appear as destination options when creating notifications:- Go to Notifications
- Create or edit a notification
- Enable Webhook as a destination
- Select your webhook from the dropdown
Endpoint requirements
Your endpoint should:- Accept HTTP POST requests
- Return a 2xx status code on success
- Handle the JSON or multipart/form-data (for PDF) content type
- Respond within 10 seconds
Headers
Webhook requests include these headers:| Header | Description |
|---|---|
Content-Type | application/json or multipart/form-data |
User-Agent | Pentest-Tools.com user agent |
PTT-SCAN-ID | The scan ID(s) that triggered the webhook |
Error handling
If your endpoint fails to respond:- The request is retried up to 5 times
- There is a 3-second pause between each attempt
- If failures persist, you’ll get an email notification (at most once every 24 hours)
Best practices
Use HTTPS
Use HTTPS
Always use HTTPS endpoints to encrypt data in transit.
Validate the source
Validate the source
Verify requests come from Pentest-Tools.com by checking headers or IP ranges.
Handle duplicates
Handle duplicates
Implement idempotency in case of retries.
Return quickly
Return quickly
Process webhook data asynchronously if needed. Return a 200 response immediately.
Troubleshooting
Webhook not firing
Webhook not firing
- Verify the notification is enabled
- Check that conditions are being matched
- Review the notification settings
Receiving errors
Receiving errors
- Check your endpoint is accessible from the internet
- Verify the URL is correct
- Check server logs for errors
Missing data
Missing data
- Try a different payload format
- Check if the scan type includes the expected data