Webhooks Overview
Webhooks let Infodeck push real-time event notifications to your server over HTTPS. Instead of polling our API for changes, you register a URL and we send you a POST request whenever something happens.
Push vs Poll
| Polling | Webhooks | |
|---|---|---|
| How it works | Your server repeatedly calls our API on a schedule | Infodeck sends events to your server as they happen |
| Latency | Minutes (depends on poll interval) | Seconds (~4s end-to-end) |
| Efficiency | Most requests return no new data | Every request carries a real event |
| Cost | High API usage, rate limit pressure | Minimal — only real events consume resources |
How It Works
- Something changes in Infodeck (e.g., an asset is created, a work order status changes)
- Infodeck sends an HTTPS POST request to your registered endpoint
- Your server processes the event and returns a
200response
If your endpoint is temporarily down, Infodeck retries with exponential backoff for up to 24 hours. No events are lost.
Key Concepts
Events -- Something happened in Infodeck. Each event has a type (e.g., asset.created) and a data payload containing the affected resource.
Subscriptions -- A webhook endpoint registered to receive specific event types. You choose exactly which events you care about.
Signing secrets -- A shared secret used to verify that incoming requests genuinely come from Infodeck. Every delivery includes an HMAC-SHA256 signature in the x-infodeck-signature header.
Delivery logs -- A record of every delivery attempt, including response status, latency, and any errors. Viewable in Settings > Webhooks in the Infodeck dashboard.
Benefits
- Real-time -- React to changes within seconds, not minutes
- Cost-efficient -- No wasted API calls polling for changes that haven't happened
- Scalable -- High throughput with guaranteed per-endpoint ordering
- Reliable -- Automatic retries with exponential backoff. Failed deliveries are retried for up to 24 hours
- Secure -- Every delivery is HMAC-signed so you can verify authenticity
Available Event Types
Events are grouped by domain. Subscribe to only the events you need.
Assets
| Event | Description |
|---|---|
asset.created | A new asset was added to the organization |
asset.updated | An asset's properties were modified |
asset.deleted | An asset was removed |
asset.status.changed | An asset's operational status changed (e.g., Online to Offline) |
Work Orders
| Event | Description |
|---|---|
workorder.created | A new work order was opened |
workorder.updated | A work order's details were modified |
workorder.status.changed | A work order transitioned to a new status (e.g., Open to In Progress) |
workorder.completed | A work order was marked as completed |
Bookings
| Event | Description |
|---|---|
booking.created | A new booking was made |
booking.cancelled | A booking was cancelled |
booking.checked_in | A guest checked in for their booking |
Visitors
| Event | Description |
|---|---|
visitor.registered | A new visitor was pre-registered |
visitor.checked_in | A visitor checked in at the location |
visitor.checked_out | A visitor checked out |
SOR (Schedule of Rates)
| Event | Description |
|---|---|
sor.schedule.published | A SOR schedule was published and made active |
sor.quotation.submitted | A SOR quotation was submitted for approval |
sor.quotation.approved | A SOR quotation was approved |
System
| Event | Description |
|---|---|
webhook.test | A test event sent when you click "Send Test" in the dashboard |
Start with a small set of events and expand as needed. Subscribing to everything creates unnecessary load on your endpoint.
Next Steps
- Quick Start -- Set up your first webhook in 5 minutes
- Event Catalog -- Full payload reference for every event type
- Webhook Security -- Verify signatures and protect your endpoint
- Best Practices -- Production-ready patterns