FlawPilot
Webhooks

Every scan event, sent straight to your own systems

Point FlawPilot at your own endpoints and it posts a signed event the moment something happens - a website or code scan finishes or fails, a pentest changes status, a schedule is paused, a badge moves. Your ticketing, chat-ops, or data pipeline hears about it at once, without polling an API.

Requires a free account and the Owner or Admin role in your space. Find it in the dashboard under Settings → Webhooks.

hooks.example.comHealthy
quick_scan.completed200142ms
badge.updated20098ms
quick_scan.failed503retry 5m
code_scan.completed200resent

Every attempt logged for 30 days. Resend anything that failed.

What webhooks do

Only the events you want

Each endpoint picks its own events - website scans, code scans, Site Health, pentests, scheduled runs, badge changes - or takes every event, including ones added later.

Scoped to the right projects

Send one project's events to one team's endpoint and another project's elsewhere. Leave the filter empty and an endpoint hears about every project in the space.

Signed, so you can trust them

Every request carries a signature that follows the open Standard Webhooks spec, so you can verify it with an existing library. Rotate the secret with a 24-hour overlap and no downtime.

Nothing quietly lost

A failed delivery retries on its own for about 21 hours. Every attempt is logged for 30 days, and anything that never arrived can be resent in one click.

How it works

Add an endpoint once. After that, FlawPilot handles sending, retrying, and logging.

01

Add an endpoint

Give FlawPilot an https URL and, if your receiver needs it, custom headers such as an Authorization token. You get a signing secret once, at creation, to store on your side.

New endpoint

URL

https://hooks.example.com/flawpilot

authorization••••a1B2Secret

Signing secret

whsec_MfKQ9r…a1B2

Store this now. You will not see it again.

02

Choose events and projects

Tick the events this endpoint should receive and, optionally, the projects it covers. Choose a detailed payload with the most severe findings, or a summary with scores and counts only.

Events

Website scan

completedfailed

Code scan

completedfailed

Badge

updated
ProjectsWebsiteCheckoutpayload: detailed
03

Verify every request

Each request carries webhook-id, webhook-timestamp, and webhook-signature headers. Verify them with any Standard Webhooks library, and use the id to ignore a repeat delivery.

webhook-id: 01929a6e-7c1f…

webhook-timestamp: 1792404000

webhook-signature: v1,K3rQ9xT2…

import { Webhook } from 'standardwebhooks';

const event = new Webhook(secret).verify(body, headers);

Signature valid

04

Watch every delivery

The delivery log shows each event, the status code your receiver returned, and every retry. Send a test ping before you go live, and resend anything that failed while your endpoint was down.

hooks.example.comHealthy
quick_scan.completed200142ms
badge.updated20098ms
quick_scan.failed503retry 5m
code_scan.completed200resent

Every attempt logged for 30 days. Resend anything that failed.

Events you can subscribe to

One event per thing that happens, named so a receiver can route on the type alone.

EventWhen it fires
quick_scan.completed / quick_scan.failedA website scan finished, including partial results, or failed.
code_scan.completed / code_scan.failedA code scan run finished, or every dimension of it failed.
site_health.completed / site_health.failedA Site Health crawl finished, failed, or timed out.
pentest.in_progress / completed / rejectedA pentest request started, was completed, or was rejected.
schedule.run_failed / run_skipped / pausedA scheduled run failed or was skipped, or the schedule was paused automatically.
badge.updatedA site's badge score or pillar changed.
integration.disconnectedA connected GitHub or GitLab account stopped working, so its code scans stop until you reconnect it.

Pentest and integration events are not tied to a project, so they reach only endpoints without a project filter.

Webhooks and team notifications do different jobs

Both tell you something happened. One is written for people, the other for software, and most teams end up wanting both.

Team notificationsWebhooks
Who reads itPeople, in Slack, Teams, Google Chat, or emailYour own code, at a URL you control
What arrivesA short message with a link to the reportA signed JSON payload with scores, counts, and findings
Good forTelling the team a score droppedOpening a ticket, failing a release, or feeding a data warehouse
If it failsThe message is missedRetried automatically, logged, and resendable

Team notifications are on the roadmap too. Webhooks are for when the next step is automated rather than read.

See the full roadmap

Before you start

  • A FlawPilot account, and the Owner or Admin role in the space. Endpoint URLs, headers, and logs are kept from other members.
  • A public https endpoint that answers with a 2xx status within 10 seconds.
  • Somewhere to keep the signing secret, which is shown only once.
  • Your plan sets how many endpoints a space can have, each with its own events, projects, and headers.

Questions

Website scans, code scans, Site Health crawls, pentest status changes, scheduled-run problems, and badge changes. Each endpoint chooses its own events, or takes all of them, including ones added later.

Get started

Send your first event in minutes

Add an endpoint, send a test ping, and FlawPilot takes care of signing, retrying, and logging every event after that.

Featured on