Skip to main content

Introduction

Webhooks are a simple idea with a lot of reach: callbacks over the internet. An application lets interested parties subscribe to certain events, and when one happens it notifies them so they can react. If that sounds like Power Automate, it's a similar idea aimed at a different audience: developers.

The webhook connectorConnectorAn integration that links Dime.Scheduler to a back-office system, routing data in and scheduling decisions back out. lets Dime.Scheduler talk to any application, not just the standard connectors like Business Central. Dime.Scheduler's main output is appointmentsAppointmentA task scheduled to a resource for a specific period - the scheduled instance you see on the planning board., so that's the entity published back to back-office systems, this connector included.

How publishing normally works

Whenever a transaction happens on the planning boardPlanning boardThe main graphical scheduling surface where dispatchers drag tasks onto resources across a timeline., the underlying system is notified. Each unit of work carries a few identifiers:

FieldDescription
Source AppA unique value that describes where the record was created.
Examples: BC Tenant X, BC Tenant Y, CRM HQ
Source TypeDescribes the table, list or source where the item was created in the back-office system.
Examples: service orders in BC, opportunity in CRM, sales order in BC, etc.
Job No.A unique value that can always trace back to the item in the underlying back-office system.
Examples, SO100 for a service order, J005 for a job, etc.

Dime.Scheduler matches the Source AppSource appAn identifier Dime.Scheduler attaches to data so it can route a change back to the correct back-office system. against the registered connectors and routes the message to the right one. So an appointment for a service order in the USA tenant of BC goes to that tenant, not the Canada one. It then routes by Source TypeSource typeAn identifier that, together with the source app, tells Dime.Scheduler which back-office table a record belongs to. to the right table, so the correct workflow runs: for a service order, the BC connector creates a resource allocation line.

How webhooks publish

The webhook connector follows the same flow, but stops at the HTTP POST. It's generic, so Dime.Scheduler doesn't link the appointment back to any originating system: what happens once you receive the message is up to you.

You could even feed planning changes into a game of Tetris.