//Constructor Through which the accessors get injected at the StartUp public BizTalkAdminBot(BizTalkAdminBotAccessors accessors, IConfiguration configuration) { //Connection Name is required to enable the Bot to connect to service providers through OAuth if (string.IsNullOrWhiteSpace(Constants.OAuthConnectionName)) { throw new ArgumentNullException("Connection name needs to be set in the Constants class"); } _accessors = accessors ?? throw new ArgumentNullException(nameof(accessors)); _configuration = configuration ?? throw new ArgumentException(nameof(configuration)); _storageAccountKey = _configuration["storageAccount"].ToString(); _dialogs = new DialogSet(_accessors.ConversationDialogState); _dialogs.Add(DialogHelpers.OAuthPrompt(Constants.OAuthConnectionName)); _dialogs.Add(new WaterfallDialog(Constants.RootDialogName, new WaterfallStep[] { PromptStepAsync, ProcessStepAsync })); }