workflow.message-native-records-ts
purpose
Implement the "structured records as message objects" pattern where workflow state renders inline as durable, updatable Adaptive Cards tied to backing store rows and anchored in threads.
rules
- Every workflow record is an Adaptive Card backed by a store row. The card is the visual representation; the list/dataverse row is the source of truth. Card actions read from and write to the store, then refresh the card to reflect current state.
- Use
Action.Executewithverbfor all record mutations.Action.Executetriggers a server-sideadaptiveCard/actioninvoke, allowing the bot to update the backing store and return a refreshed card in one round-trip. Never useAction.Submitfor records — it doesn't support card refresh. adaptivecards.io -- Action.Execute