FAQ

How Skyvern notifies you when its done

Webhooks vs HTTP requests?

We use Webhooks for executing tasks as the expected runtime of these jobs can exceed default HTTP timeouts (1 minute)

How do we handle webhook authentication? (ie how can we handle callbacks?)

1import hmac
2from fastapi import Request
3
4def validate_skyvern_request_headers(request: Request) -> bool:
5 header_skyvern_signature = request.headers["x-skyvern-signature"]
6 payload = request.body() # this is a bytes
7 hash_obj = hmac.new(SKYVERN_API_KEY.encode("utf-8"), msg=payload, digestmod=hashlib.sha256)
8 client_generated_signature = hash_obj.hexdigest()
9 return header_skyvern_signature == client_generated_signature

SKYVERN_API_KEY: this is the api key specific to your organization

Webhook common parameters

ParameterTypeRequired?Sample ValueDescription
webhook_callback_urlStringyes