public ActionResult SaveSynchronization(SendInBlueModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Configure());
            }

            var storeId            = GetActiveStoreScopeConfiguration(_storeService, _workContext);
            var sendInBlueSettings = _settingService.LoadSetting <SendInBlueSettings>(storeId);

            //create or update synchronization task
            var task = FindScheduledTask();

            if (task != null)
            {
                task.Enabled = model.AutoSync;
                task.Seconds = model.AutoSyncEachMinutes * 60;
                _scheduleTaskService.UpdateTask(task);
            }
            else
            {
                _scheduleTaskService.InsertTask(new ScheduleTask
                {
                    Name    = "SendInBlue synchronization",
                    Seconds = model.AutoSyncEachMinutes * 60,
                    Enabled = model.AutoSync,
                    Type    = "Nop.Plugin.Misc.SendInBlue.Services.SendInBlueSynchronizationTask, Nop.Plugin.Misc.SendInBlue",
                });
            }
            if (model.AutoSync)
            {
                SuccessNotification(_localizationService.GetResource("Plugins.Misc.SendInBlue.AutoSyncRestart"));
            }

            //create store_id attribute (if not exists) in SendInBlue account
            _sendInBlueEmailManager.PrepareStoreAttribute();

            //set notify url for the importing process
            var currentStore = storeId == 0 ? _storeService.GetAllStores().FirstOrDefault() : _storeService.GetStoreById(storeId);

            sendInBlueSettings.UrlSync = string.Format("{0}{1}", currentStore.Url.TrimEnd('/'), Url.RouteUrl("Plugin.Misc.SendInBlue.ImportUsers"));
            _settingService.SaveSetting(sendInBlueSettings, x => x.UrlSync, storeId, false);

            //create webhook for the unsubscribing event
            var unsubscribeUrl = string.Format("{0}{1}", currentStore.Url.TrimEnd('/'), Url.RouteUrl("Plugin.Misc.SendInBlue.Unsubscribe"));

            sendInBlueSettings.UnsubscribeWebhookId = _sendInBlueEmailManager.GetUnsubscribeWebHookId(sendInBlueSettings.UnsubscribeWebhookId, unsubscribeUrl);
            _settingService.SaveSetting(sendInBlueSettings, x => x.UnsubscribeWebhookId, storeId, false);

            //set list for the synchronization
            sendInBlueSettings.ListId = model.ListId > 0 ? model.ListId : _sendInBlueEmailManager.CreateNewList(model.NewListName);
            _settingService.SaveSettingOverridablePerStore(sendInBlueSettings, x => x.ListId, model.ListId_OverrideForStore, storeId, false);

            //now clear settings cache
            _settingService.ClearCache();

            SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved"));

            //select "synchronization" tab
            SaveSelectedTabName("tab-synchronization");

            return(Configure());
        }