Transaction Errors
When a webhookWebhookThe generic connector that POSTs every appointment change as JSON to a URL you choose. It delivers the message and leaves interpretation to the receiving system. delivery fails, the connectorConnectorAn integration that links Dime.Scheduler to a back-office system, routing data in and scheduling decisions back out. tags it with a stable error codeTransaction error codeA stable code such as DSBC003 that a connector attaches to a failed transaction. Codes never change once issued, so one can be looked up on the transaction errors reference page of its connector. so you can look up exactly what went wrong and how to fix it. Codes never change once issued - new ones are only ever added. Use this page to decode a code you've seen on a transactionTransactionThe recorded call Dime.Scheduler makes to a connected system when the planning changes. It counts as successful on an HTTP 200, which means the endpoint received it, not that the back office processed it..
The code shows up on the Transaction.Message column for failed rows, prefixed in square brackets (for example [DSWBHK020] Status code: 502.). See the Errors page.
Each code falls into one of three categories:
- Retried codes are picked up automatically by the retry job (3 attempts, exponential backoff with jitter, then the row stays
Failedfor the next pass). - Fix configuration codes need a connector or partner setup change first. The in-pipeline policy does not retry them, but the DB-retry job picks
Failedrows up on the next pass. - Undiagnosed failure shapes should be sent to support so a rule can be added.
In each section below, 💡 explains what the code means and 🛠️ tells you what to do about it.
Quick lookup
| Code | Goes to | Status | Retry |
|---|---|---|---|
DSWBHK001 | Webhook not allowed | BackOfficeNotAllowed | fix config |
DSWBHK002 | Empty or malformed URL | WrongUrl | fix config |
DSWBHK003 | Wrong connector type | InvalidBackOfficeType | fix config |
DSWBHK010 | Partner endpoint timeout | Failed | retried |
DSWBHK020 | Partner HTTP failure | Failed | retried |
DSWBHK030 | Circuit breaker open | Failed | retried |
DSUNK001 | Undiagnosed | Failed | undiagnosed |
Webhook not allowed
DSWBHK001fix configurationEmpty or malformed URL
DSWBHK002fix configurationhttps://... URL for the webhook endpoint in the connector settings.Wrong connector type
DSWBHK003fix configurationWebhook - typically a stale row from an older connector definition.Partner endpoint timeout
DSWBHK010retried automaticallyTimeoutException).Failed rows after the configured TTL.Partner HTTP failure
DSWBHK020retried automaticallyCircuit breaker open
DSWBHK030retried automaticallyFailed rows. No action needed unless the underlying partner endpoint is still unavailable.Undiagnosed
DSUNK001undiagnosederrorCode=DSUNK001 so it can be triaged into a new rule.Cross-cutting codes
These are emitted by the shared connector layer and may also surface on webhook transactions when the failure happens before the delivery code runs. Their definitions live with the Business Central transaction errors:
DSCFG001-BackOfficeNotAllowed(shared, mirrorsDSWBHK001semantics).DSCFG002-DSCFG008- connector-configuration validation failures (argument, null reference, invalid system cast, malformed URL, rejected credentials).DSHTTP001- generic HTTP transient (the shared transient rule before it's specialised intoDSWBHK020).DSDB001-DSDB004- database / persistence transients during transaction-row writes.