private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result) { var activity = await result as Activity; var message = context.MakeMessage(); message.Text = activity.Text; await context.PostAsync("about to call text analytics"); TextAnalytics textAnalytics = new TextAnalytics(); string response = await textAnalytics.Start(activity.Text); await context.PostAsync(response); await context.PostAsync("about to call qna"); QnAMaker qna = new QnAMaker(); response = await qna.TryQuery(activity.Text); await context.PostAsync(response); if (response.Contains("Fall Back Response")) { await context.PostAsync("about to call luis"); await context.Forward(new LUIS(), AfterLuis, activity, System.Threading.CancellationToken.None); context.Done(true); } }