Skip to main content

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

PollingWebhooks
How it worksYour server repeatedly calls our API on a scheduleInfodeck sends events to your server as they happen
LatencyMinutes (depends on poll interval)Seconds (~4s end-to-end)
EfficiencyMost requests return no new dataEvery request carries a real event
CostHigh API usage, rate limit pressureMinimal — only real events consume resources

How It Works

  1. Something changes in Infodeck (e.g., an asset is created, a work order status changes)
  2. Infodeck sends an HTTPS POST request to your registered endpoint
  3. Your server processes the event and returns a 200 response

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

EventDescription
asset.createdA new asset was added to the organization
asset.updatedAn asset's properties were modified
asset.deletedAn asset was removed
asset.status.changedAn asset's operational status changed (e.g., Online to Offline)

Work Orders

EventDescription
workorder.createdA new work order was opened
workorder.updatedA work order's details were modified
workorder.status.changedA work order transitioned to a new status (e.g., Open to In Progress)
workorder.completedA work order was marked as completed

Bookings

EventDescription
booking.createdA new booking was made
booking.cancelledA booking was cancelled
booking.checked_inA guest checked in for their booking

Visitors

EventDescription
visitor.registeredA new visitor was pre-registered
visitor.checked_inA visitor checked in at the location
visitor.checked_outA visitor checked out

SOR (Schedule of Rates)

EventDescription
sor.schedule.publishedA SOR schedule was published and made active
sor.quotation.submittedA SOR quotation was submitted for approval
sor.quotation.approvedA SOR quotation was approved

System

EventDescription
webhook.testA test event sent when you click "Send Test" in the dashboard
tip

Start with a small set of events and expand as needed. Subscribing to everything creates unnecessary load on your endpoint.

Next Steps

Was this page helpful?