Today, the adaptive card information is part of the API Plugin manifest file, which allow us to provide to Copilot how we want to Copilot to render the information retrieved from the API.
As of today, the adaptive card info needs to be in the API plugin manifest under capabilities>response_semantics.
Proposal
Similar to what we can do with instructions of a declarative agent, we should support using import for json files for adaptive cards in plugins.
"functions": [
{
"name": "search_issues_and_pull_requests",
"description": "Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.gith",
"capabilities": {
"response_semantics": {
"data_path": "$.items",
"properties": {
"title": "$.title",
"subtitle": "$.body",
"url": "$.url"
},
"static_template": "$[file('adaptive-card.json')]"
}
}
}
]
Benefits
Unblock folks that use same adaptive cards across multiples surfaces to easily reuse their existing things with Copilot.
Higher maintainability as one doesn't need to worry on updating in all different plugins/projects once they want to update an adaptive card.
External adaptive_card.json can take advantage of Adaptive Cards Previewer for building cards which decreases errors related to invalid adaptive cards.
We have seen this same feedback coming from different partners and customers.
Today, the adaptive card information is part of the API Plugin manifest file, which allow us to provide to Copilot how we want to Copilot to render the information retrieved from the API. As of today, the adaptive card info needs to be in the API plugin manifest under
capabilities>response_semantics
.Proposal
Similar to what we can do with
instructions
of a declarative agent, we should support using import for json files for adaptive cards in plugins.Benefits
adaptive_card.json
can take advantage of Adaptive Cards Previewer for building cards which decreases errors related to invalid adaptive cards.We have seen this same feedback coming from different partners and customers.