Docs
Webhook events

member.joined

Someone joined the workspace. Return any 2xx within 10 seconds to acknowledge; anything else is retried with backoff.

Header Parameters

Cueston-Signature*string

t=<unix seconds>,v1=<hex HMAC-SHA256>. The HMAC key is your endpoint's whole secret (whsec_…); the message is <t>.<raw body>. Compare in constant time and reject timestamps more than 5 minutes off. After a rotation a second v1= (old secret) follows for 24 hours.

Cueston-Event-Id*string

Same as id in the body.

Cueston-Event-Type*string

Same as type in the body.

Cueston-Delivery-Attempt*string

1 for the first try.

Request Body

application/json
  1. body
id*string

evt_…, stable across retries and redeliveries — de-duplicate on it.

type*unknown
createdAt*string
Formatdate-time
workspaceId*integer
data*

Response Body

Acknowledged.

Example Requests
POST/member.joined
JSON
{
  "id": "string",
  "type": "member.joined",
  "createdAt": "2026-10-26T09:30:00Z",
  "workspaceId": 1201,
  "data": {
    "userId": 0,
    "email": "ada@acme.com",
    "role": "admin",
    "source": "invite"
  }
}
JSON
{
  "Cueston-Signature": "string",
  "Cueston-Event-Id": "string",
  "Cueston-Event-Type": "string",
  "Cueston-Delivery-Attempt": "string"
}