Webhooks and Callbacks

Stop polling for results. Have Efflux tell your code when a job is done.

Polling is fine for one job. It stops being fine around the time you are submitting hundreds and writing loops to ask whether each of them is done yet.

Attach a callback and Efflux makes the request instead. When the job starts, finishes, or fails, your endpoint hears about it, with the job id included, and your code goes and fetches the result.

Automate the whole round trip

This is what turns Efflux from something you check into something that feeds your pipeline. Submit the work, let the callback land in your queue, pull the results, and move on. No timers, no backoff, no guessing how long a survey takes.

Callbacks work the same way on scans, captures, surveys, permutation checks, schedules, and tasks, so one handler can cover all of it.

Save the endpoint once

Register the destination as a webhook and you reference it by id from then on. Efflux signs every delivery with the secret from that webhook, so your handler can reject anything that did not come from you before it does any work.

Then set it as a default in your preferences. New jobs that leave a phase empty pick it up, which means you are not repeating the same URL on every request you send.

See what happened when it goes wrong

Your endpoint will be down at some point. Every delivery is recorded with its attempts and response codes, and you can retry a failed one, so a bad afternoon does not quietly cost you a batch of results.

Where to go next

Callbacks covers the phases and the delivery history. Webhooks covers the signature and the secret.