Forum Discussion
BazVanDenDungen
Jan 13, 2023Copper Contributor
How do I allow a user to trigger a task module from an adaptive card in the compose area?
I have a teams bot which responds to search queries via a messaging extensions and allows the user to embed card responses in messages and teams. I have reworked it from making use of thumbnail cards...
- Jan 23, 2023
BazVanDenDungen -We have tried the below sample to achieve this-
Added one button and in value section added deep link. When we click on compose area button it will open the task module.private MessagingExtensionActionResponse CreateCardCommand(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionAction action) { // The user has chosen to create a card by choosing the 'Create Card' context menu command. var createCardData = ((JObject)action.Data).ToObject<CardResponse>(); var card = new HeroCard { Title = createCardData.Title, Subtitle = createCardData.Subtitle, Text =createCardData.Text, Buttons = new List<CardAction> { new CardAction(ActionTypes.OpenUrl, "DeepLink", value: "https://teams.microsoft.com/l/task/XXXXX-bbcd-4a30-9092-3c89XXXXXXX?url=https://XXXX-118-185-XXX-XXX.ngrok.io/customform.html&height=430&width=510&title=CustomForm&completionBotId=734601fc-bbcd-4a30-9092-3c89fxxxxxxx") } }; var attachments = new List<MessagingExtensionAttachment>(); attachments.Add(new MessagingExtensionAttachment { Content = card, ContentType = HeroCard.ContentType, Preview = card.ToAttachment(), }); return new MessagingExtensionActionResponse { ComposeExtension = new MessagingExtensionResult { AttachmentLayout = "list", Type = "result", Attachments = attachments, }, }; }
Video Link- https://youtu.be/ZGYDamLZhjI
We are referring the below sample-
Microsoft-Teams-Samples/TeamsMessagingExtensionsActionBot.cs at 8b5877c6d357e7fe5a261561f6521625312e0f41 · OfficeDev/Microsoft-Teams-Samples (github.com)
BazVanDenDungen
Jan 18, 2023Copper Contributor
Sayali-MSFT yes, while the card is in the compose area OR within the similar view from the command bar when you select it after doing the search.
I have tried both with a Deeplink button & link as well as an AdaptiveSubmitAction from the C# AdaptiveCards sdk to trigger the action.
Neither could be triggered until after the user posted the card in a chat/reply to the channel which does not fit in with our intended use-case.
Sayali-MSFT
Microsoft
Jan 23, 2023BazVanDenDungen -We have tried the below sample to achieve this-
Added one button and in value section added deep link. When we click on compose area button it will open the task module.
private MessagingExtensionActionResponse CreateCardCommand(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionAction action)
{
// The user has chosen to create a card by choosing the 'Create Card' context menu command.
var createCardData = ((JObject)action.Data).ToObject<CardResponse>();
var card = new HeroCard
{
Title = createCardData.Title,
Subtitle = createCardData.Subtitle,
Text =createCardData.Text,
Buttons = new List<CardAction> { new CardAction(ActionTypes.OpenUrl, "DeepLink", value: "https://teams.microsoft.com/l/task/XXXXX-bbcd-4a30-9092-3c89XXXXXXX?url=https://XXXX-118-185-XXX-XXX.ngrok.io/customform.html&height=430&width=510&title=CustomForm&completionBotId=734601fc-bbcd-4a30-9092-3c89fxxxxxxx") }
};
var attachments = new List<MessagingExtensionAttachment>();
attachments.Add(new MessagingExtensionAttachment
{
Content = card,
ContentType = HeroCard.ContentType,
Preview = card.ToAttachment(),
});
return new MessagingExtensionActionResponse
{
ComposeExtension = new MessagingExtensionResult
{
AttachmentLayout = "list",
Type = "result",
Attachments = attachments,
},
};
}
Video Link- https://youtu.be/ZGYDamLZhjI
We are referring the below sample-
Microsoft-Teams-Samples/TeamsMessagingExtensionsActionBot.cs at 8b5877c6d357e7fe5a261561f6521625312e0f41 · OfficeDev/Microsoft-Teams-Samples (github.com)
- BazVanDenDungenJan 31, 2023Copper Contributor
Sayali-MSFT I am unable to view the video you linked however when I tried making use of the deeplink method to invoke my task module it worked thanks!
As a follow up, is it intended that making use of the OnTeamsTaskModuleFetchAsync is only supported once the card has been posted to a chat/channel? I have been unable to trigger it via the adaptive card action AdaptiveSubmitAction until the card has been posted for other users to see.
- Sayali-MSFTFeb 01, 2023
Microsoft
BazVanDenDungen- Yes. OnTeamsTaskModuleFetchAsync is only supported once the card has been posted to a chat/channel.- BazVanDenDungenFeb 01, 2023Copper ContributorThank you for the clarification