diff --git a/packages/editor-ui/src/components/CredentialPicker/CredentialPicker.vue b/packages/editor-ui/src/components/CredentialPicker/CredentialPicker.vue index eb945a7ab..4a65f49e5 100644 --- a/packages/editor-ui/src/components/CredentialPicker/CredentialPicker.vue +++ b/packages/editor-ui/src/components/CredentialPicker/CredentialPicker.vue @@ -24,6 +24,7 @@ const props = defineProps({ const $emit = defineEmits({ credentialSelected: (_credentialId: string) => true, credentialDeselected: () => true, + credentialModalOpened: () => true, }); const uiStore = useUIStore(); @@ -47,10 +48,12 @@ const onCredentialSelected = (credentialId: string) => { }; const createNewCredential = () => { uiStore.openNewCredential(props.credentialType, true); + $emit('credentialModalOpened'); }; const editCredential = () => { assert(props.selectedCredentialId); uiStore.openExistingCredential(props.selectedCredentialId); + $emit('credentialModalOpened'); }; listenForCredentialChanges({ diff --git a/packages/editor-ui/src/views/SetupWorkflowFromTemplateView/SetupTemplateFormStep.vue b/packages/editor-ui/src/views/SetupWorkflowFromTemplateView/SetupTemplateFormStep.vue index ae67e6d21..f9ba10322 100644 --- a/packages/editor-ui/src/views/SetupWorkflowFromTemplateView/SetupTemplateFormStep.vue +++ b/packages/editor-ui/src/views/SetupWorkflowFromTemplateView/SetupTemplateFormStep.vue @@ -12,6 +12,7 @@ import type { CredentialUsages } from '@/views/SetupWorkflowFromTemplateView/set import { useSetupTemplateStore } from '@/views/SetupWorkflowFromTemplateView/setupTemplate.store'; import type { IWorkflowTemplateNode } from '@/Interface'; import { useI18n } from '@/composables/useI18n'; +import { useTelemetry } from '@/composables/useTelemetry'; // Props const props = defineProps({ @@ -29,6 +30,7 @@ const props = defineProps({ const setupTemplateStore = useSetupTemplateStore(); const nodeTypesStore = useNodeTypesStore(); const i18n = useI18n(); +const telemetry = useTelemetry(); //#region Computed @@ -66,6 +68,20 @@ const onCredentialDeselected = () => { setupTemplateStore.unsetSelectedCredential(props.credentials.key); }; +const onCredentialModalOpened = () => { + telemetry.track( + 'User opened Credential modal', + { + source: 'cred_setup', + credentialType: props.credentials.credentialType, + new_credential: !selectedCredentialId.value, + }, + { + withPostHog: true, + }, + ); +}; + //#endregion Methods @@ -98,6 +114,7 @@ const onCredentialDeselected = () => { :selectedCredentialId="selectedCredentialId" @credential-selected="onCredentialSelected" @credential-deselected="onCredentialDeselected" + @credential-modal-opened="onCredentialModalOpened" />