Native webhook and webhook-style workflow are not the same
A native webhook means the provider accepts a background job and later calls your endpoint. Snapshot Site's documented screenshot endpoints return their result to the caller. The asynchronous layer therefore belongs in your queue, scheduler, or automation platform.
This distinction matters operationally. It tells you which system owns retries, job expiration, callback signing, and status history.
Use three independent stages
First, a worker calls Snapshot Site and classifies the response. Second, the application validates and stores the artifact. Third, a delivery worker sends a minimal signed event to the consumer. A capture can succeed even when callback delivery is temporarily unavailable.
Create the internal job before any external call. Include an idempotency key so a repeated trigger refers to the same logical work.
Secure delivery
Use a callback secret unrelated to the provider key. Sign the exact bytes sent, validate timestamp freshness, and restrict callback destinations according to product policy. Receivers should acknowledge only after durable processing and deduplicate repeated events.
Do not put a private artifact URL into a long-lived event when an application-owned asset identifier is sufficient.
The screenshot scheduler explains recurring orchestration, while error handling covers stage-specific retry.