Guide · 5 steps
Setting up Webhook Notifications
In this guide, you'll register a webhook endpoint, verify webhook signatures, and handle real-time events from LifeLoop.
Prerequisites
- LifeLoop API service token
- A publicly accessible HTTPS endpoint
- Webhook signing secret (provided after registration)
1Step 1
Register your webhook endpoint
Contact LifeLoop support to register your webhook URL and receive your signing secret. You'll subscribe to specific event types like resident.updated, message.created, photo.uploaded.
No request for this step
2Step 2
Receive a webhook event
When an event occurs, LifeLoop sends a POST request to your endpoint with this envelope:
Webhook payload
{
"eventId": "evt_1a2b3c4d",
"eventType": "message.created",
"tenant": "sunrise-001",
"occurredAt": "2026-06-22T15:30:00Z",
"resourceId": "msg-042"
}3Step 3
Verify the signature
Always verify the X-LifeLoop-Signature header before trusting the payload. Use a timing-safe comparison.
Signature verification
# Signature verification happens server-side in your application code.
# Switch to JavaScript, Python, Ruby, or PHP for an implementation example.4Step 4
Fetch the full resource
Webhook payloads are intentionally lightweight — fetch the full resource using resourceId.
Request
curl https://api.lifeloop.com/api/v1/sunrise-001/messages/msg-042 \
-H "Authorization: Bearer YOUR_SERVICE_TOKEN"Response · 200 OK
{
"id": "msg-042",
"residentId": "res-001",
"subject": "Had a wonderful day!",
"body": "Aileen participated in art class today.",
"createdAt": "2026-06-22T15:30:00Z"
}5Step 5
Return a 200 response
Respond with HTTP 200 within 5 seconds. LifeLoop will retry failed deliveries with exponential backoff (1min, 5min, 30min, 2hr, 6hr).
No request for this step
Next steps
- Handle all 8 event types (see Webhooks > Event Catalog)
- Implement idempotency using eventId
- Set up monitoring and alerting for failed webhook deliveries
More guides