/// <summary> /// Handles O365 connector card action queries. /// </summary> /// <param name="activity">Incoming request from Bot Framework.</param> /// <param name="connectorClient">Connector client instance for posting to Bot Framework.</param> /// <returns>Task tracking operation.</returns> private static async Task <HttpResponseMessage> HandleO365ConnectorCardActionQuery(Activity activity) { var connectorClient = new ConnectorClient(new Uri(activity.ServiceUrl)); // Get O365 connector card query data. O365ConnectorCardActionQuery o365CardQuery = activity.GetO365ConnectorCardActionQueryData(); Activity replyActivity = activity.CreateReply(); replyActivity.TextFormat = "xml"; replyActivity.Text = $@" <h2>Thanks, {activity.From.Name}</h2><br/> <h3>Your input action ID:</h3><br/> <pre>{o365CardQuery.ActionId}</pre><br/> <h3>Your input body:</h3><br/> <pre>{o365CardQuery.Body}</pre> "; await connectorClient.Conversations.ReplyToActivityWithRetriesAsync(replyActivity); return(new HttpResponseMessage(HttpStatusCode.OK)); }