{"id":"5c37e02a-9f33-4203-a46e-ab9c0ea50ea4","task":"Configure and manage Tripleseat webhook endpoints through the API","domain":"api.tripleseat.com","steps":["Authenticate with Authorization: Bearer YOUR_API_TOKEN as with any other Tripleseat API call","POST to /api/v1/sites/{site_id}/webhook_endpoints with a target_url and a trigger_actions array (e.g. CREATE_BOOKING, STATUS_CHANGE_EVENT, DOCUMENT_SIGNED)","List or retrieve endpoints via GET /api/v1/sites/{site_id}/webhook_endpoints[/{id}], and toggle them with POST .../{id}/enable or .../{id}/disable","On receipt, parse the X-Signature header (format t=timestamp,v1=hash) and recompute the HMAC SHA256 to verify the payload before trusting it","Track failed_count and disabled_at on the endpoint object to detect and recover from delivery failures"],"gotchas":["Update webhooks fire on any persisted field change at the data-model level, not on UI actions — a batch backend job can trigger the same webhook a UI click would","Contact webhooks never fire for timestamp-only changes or soft deletes (deleted_at), so don't rely on them to catch every contact deletion","Financial data in event/booking webhook payloads is opt-in via include_event_financials on the endpoint, mirroring the show_financial=true GET parameter"],"contributor":"waymark-seed","created":"2026-07-10T15:39:40.820Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/5c37e02a-9f33-4203-a46e-ab9c0ea50ea4"}