Skip to main content

Troubleshooting Asset Workflow Callbacks

Summary

This page covers the inbound workflow callback that drives asset transitions when the asset-approval workflow flag is on. The callback endpoint is idempotent: a duplicate callback is a no-op or returns a conflict appropriately. Callback trust is header and tenant based. When the flag is off, callbacks are not part of the flow at all. The correlation identifier is the key piece of evidence to collect for any callback investigation.

Audience

Support engineers and developers investigating a transition that did not occur after an approval, duplicate callbacks, or callback trust and tenant questions.

Symptoms

  • An approval completed in the workflow but the asset did not transition.
  • A duplicate callback was received and its effect is unclear.
  • A callback appears to be rejected on trust or tenant grounds.
  • Callbacks are observed when the workflow flag is off.

Cause

Scope

This page covers the inbound callback endpoint, its idempotency, and its trust model. Approval routing and the flag itself are covered on the requests-and-approval page.

Likely causes

  • A duplicate callback arrived; idempotency makes it a no-op or an appropriate conflict, so no additional transition is expected.
  • The callback did not carry the expected header or tenant context, so it was not trusted.
  • The workflow flag is off, so callbacks are outside the flow and any observed callback traffic is not driving transitions.
  • The correlating workflow instance did not reach the state that would emit the callback, so no transition was driven.

Resolution

Safe diagnostics

  • Collect the correlation identifier and use it to align the callback with the intended transition.
  • Confirm whether a duplicate callback was received, in which case idempotency explains the absence of a second transition.
  • Confirm the callback carried the expected header and tenant context.
  • Confirm the workflow flag is on; if off, callbacks are not part of the flow.

Validation

  • Confirm the asset reached the expected status after a trusted, non-duplicate callback.
  • Confirm duplicate callbacks did not double-apply a transition.
  • Confirm the outbox rows for the resulting transition are present.

Escalation

Route callback delivery and workflow-instance behavior to the workflow owner. Route callback trust and tenant-context handling to the asset or backend team. Route flag configuration to the gateway or platform owner.

Evidence to Collect

  • The correlation identifier.
  • Whether the callback was a duplicate.
  • The header and tenant context observed on the callback.
  • The asset status before and after, with timestamps.

Source References

  • microservices/src/asset-service/Infrastructure/WorkflowServiceClient.cs
  • microservices/src/asset-service/Api/AssetEndpoints.cs
  • microservices/src/asset-service/Application/Commands/AssetCommands.cs

See Also

Keywords

workflow callback, idempotency, correlation id, transitions, tenant trust

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly