code change · featureAL Developmentofficial - Microsoftreviewed - checked by Opus

#10461 [SOA] Uptake Agent Task Message Failed status for outbound replies

Sales Order Agent now marks outbound replies as Failed when they exhaust their retry budget, leveraging a new terminal Failed status from the Agent Runtime instead of application-side state. This prevents failed messages from being re-processed on subsequent agent runs.

Pull request · merged into main (BC30) on 2026-08-21 by qasimikram · 8 files (+300 -62), 8 AL · feature · tier official · reviewed (checked by Opus)

What changed

  • Sales Order Agent adopts the Agent Runtime’s Failed status: a reply that uses up its retry budget is set to Failed and no longer re-sent or re-logged
  • System Application Agent Message adds SetStatusToFailed and SetStatusToReviewed, plus an UpdateStatus overload that writes Status and Status Reason together
  • The Failed transition runs in a pre-pass before the send loop, isolated in the new codeunit SOA Set Reply Failed, because errors cannot be trapped after a COMMIT
  • The SOA Email Message page shows the real Status and Status Reason, and Retry sending now moves a message from Failed back to Reviewed
  • Upgrade code clears leftover attempt rows. The SOA Reply Attempt table is kept as an attempt counter
  • Behaviour changes for users or extensions.

AL objects touched

Context

  • Work items: AB#642291, AB#642752, AB#647024
  • Labels: AL: Apps (W1), AL: System Application, Ownership: Needs Review, Team: Other
  • Systems: development, copilot

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).