Track the operation
Use the returned operation identifier and location to inspect progress. Keep failed, cancelled, and successful outcomes distinct. A cancellation request records an intention to cancel; inspect the resulting state rather than assuming work stopped immediately. Use bounded status checks with backoff, or register webhooks for the events your integration needs. A webhook subscription can cover query, schedule, transfer, operation, and run events, including successful and failed runs.Verify webhook signatures
Webhook requests includeX-ChatObserver-Signature, X-ChatObserver-Timestamp, X-ChatObserver-Event-Id, and X-ChatObserver-Delivery headers. Store the endpoint’s signing secret securely when it is issued.
Compute HMAC-SHA256 over the timestamp, a period, and the exact raw request body:
v1= in the signature header using a constant-time comparison. Do not parse and reserialise JSON before verifying it. Enforce a reasonable timestamp tolerance to reject stale requests.