private async Task <DialogTurnResult> PromptWithAdaptiveCardAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { // Define choices var choices = new[] { "One", "Two", "Three" }; // Create card var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)) { // Use LINQ to turn the choices into submit actions Actions = choices.Select(choice => new AdaptiveSubmitAction { Title = choice, Data = choice, // This will be a string }).ToList <AdaptiveAction>(), }; // Prompt return(await stepContext.PromptAsync( CHOICEPROMPT, new PromptOptions { Prompt = (Activity)MessageFactory.Attachment(new Attachment { ContentType = AdaptiveCard.ToString(), // Convert the AdaptiveCard to a JObject Content = JObject.FromObject(card), }), Choices = ChoiceFactory.ToChoices(choices), // Don't render the choices outside the card Style = ListStyle.None, }, cancellationToken)); }