Skip to content
This repository has been archived by the owner on Jun 30, 2022. It is now read-only.

[Do not merge][4.4] Merged master into 4.4 #1224

Merged
merged 43 commits into from
May 2, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
65ffd71
Added title/body variables to returning user greeting card (#1074)
ryanisgrig Apr 9, 2019
e4f4742
[Virtual Assistant][TypeScript] Rename Botbuilder libraries (#1080)
Batta32 Apr 10, 2019
3d604d2
[Calendar] fix some new adaptive card issue (#1069)
KayMKM Apr 10, 2019
2500489
Fixed satellite assembly reference that overwrote neutral culture wit…
ryanisgrig Apr 11, 2019
50806fe
[VA] Resolve card localization bug that defaults to English (#1095)
ryanisgrig Apr 12, 2019
618deff
Reference SpeechUtility in all Skills that have custom implementation…
ryanisgrig Apr 12, 2019
13f2ab2
fix bugs (#1103)
DingmaomaoBJTU Apr 15, 2019
8fe8996
[Templates][TypeScript] Ignore completed-doc rule (#1109)
Batta32 Apr 16, 2019
60279c0
Add productivity skill project references back (#1112)
darrenj Apr 17, 2019
4ad0b43
[Calendar] new flow update (#1111)
KayMKM Apr 18, 2019
80fc5b8
[Email] new flow updates (#1107)
DingmaomaoBJTU Apr 19, 2019
e09504b
Create CODEOWNERS (#1134)
ryanisgrig Apr 22, 2019
14acdf3
[Email]Contact finding flow refactor in Email and add "add more recip…
DingmaomaoBJTU Apr 24, 2019
1ccd6d8
[POI] Various conversational enhancements for demos (#1155)
ryanisgrig Apr 24, 2019
01b2b83
Create CONTRIBUTING.md
ryanisgrig Apr 25, 2019
23bdf87
Updated power bi sample with EventTelemtry App Insights query. (#1157)
ryanisgrig Apr 25, 2019
2b142fb
[POI] Use Foursquare best photo with specified dimensions (#1158)
ryanisgrig Apr 25, 2019
1eb0524
Create CODE_OF_CONDUCT.md (#1160)
ryanisgrig Apr 25, 2019
124b9a1
Added directlinespeech channel to IsStartActivity function to test in…
rlgmsftx Apr 25, 2019
16f8dc1
Update master branch to latest solutions reference enabling directlin…
ryanisgrig Apr 25, 2019
7800291
Fixed the issue of project not loading as it was referencing a wrong …
arafattehsin Apr 30, 2019
81df7e5
update training utterances (#1195)
darrenj Apr 30, 2019
739afea
Add files via upload
ryanisgrig Apr 30, 2019
7952c91
Update README.md
ryanisgrig Apr 30, 2019
39481c3
Add files via upload
ryanisgrig Apr 30, 2019
f74aad9
Add files via upload
ryanisgrig Apr 30, 2019
75e2d53
Updated README.md with the correct links (#1215)
arafattehsin May 1, 2019
f3cf577
merged
lauren-mills May 1, 2019
54e453f
merged auto skill
lauren-mills May 2, 2019
c49a493
merged calendar
lauren-mills May 2, 2019
fa30e8c
updated email skill
lauren-mills May 2, 2019
3a0379f
updated poi skill
lauren-mills May 2, 2019
efc5063
updated todo skill
lauren-mills May 2, 2019
ef5a345
removed old skills files
lauren-mills May 2, 2019
35d2c00
restored ts files
lauren-mills May 2, 2019
77a3ec0
removed extra ts files
lauren-mills May 2, 2019
d011047
ts files
lauren-mills May 2, 2019
39fd4b0
ts generators
lauren-mills May 2, 2019
503bc45
skill template ts
lauren-mills May 2, 2019
5cac9f4
Merge branch '4.4' into lamil/merge
lauren-mills May 2, 2019
0a4928f
Merge branch '4.4' into lamil/merge
lauren-mills May 2, 2019
742f0dd
va template fixes
lauren-mills May 2, 2019
9c98a05
Merge branch 'lamil/merge' of https://github.com/Microsoft/AI into la…
lauren-mills May 2, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# https://blog.github.com/2017-07-06-introducing-code-owners/

* @darrenj @lauren-mills @lzc850612 @ryanlengel
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
4,913 changes: 2,023 additions & 2,890 deletions docs/advanced/skills/transcripts/skills-pointofinterest.transcript

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/media/powerbi-conversationanalytics-overall.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/reference/analytics/powerbi.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ The [Conversational Analytics Power BI sample](https://aka.ms/botPowerBiTemplat
|[Overall Usage](#overall-usage)| Provides general insights like unique users, total number of messages, and number of conversations per day|
|[All Dialogs Overview](#all-dialogs-overview)| All dialogs' popularity and status based off of SDK telemetry.|
|[Dialog Overview](#dialog-overview)| A specific dialog's popularity, status, and average bot/user turn count.|
|[LUIS Intents](#luis-intents)| A count of LUIS intents per day.|
|[All Conversations Metrics](#all-conversations-metrics)| Highlights the average number of conversations per unique user and the average duration by day.|
|[Conversations Drill Down](#conversations-drill-down)| Per conversation, this highlights the dialogs triggered and common utterances.|
|[Transcript](#transcript)| Highlights a count of interactions, session duration, and the transcript between bot and users per unique conversation.|
Expand Down Expand Up @@ -92,6 +93,8 @@ in
![Example Report](../media/powerbi-conversationanalytics-alldialogsoverview.png)
### Dialog Overview
![Example Report](../media/powerbi-conversationanalytics-dialogoverview.png)
### LUIS Intents
![Example Report](../media/powerbi-conversationanalytics-luisintents.png)
### All Conversations Metrics
![Example Report](../media/powerbi-conversationanalytics-allconversationsmetrics.png)
### Conversations Drill Down
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,6 @@
<data name="LoginDescription" xml:space="preserve">
<value>Please login with your {0} account</value>
</data>
<data name="More" xml:space="preserve">
<value>more</value>
</data>
<data name="NotAvailable" xml:space="preserve">
<value>Not available</value>
</data>
Expand Down Expand Up @@ -231,4 +228,7 @@
<data name="Yesterday" xml:space="preserve">
<value>Yesterday</value>
</data>
<data name="More" xml:space="preserve">
<value>more</value>
</data>
</root>
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public ResponseManager(string[] locales, params IResponseIdCollection[] response
{
try
{
resourceAssembly = resourceAssembly.GetSatelliteAssembly(new CultureInfo(locale));
LoadResponses(resourceName, resourceAssembly, locale);
var localizedResourceAssembly = resourceAssembly.GetSatelliteAssembly(new CultureInfo(locale));
LoadResponses(resourceName, localizedResourceAssembly, locale);
}
catch
{
Expand Down Expand Up @@ -421,7 +421,10 @@ private AdaptiveCard BuildCard(string json, ICardData data = null)
{
if (!tokens.ContainsKey(property.Name))
{
tokens.Add(property.Name, property.GetValue(data)?.ToString());
var escapedTokenStr = property.GetValue(data)?.ToString()?.Replace("\\", "\\\\");
escapedTokenStr = escapedTokenStr?.Replace("\"", "\\\"");
escapedTokenStr = escapedTokenStr?.Replace("\'", "\\\'");
tokens.Add(property.Name, escapedTokenStr);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</PropertyGroup>

<ItemGroup>
<Content Remove="Content\AutomotiveCard.json" />
<Content Remove="Content\ListSelection.json" />
<Content Remove="Content\SettingChoice.json" />
</ItemGroup>
Expand Down Expand Up @@ -79,6 +80,7 @@
</ItemGroup>

<ItemGroup>
<EmbeddedResource Include="Content\AutomotiveCard.json" />
<EmbeddedResource Include="Data\available_settings.yaml" />
<EmbeddedResource Include="Data\setting_alternative_names.yaml" />
<EmbeddedResource Include="Data\normalization\amount_percentage.tsv" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"type": "AdaptiveCard",
"id": "AutomotiveCard",
"backgroundImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAACeCAYAAACvg+F+AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAAhdEVYdENyZWF0aW9uIFRpbWUAMjAxOTowMzoxMyAxOTo0Mjo0OBCBEeIAAAG8SURBVHhe7dJBDQAgEMCwA/+egQcmlrSfGdg6z0DE/oUEw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phSTEsKYYlxbCkGJYUw5JiWFIMS4phCZm52U4FOCAVGHQAAAAASUVORK5CYII=",
"body": [
{
"type": "Container",
"id": "title",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"backgroundImage": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw%0D%0AOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzEyIDExMCI+PGRlZnM+PHN0%0D%0AeWxlPi5he2ZpbGw6IzY1YWZlMjt9LmJ7b3BhY2l0eTowLjI7ZmlsbDp1cmwoI2EpO30uY3tmaWxs%0D%0AOiMwMDU4YTg7b3BhY2l0eTowLjI1O308L3N0eWxlPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9%0D%0AIjIyOC44NyIgeTE9IjU1IiB4Mj0iNDQ5LjM0IiB5Mj0iNTUiIGdyYWRpZW50VW5pdHM9InVzZXJT%0D%0AcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0%0D%0AeT0iMC41Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIi8+PC9saW5lYXJHcmFk%0D%0AaWVudD48L2RlZnM+PHRpdGxlPnBsYXRmb3Jtc0Fzc2V0IDQ4cXVlc2l0b25zPC90aXRsZT48cGF0%0D%0AaCBjbGFzcz0iYSIgZD0iTTIzMC43NCw1NS4wNywyODUuODIsMEgwVjExMEgyNzYuNjFMMjMwLjc0%0D%0ALDY0LjEzQTYuNDMsNi40MywwLDAsMSwyMzAuNzQsNTUuMDdaIi8+PHBhdGggY2xhc3M9ImEiIGQ9%0D%0AIk0zMTIsMEgyODUuODJMMjMwLjc0LDU1LjA3YTYuNDMsNi40MywwLDAsMCwwLDkuMDZMMjc2LjYx%0D%0ALDExMEgzMTJaIi8+PHBhdGggY2xhc3M9ImIiIGQ9Ik0zMTIsMEgyODUuODJMMjMwLjc0LDU1LjA3%0D%0AYTYuNDMsNi40MywwLDAsMCwwLDkuMDZMMjc2LjYxLDExMEgzMTJaIi8+PHBhdGggY2xhc3M9ImMi%0D%0AIGQ9Ik0yNDIuNiwyMi4zMiwzMTIsOTEuNzJWMEgyNTUuODdMMjQyLjYsMTMuMjdBNi40Miw2LjQy%0D%0ALDAsMCwwLDI0Mi42LDIyLjMyWiIvPjwvc3ZnPg==",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"verticalContentAlignment": "Center",
"items": [
{
"type": "Image",
"id": "icon",
"horizontalAlignment": "Center",
"url": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFk%0D%0Ab2JlIElsbHVzdHJhdG9yIDIzLjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246%0D%0AIDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5z%0D%0APSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu%0D%0Ab3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNS40IDI1LjQi%0D%0AIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI1LjQgMjUuNDsiIHhtbDpzcGFjZT0i%0D%0AcHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQo8%0D%0AL3N0eWxlPgo8dGl0bGU+cGxhdGZvcm1zQXNzZXQgMzlxdWVzaXRvbnM8L3RpdGxlPgo8cGF0aCBj%0D%0AbGFzcz0ic3QwIiBkPSJNMjIuMiwxMi4zdjAuMmMwLDAuMSwwLDAuMiwwLDAuMmMwLDAuMSwwLDAu%0D%0AMSwwLDAuMnYwLjJsMy4yLDJsLTIsNC44bC0zLjctMC45Yy0wLjIsMC4yLTAuNCwwLjQtMC42LDAu%0D%0ANgoJbDAuOSwzLjdsLTQuOCwybC0yLTMuMmgtMC45bC0yLDMuMmwtNC44LTJsMC44LTMuN2MtMC4y%0D%0ALTAuMi0wLjQtMC40LTAuNi0wLjZMMiwyMGwtMi00LjhsMy4yLTJjMC0wLjEsMC0wLjEsMC0wLjIK%0D%0ACWMwLTAuMSwwLTAuMSwwLTAuMmMwLTAuMSwwLTAuMiwwLTAuMmMwLTAuMSwwLTAuMSwwLTAuMmwt%0D%0AMy4yLTJsMi00LjhsMy43LDAuOGMwLjItMC4yLDAuNC0wLjQsMC42LTAuNkw1LjUsMmw0LjgtMmwy%0D%0ALDMuMmgwLjlsMi0zLjIKCUwyMCwybC0wLjksMy43YzAuMiwwLjIsMC40LDAuNCwwLjYsMC42bDMu%0D%0ANy0wLjhsMiw0LjhMMjIuMiwxMi4zeiBNMjAuNywxMy45YzAtMC4yLDAtMC40LDAtMC42czAtMC40%0D%0ALDAtMC42czAtMC40LDAtMC42CglzMC0wLjQsMC0wLjZsMi45LTEuOGwtMS4xLTIuNmwtMy40LDAu%0D%0AOEMxOSw3LjYsMTguNyw3LjMsMTguNCw3Yy0wLjMtMC4zLTAuNi0wLjUtMC45LTAuOGwwLjgtMy40%0D%0AbC0yLjYtMS4xbC0xLjksM2gtMC42aC0wLjYKCWMtMC4yLDAtMC40LDAtMC42LDBoLTAuNmwtMS44%0D%0ALTNMNy4xLDIuOGwwLjgsMy40QzcuNiw2LjUsNy4zLDYuNyw3LDdDNi43LDcuMyw2LjUsNy42LDYu%0D%0AMiw3LjlMMi44LDcuMUwxLjgsOS43bDMsMS45CgljMCwwLjIsMCwwLjQsMCwwLjZjMCwwLjIsMCww%0D%0ALjQsMCwwLjZjMCwwLjIsMCwwLjQsMCwwLjZzMCwwLjQsMCwwLjZsLTMsMS44bDEuMSwyLjZsMy40%0D%0ALTAuOGMwLjIsMC4zLDAuNSwwLjYsMC44LDAuOQoJYzAuMywwLjMsMC42LDAuNSwwLjksMC44bC0w%0D%0ALjgsMy40bDIuNiwxLjFsMS45LTIuOWwwLjYsMGgwLjZoMC42bDAuNiwwbDEuOCwyLjlsMi42LTEu%0D%0AMWwtMC44LTMuNGMwLjMtMC4yLDAuNi0wLjUsMC45LTAuOAoJYzAuMy0wLjMsMC41LTAuNiwwLjgt%0D%0AMC45bDMuNCwwLjhsMS4xLTIuNkwyMC43LDEzLjl6IE0xMi43LDhjMC42LDAsMS4zLDAuMSwxLjgs%0D%0AMC40YzEuMSwwLjUsMiwxLjQsMi40LDIuNWMwLjUsMS4yLDAuNSwyLjUsMCwzLjcKCWMtMC41LDEu%0D%0AMS0xLjMsMi0yLjQsMi40Yy0xLjIsMC41LTIuNSwwLjUtMy43LDBjLTEuMS0wLjUtMi0xLjQtMi41%0D%0ALTIuNWMtMC41LTEuMi0wLjUtMi41LDAtMy43YzAuNS0xLjEsMS40LTIsMi41LTIuNQoJQzExLjUs%0D%0AOC4xLDEyLjEsOCwxMi43LDh6IE0xMi43LDE2YzAuNCwwLDAuOS0wLjEsMS4zLTAuMmMwLjgtMC4z%0D%0ALDEuNC0xLDEuOC0xLjhjMC4zLTAuOCwwLjMtMS43LDAtMi42Yy0wLjMtMC44LTEtMS40LTEuOC0x%0D%0ALjgKCWMtMC44LTAuMy0xLjctMC4zLTIuNiwwYy0wLjgsMC4zLTEuNCwxLTEuOCwxLjhjLTAuMyww%0D%0ALjgtMC4zLDEuNywwLDIuNmMwLjMsMC44LDEsMS40LDEuOCwxLjhDMTEuOCwxNS45LDEyLjMsMTYs%0D%0AMTIuNywxNnoiLz4KPC9zdmc+Cg==",
"width": "35px",
"height": "35px"
}
],
"width": "auto"
},
{
"type": "Column",
"verticalContentAlignment": "Center",
"items": [
{
"type": "TextBlock",
"id": "title",
"size": "Large",
"weight": "Bolder",
"color": "Light",
"text": "Your vehicle"
}
],
"width": "stretch"
}
]
}
],
"width": "stretch"
}
]
}
]
},
{
"type": "Container",
"items": [
{
"type": "Image",
"url": "{ImageUrl}",
"horizontalAlignment": "center"
},
{
"type": "TextBlock",
"id": "messageBody",
"color": "Dark",
"text": "{Body}",
"wrap": true
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0",
"speak": "{Speak}"
}
Loading