oura-webhooks
Installation
SKILL.md
Oura Webhooks
When to Use This Skill
- How do I receive Oura webhooks?
- How do I complete the Oura subscription verification handshake (GET challenge)?
- How do I verify the
x-oura-signatureheader? - Why is my Oura webhook signature verification failing?
- How do I handle Oura
sleep,daily_readiness, orworkoutevents?
How Oura Webhooks Work
Oura webhooks have two distinct request types on the same callback URL:
- Subscription handshake (GET): When you create a subscription, Oura sends a
GETto yourcallback_urlwith query paramsverification_tokenandchallenge. Check the token matches yours, then respond200with JSON{"challenge": "<value>"}. - Event delivery (POST): Each event is a
POSTcarrying headersx-oura-signatureandx-oura-timestamp. Verify the HMAC, then process.