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
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.

Event filters -- Optional ID-based rules on a subscription. Use them when you only want matching events for a location, site, asset, work order, schedule, or quotation.

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 delivery
  • 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.deletedAn asset was removed
asset.status.changedAn asset's operational status changed (e.g., Online to Offline)
asset.telemetry.updatedAn IoT sensor sent new telemetry data (e.g., temperature, humidity, CO2)

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.updatedA booking was updated
booking.cancelledA booking was cancelled
booking.checked_inA guest checked in for their booking
booking.no_showA booking was marked as no-show

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.

info

If you need a smaller scope than event type alone, add webhook filtering in the dashboard or via the management API.

Next Steps

Was this page helpful?