Skip to main content

Webhook Quick Start

Use webhooks when another system needs to react as soon as something changes in Infodeck. Instead of polling the API every few minutes, you can register one endpoint, choose the events you care about, and optionally narrow them with event filters such as a specific location, asset, site, or work order.

Quick Summary

Go to Settings gear → Webhooks, add your endpoint URL, select events, fill in any relevant Event filters, then create the webhook and copy the signing secret.


Before You Begin

Requirements
  • You must be an Organization Admin or Owner
  • Webhooks are available on Professional and Enterprise plans
  • You need a publicly accessible HTTPS endpoint to receive events
No endpoint yet?

If you are evaluating webhooks or testing an integration, use webhook.site — it gives you a free temporary HTTPS URL instantly. You can see every incoming request with full headers and payload in real time, no code required.


5-Minute Setup

Step 1: Open Webhook Settings

  1. Click the Settings gear () at the bottom of the sidebar
  2. Under Integrations, select Webhooks

Step 2: Add an Endpoint

  1. Click Add Endpoint
  2. Enter your HTTPS endpoint URL (e.g., https://your-server.com/webhooks/infodeck)
  3. Add an optional description so your team knows what this endpoint is for (e.g., "SAP work order sync", "BMS sensor feed")

Step 3: Choose Events

Select the event types your endpoint should receive. The filter controls only appear after you choose at least one event type.

Event CategoryEventsGood For
Assetsasset.created, asset.deleted, asset.status.changed, asset.telemetry.updatedDigital twins, BMS, sensor monitoring
Work Ordersworkorder.created, workorder.updated, workorder.status.changed, workorder.completedERP sync, reporting, downstream ticketing
Bookingsbooking.created, booking.updated, booking.cancelled, booking.checked_in, booking.no_showRoom and resource integrations
Visitorsvisitor.registered, visitor.checked_in, visitor.checked_outAccess control and visitor logs
SORsor.schedule.published, sor.quotation.submitted, sor.quotation.approvedQuotation and approval workflows
Start small

Begin with one or two event types that matter most to your integration. You can add more later after the first flow is stable.

Step 4: Add Event Filters

After you select events, Infodeck shows the filter fields that apply to those events.

Examples:

  • Asset events show Asset IDs, Location IDs, and Asset Type IDs
  • Work order events show Work Order IDs, Location IDs, and Asset IDs
  • Booking events show Site IDs and Resource IDs
  • Visitor events show Site IDs
  • SOR quotation events show Quotation IDs, SOR Schedule IDs, and Work Order IDs

Enter one or more IDs separated by commas or line breaks. Leave the filter fields blank if you want the webhook to deliver all matching events for the selected event types.

Filter Summary

When filters are configured, the webhook list and detail screens show a compact summary such as Locations: 2 · Assets: 1. If nothing is configured, the summary reads All matching events.

Step 5: Save and Copy the Signing Secret

  1. Click Create Endpoint
  2. The signing secret appears in a modal - copy it immediately
The signing secret is shown only once

If you close the modal without copying the secret, you will need to rotate it to get a new one. Copy the secret and share it securely with your developer or integration partner. Treat it like a password - do not share it over email or unsecured channels.

Step 6: Send a Test Event

  1. Find your webhook in the list
  2. Click the test icon (play button)
  3. Your endpoint receives a webhook.test event within a few seconds

Check webhook.site (or ask your developer to check their server) to confirm the event arrived. If it did not arrive, check the Delivery Logs tab on the webhook detail to see what went wrong.

Test events ignore filters

webhook.test is always delivered as a connectivity check. It does not need to match your event filters.

Step 7: Give the Signing Secret to Your Developer

The developer integrating with Infodeck needs two things from you:

  1. The signing secret - to verify that incoming requests genuinely come from Infodeck
  2. The event types - so they know which events to handle in their code

If you configured filters, share those filter IDs as part of the handoff too.

For the developer guide on building the receiving endpoint, see the Integration Guide.


How Filters Match Events

Webhook filtering follows two simple rules:

  • Across fields = AND
  • Within one field list = OR

Example:

{
"filtering": {
"mode": "include",
"criteria": {
"locationId": ["loc_hq", "loc_east"],
"assetId": ["ast_ahu_01"]
}
}
}

This webhook only delivers an event when:

  • the event belongs to one of the subscribed event types
  • the event is for asset ast_ahu_01
  • the event is also in either loc_hq or loc_east

If the event does not carry a configured field, it does not match that filter.

For a full walkthrough of how each event family maps to filter fields, see How Webhook Event Filters Work.


Managing Webhooks

View Delivery Logs

Click any webhook to see its delivery history:

  • Successful deliveries — your endpoint returned 200
  • Failed deliveries — your endpoint returned an error or was unreachable
  • Response time — how long your endpoint took to respond
  • Failure reason — what went wrong (timeout, 500 error, connection refused, etc.)

Retry Failed Deliveries

If a delivery failed because of a temporary issue on your end (server restart, network blip), you can retry it:

  1. Open the webhook's delivery logs
  2. Find the failed delivery
  3. Click Retry

Infodeck will re-send the exact same event payload to your endpoint.

Edit a Webhook

  1. Click the webhook in the list
  2. Update the URL, events, or description
  3. Review the Event filters section and adjust it if your event scope changed
  4. Save changes

Disable vs Delete

ActionWhat Happens
DisableWebhook stops receiving events but keeps its configuration and delivery history. You can re-enable it later.
DeleteWebhook is removed permanently. Delivery logs are retained for a period.

If you are troubleshooting an issue, disable the webhook instead of deleting it. This preserves the configuration and delivery history for investigation.

Rotate the Signing Secret

If your signing secret may have been exposed:

  1. Open the webhook detail
  2. Click Rotate Secret
  3. Choose Graceful (recommended) or Immediate:
ModeWhat Happens
GracefulOld secret remains valid for 24 hours while you update your endpoint. Both secrets work during the overlap.
ImmediateOld secret is invalidated instantly. Use only in emergencies.
  1. Copy the new secret and update your endpoint code

Setup Examples

Asset alarms for one site

Use when: a building dashboard only needs events from one location.

  1. Subscribe to asset.status.changed and asset.telemetry.updated
  2. Add locationId filters for the target site or floor
  3. Leave assetId blank if you want all assets in that location

Visitor check-ins for one lobby

Use when: a reception or access control tool should only react for one site.

  1. Subscribe to visitor.registered, visitor.checked_in, and visitor.checked_out
  2. Add the target siteId
  3. Test the webhook and confirm the delivery arrives

Work order completion for one contractor job

Use when: an external system only cares about one tracked work order.

  1. Subscribe to workorder.completed
  2. Add the workOrderId
  3. Optionally also subscribe to workorder.status.changed if you need interim progress states

Understanding the Two Secrets

If your organization uses both API keys and webhooks, your team handles two different secrets:

API KeyWebhook Signing Secret
What it doesLets your system call Infodeck's APILets your system verify Infodeck's webhook deliveries
Created inSettings → API KeysSettings → Webhooks
Who uses itYour developer, in API call headersYour developer, in webhook verification code
DirectionYour system → InfodeckInfodeck → Your system

They are separate credentials for separate purposes. An API key cannot be used as a signing secret, and vice versa.


Troubleshooting

What You SeeWhat It MeansWhat to Do
Test event arrived but real events do notThe selected event type or filter values do not match live eventsReview the configured events, then compare your filter IDs with the event source records
Filter fields are missingNo event types are selected yet, or the selected events do not use those IDsChoose the event types first, then fill in the relevant IDs only
Wildcard webhook still does not receive everythingWildcard subscriptions still obey configured filtersRemove the filters if you want every event type delivered
Work order completion appears twiceThe webhook subscribes to both workorder.status.changed and workorder.completedKeep both only if you need both signals
Quotation submit appears twiceAuto-approved quotations emit both submitted and approved eventsHandle both event types explicitly in your integration
Cannot save a very large list of IDsV1 supports up to 50 IDs per filter fieldSplit the subscription, or remove filters if the webhook should receive a broader scope

For a deeper troubleshooting guide, see Webhook Filter Troubleshooting.


Need help? Contact Infodeck Support

Was this page helpful?