diff --git a/packages/editor-ui/src/components/MainSidebar.vue b/packages/editor-ui/src/components/MainSidebar.vue
index 08707e76ce..cc8502a8a7 100644
--- a/packages/editor-ui/src/components/MainSidebar.vue
+++ b/packages/editor-ui/src/components/MainSidebar.vue
@@ -282,7 +282,7 @@ export default defineComponent({
icon: 'graduation-cap',
label: this.$locale.baseText('mainSidebar.helpMenuItems.course'),
link: {
- href: 'https://www.youtube.com/watch?v=1MwSoB0gnM4',
+ href: 'https://docs.n8n.io/courses/',
target: '_blank',
},
},
diff --git a/packages/editor-ui/src/components/PersonalizationModal.vue b/packages/editor-ui/src/components/PersonalizationModal.vue
index ce0c263dbd..3f74e06f4e 100644
--- a/packages/editor-ui/src/components/PersonalizationModal.vue
+++ b/packages/editor-ui/src/components/PersonalizationModal.vue
@@ -135,6 +135,7 @@ import {
REPORTED_SOURCE_OTHER,
REPORTED_SOURCE_OTHER_KEY,
VIEWS,
+ MORE_ONBOARDING_OPTIONS_EXPERIMENT,
} from '@/constants';
import { useToast } from '@/composables/useToast';
import Modal from '@/components/Modal.vue';
@@ -674,9 +675,12 @@ export default defineComponent({
methods: {
closeDialog() {
this.modalBus.emit('close');
+ const isPartOfOnboardingExperiment =
+ this.posthogStore.getVariant(MORE_ONBOARDING_OPTIONS_EXPERIMENT.name) ===
+ MORE_ONBOARDING_OPTIONS_EXPERIMENT.control;
// In case the redirect to homepage for new users didn't happen
// we try again after closing the modal
- if (this.$route.name !== VIEWS.HOMEPAGE) {
+ if (this.$route.name !== VIEWS.HOMEPAGE && !isPartOfOnboardingExperiment) {
void this.$router.replace({ name: VIEWS.HOMEPAGE });
}
},
diff --git a/packages/editor-ui/src/constants.ts b/packages/editor-ui/src/constants.ts
index daf788eb21..cf3c5bebb8 100644
--- a/packages/editor-ui/src/constants.ts
+++ b/packages/editor-ui/src/constants.ts
@@ -680,11 +680,18 @@ export const AI_ASSISTANT_EXPERIMENT = {
variant: 'variant',
};
+export const MORE_ONBOARDING_OPTIONS_EXPERIMENT = {
+ name: '022_more_onboarding_options',
+ control: 'control',
+ variant: 'variant',
+};
+
export const EXPERIMENTS_TO_TRACK = [
ASK_AI_EXPERIMENT.name,
TEMPLATE_CREDENTIAL_SETUP_EXPERIMENT,
CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT.name,
AI_ASSISTANT_EXPERIMENT.name,
+ MORE_ONBOARDING_OPTIONS_EXPERIMENT.name,
];
export const MFA_FORM = {
diff --git a/packages/editor-ui/src/plugins/i18n/locales/en.json b/packages/editor-ui/src/plugins/i18n/locales/en.json
index 2bdb52459a..7f94aec41c 100644
--- a/packages/editor-ui/src/plugins/i18n/locales/en.json
+++ b/packages/editor-ui/src/plugins/i18n/locales/en.json
@@ -2202,7 +2202,8 @@
"workflows.empty.description.readOnlyEnv": "No workflows here yet",
"workflows.empty.description.noPermission": "There are currently no workflows to view",
"workflows.empty.startFromScratch": "Start from scratch",
- "workflows.empty.browseTemplates": "Browse {category} templates",
+ "workflows.empty.browseTemplates": "Explore workflow templates",
+ "workflows.empty.learnN8n": "Learn n8n",
"workflows.empty.button.disabled.tooltip": "Your current role in the project does not allow you to create workflows",
"workflows.shareModal.title": "Share '{name}'",
"workflows.shareModal.title.static": "Shared with {projectName}",
diff --git a/packages/editor-ui/src/views/SetupView.vue b/packages/editor-ui/src/views/SetupView.vue
index eb67935bb0..c85735374c 100644
--- a/packages/editor-ui/src/views/SetupView.vue
+++ b/packages/editor-ui/src/views/SetupView.vue
@@ -13,11 +13,12 @@ import { defineComponent } from 'vue';
import { useToast } from '@/composables/useToast';
import type { IFormBoxConfig } from '@/Interface';
-import { VIEWS } from '@/constants';
+import { MORE_ONBOARDING_OPTIONS_EXPERIMENT, VIEWS } from '@/constants';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui.store';
import { useSettingsStore } from '@/stores/settings.store';
import { useUsersStore } from '@/stores/users.store';
+import { usePostHog } from '@/stores/posthog.store';
export default defineComponent({
name: 'SetupView',
@@ -91,12 +92,15 @@ export default defineComponent({
};
},
computed: {
- ...mapStores(useSettingsStore, useUIStore, useUsersStore),
+ ...mapStores(useSettingsStore, useUIStore, useUsersStore, usePostHog),
},
methods: {
async onSubmit(values: { [key: string]: string | boolean }) {
try {
const forceRedirectedHere = this.settingsStore.showSetupPage;
+ const isPartOfOnboardingExperiment =
+ this.posthogStore.getVariant(MORE_ONBOARDING_OPTIONS_EXPERIMENT.name) ===
+ MORE_ONBOARDING_OPTIONS_EXPERIMENT.variant;
this.loading = true;
await this.usersStore.createOwner(
values as { firstName: string; lastName: string; email: string; password: string },
@@ -109,7 +113,11 @@ export default defineComponent({
}
if (forceRedirectedHere) {
- await this.$router.push({ name: VIEWS.HOMEPAGE });
+ if (isPartOfOnboardingExperiment) {
+ await this.$router.push({ name: VIEWS.WORKFLOWS });
+ } else {
+ await this.$router.push({ name: VIEWS.NEW_WORKFLOW });
+ }
} else {
await this.$router.push({ name: VIEWS.USERS_SETTINGS });
}
diff --git a/packages/editor-ui/src/views/WorkflowsView.vue b/packages/editor-ui/src/views/WorkflowsView.vue
index 55e61c4fb1..564ff672a2 100644
--- a/packages/editor-ui/src/views/WorkflowsView.vue
+++ b/packages/editor-ui/src/views/WorkflowsView.vue
@@ -61,29 +61,14 @@
: $locale.baseText('workflows.empty.heading.userNotSetup')
}}
-