diff --git a/src/components/custom/widget/WorkflowTemplateSelectorDialog.vue b/src/components/custom/widget/WorkflowTemplateSelectorDialog.vue index 751bc05742..eab22c01dd 100644 --- a/src/components/custom/widget/WorkflowTemplateSelectorDialog.vue +++ b/src/components/custom/widget/WorkflowTemplateSelectorDialog.vue @@ -382,7 +382,7 @@ diff --git a/src/composables/useWorkflowTemplateSelectorDialog.ts b/src/composables/useWorkflowTemplateSelectorDialog.ts index 558860af2b..db2993698f 100644 --- a/src/composables/useWorkflowTemplateSelectorDialog.ts +++ b/src/composables/useWorkflowTemplateSelectorDialog.ts @@ -13,8 +13,8 @@ export const useWorkflowTemplateSelectorDialog = () => { dialogStore.closeDialog({ key: DIALOG_KEY }) } - function show() { - useTelemetry()?.trackTemplateLibraryOpened({ source: 'command' }) + function show(source: 'sidebar' | 'menu' | 'command' = 'command') { + useTelemetry()?.trackTemplateLibraryOpened({ source }) dialogService.showLayoutDialog({ key: DIALOG_KEY, diff --git a/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts b/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts index b09041dab2..12f4eaa392 100644 --- a/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts +++ b/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts @@ -26,6 +26,7 @@ import type { TelemetryProvider, TemplateFilterMetadata, TemplateLibraryMetadata, + TemplateLibraryClosedMetadata, TemplateMetadata, WorkflowImportMetadata } from '../../types' @@ -235,6 +236,10 @@ export class MixpanelTelemetryProvider implements TelemetryProvider { this.trackEvent(TelemetryEvents.TEMPLATE_LIBRARY_OPENED, metadata) } + trackTemplateLibraryClosed(metadata: TemplateLibraryClosedMetadata): void { + this.trackEvent(TelemetryEvents.TEMPLATE_LIBRARY_CLOSED, metadata) + } + trackWorkflowImported(metadata: WorkflowImportMetadata): void { this.trackEvent(TelemetryEvents.WORKFLOW_IMPORTED, metadata) } diff --git a/src/platform/telemetry/types.ts b/src/platform/telemetry/types.ts index 71df735d2e..21e0a83dcb 100644 --- a/src/platform/telemetry/types.ts +++ b/src/platform/telemetry/types.ts @@ -122,6 +122,14 @@ export interface TemplateLibraryMetadata { source: 'sidebar' | 'menu' | 'command' } +/** + * Template library closed metadata + */ +export interface TemplateLibraryClosedMetadata { + template_selected: boolean + time_spent_seconds: number +} + /** * Page visibility metadata */ @@ -193,6 +201,7 @@ export interface TelemetryProvider { // Template workflow events trackTemplate(metadata: TemplateMetadata): void trackTemplateLibraryOpened(metadata: TemplateLibraryMetadata): void + trackTemplateLibraryClosed(metadata: TemplateLibraryClosedMetadata): void // Workflow management events trackWorkflowImported(metadata: WorkflowImportMetadata): void @@ -249,6 +258,7 @@ export const TelemetryEvents = { // Template Tracking TEMPLATE_WORKFLOW_OPENED: 'app:template_workflow_opened', TEMPLATE_LIBRARY_OPENED: 'app:template_library_opened', + TEMPLATE_LIBRARY_CLOSED: 'app:template_library_closed', // Workflow Management WORKFLOW_IMPORTED: 'app:workflow_imported', @@ -289,6 +299,7 @@ export type TelemetryEventProperties = | CreditTopupMetadata | WorkflowImportMetadata | TemplateLibraryMetadata + | TemplateLibraryClosedMetadata | PageVisibilityMetadata | TabCountMetadata | NodeSearchMetadata