Skip to main content
Webhooks let you receive real-time HTTP notifications when events happen in your team — sessions created, status changes, comments, and more. Configure webhook endpoints per team, and Already will POST signed JSON payloads to your URL.

Setup

Use the webhook API endpoints to register a webhook URL for your team. You can subscribe to specific event types or receive all events.

Payload structure

Every webhook delivery has the same top-level structure.
string
required
The event type (e.g. session.created)
string
required
ISO 8601 timestamp of when the event occurred
string
required
Unique ID for this delivery (UUID)
object
required
Event-specific payload (see event types)

Signature verification

Each delivery includes an HMAC-SHA256 signature computed with your webhook secret.

Verification steps

1

Read the raw body

Read the raw request body (do not parse JSON first).
2

Compute HMAC

Compute HMAC-SHA256 of the body using your webhook secret.
3

Compare signatures

Compare with the signature in X-Webhook-Signature (after stripping the sha256= prefix).
4

Check timestamp

Verify that X-Webhook-Timestamp is within 5 minutes of the current time.

Delivery and retries

Already expects a 2xx response within 30 seconds. Failed deliveries are retried up to 3 times with exponential backoff: