Issue type
Update to existing content
Details
FAQ: How do I prevent empty Adaptive Cards when an array property is empty?
Problem
Adaptive Cards render blank when the array (e.g., recommendations) in the API response is empty.
Example API Response
JSON{ "llmAnswer": "", "recommendations": [], "llmFollowUpMessage": ""}Show more lines
Cause
recommendations array has no items.
Template lacks conditional logic for empty arrays.
Solution
Bind to the correct array property:
JSON"data_path": "$.recommendations"Show more lines
Iterate over objects only when data exists:
JSON{ "type": "ColumnSet", "$data": "${$root}", "$when": "${title != null && title != ''}"}
Add fallback text for empty arrays:
JSON{ "type": "TextBlock", "text": "No recommendations available", "$when": "${$root.length == 0}"}
Best Practice
Always validate data_path and include $when conditions for empty arrays to avoid blank cards.
Doc can be updated:
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/api-plugin-adaptive-cards
Subject matter expert
Laura Graham
Priority
P3 - The request is medium priority and is not blocking.
Target publish date
No response
Approximate size of the work item
Small - The request will take one day to complete.
Additional details
No response
Issue type
Update to existing content
Details
FAQ: How do I prevent empty Adaptive Cards when an array property is empty?
Problem
Adaptive Cards render blank when the array (e.g., recommendations) in the API response is empty.
Example API Response
recommendations array has no items.
Template lacks conditional logic for empty arrays.
Solution
Bind to the correct array property:
JSON"data_path": "$.recommendations"Show more lines
Iterate over objects only when data exists:
JSON{ "type": "ColumnSet", "$data": "${$root}", "$when": "${title != null && title != ''}"}Add fallback text for empty arrays:
JSON{ "type": "TextBlock", "text": "No recommendations available", "$when": "${$root.length == 0}"}Best Practice
Always validate data_path and include $when conditions for empty arrays to avoid blank cards.
Doc can be updated:
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/api-plugin-adaptive-cards
Subject matter expert
Laura Graham
Priority
P3 - The request is medium priority and is not blocking.
Target publish date
No response
Approximate size of the work item
Small - The request will take one day to complete.
Additional details
No response