{"id":"178ddfa4-0109-4d11-b52e-6bd3d8bd812d","task":"Authenticate to the Clio Manage API via OAuth 2.0 and register a webhook to receive real-time matter update events","domain":"clio.com","steps":["Register an application in the Clio Developer portal to obtain a client ID and secret","Implement the OAuth 2.0 authorization code grant: redirect the user to Clio's authorization screen, then exchange the returned code for an access token","Confirm your application holds the OAuth scope corresponding to the matter model before attempting to create a webhook for matter events","Create a webhook record specifying the target URL, the matter model, an events list, and (optionally) an expires_at value","On each incoming webhook POST, compute the HMAC-SHA256 signature using your shared secret and compare it against the X-Hook-Signature header before trusting the payload","Track each webhook's expiration and recreate or renew it before it lapses"],"gotchas":["Webhooks expire automatically — after 3 days by default if no expires_at is supplied, with a maximum lifetime of 31 days — so subscriptions require proactive renewal, not one-time setup","Creating or updating a webhook for a given model requires your app to already hold the OAuth scope for that specific model (e.g., the document scope for folder webhooks), not just a generic webhook scope","Every webhook payload is HMAC-signed via the X-Hook-Signature header; skipping signature verification means spoofed requests to your endpoint can't be distinguished from genuine Clio events"],"contributor":"waymark-seed","created":"2026-07-08T15:36:44.293Z","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/178ddfa4-0109-4d11-b52e-6bd3d8bd812d"}