@n8n/telemetry 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -703,6 +703,7 @@ export declare const TELEMETRY_EVENT: {
703
703
  dropdown: "dropdown";
704
704
  }>;
705
705
  agent_id: import("zod/v4").ZodString;
706
+ manual: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
706
707
  session_id: import("zod/v4").ZodString;
707
708
  }, import("zod/v4/core").$strip>;
708
709
  } & import("./define").TelemetryEventInput & {
@@ -876,6 +877,95 @@ export declare const TELEMETRY_EVENT: {
876
877
  };
877
878
  };
878
879
  CREDENTIALS: {
880
+ readonly USER_CREATED_CREDENTIALS: {
881
+ readonly name: "User created credentials";
882
+ readonly description: "A credential was created. The server sets source to backend and reports description metadata. Existing editor events omit these properties. Description text is never included.";
883
+ readonly properties: import("zod/v4").ZodObject<{
884
+ credential_id: import("zod/v4").ZodString;
885
+ credential_type: import("zod/v4").ZodString;
886
+ source: import("zod/v4").ZodOptional<import("zod/v4").ZodLiteral<"backend">>;
887
+ public_api: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
888
+ has_description: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
889
+ description_length: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
890
+ user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
891
+ user_role: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
892
+ project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
893
+ project_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
894
+ workflow_id: import("zod/v4").ZodOptional<import("zod/v4").ZodNullable<import("zod/v4").ZodString>>;
895
+ uiContext: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
896
+ is_private: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
897
+ uses_external_secrets: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
898
+ jwe_enabled: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
899
+ credential_supports_managed_auth: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
900
+ credential_uses_managed_auth: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
901
+ }, import("zod/v4/core").$strip>;
902
+ } & import("./define").TelemetryEventInput & {
903
+ readonly getValidationError: (properties: unknown) => string | null;
904
+ };
905
+ readonly USER_UPDATED_CREDENTIALS: {
906
+ readonly name: "User updated credentials";
907
+ readonly description: "The server updated a credential through the internal credential API. Description metadata comes from the saved record. Description text is never included.";
908
+ readonly properties: import("zod/v4").ZodObject<{
909
+ has_description: import("zod/v4").ZodBoolean;
910
+ description_length: import("zod/v4").ZodNumber;
911
+ user_id: import("zod/v4").ZodString;
912
+ user_role: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
913
+ credential_id: import("zod/v4").ZodString;
914
+ credential_type: import("zod/v4").ZodString;
915
+ source: import("zod/v4").ZodLiteral<"backend">;
916
+ is_private: import("zod/v4").ZodBoolean;
917
+ uses_external_secrets: import("zod/v4").ZodBoolean;
918
+ jwe_enabled: import("zod/v4").ZodBoolean;
919
+ credential_supports_managed_auth: import("zod/v4").ZodBoolean;
920
+ credential_uses_managed_auth: import("zod/v4").ZodBoolean;
921
+ }, import("zod/v4/core").$strip>;
922
+ } & import("./define").TelemetryEventInput & {
923
+ readonly getValidationError: (properties: unknown) => string | null;
924
+ };
925
+ readonly USER_STARTED_CREDENTIAL_CONNECTION: {
926
+ readonly name: "User started credential connection";
927
+ readonly description: "The user started a connection attempt or selected an existing credential in the setup panel. Includes retries.";
928
+ readonly properties: import("zod/v4").ZodObject<{
929
+ source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
930
+ workflow_id: import("zod/v4").ZodString;
931
+ thread_id: import("zod/v4").ZodString;
932
+ credential_type: import("zod/v4").ZodString;
933
+ method: import("zod/v4").ZodEnum<{
934
+ advanced: "advanced";
935
+ api_key: "api_key";
936
+ existing: "existing";
937
+ gateway: "gateway";
938
+ oauth: "oauth";
939
+ }>;
940
+ }, import("zod/v4/core").$strip>;
941
+ } & import("./define").TelemetryEventInput & {
942
+ readonly getValidationError: (properties: unknown) => string | null;
943
+ };
944
+ readonly USER_COMPLETED_CREDENTIAL_CONNECTION: {
945
+ readonly name: "User completed credential connection";
946
+ readonly description: "A setup-panel credential was selected or connected and its workflow binding was applied or queued. This does not report workflow validation.";
947
+ readonly properties: import("zod/v4").ZodObject<{
948
+ source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
949
+ workflow_id: import("zod/v4").ZodString;
950
+ thread_id: import("zod/v4").ZodString;
951
+ credential_type: import("zod/v4").ZodString;
952
+ credential_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
953
+ method: import("zod/v4").ZodEnum<{
954
+ advanced: "advanced";
955
+ api_key: "api_key";
956
+ existing: "existing";
957
+ gateway: "gateway";
958
+ oauth: "oauth";
959
+ }>;
960
+ binding_state: import("zod/v4").ZodEnum<{
961
+ applied: "applied";
962
+ noop: "noop";
963
+ queued: "queued";
964
+ }>;
965
+ }, import("zod/v4/core").$strip>;
966
+ } & import("./define").TelemetryEventInput & {
967
+ readonly getValidationError: (properties: unknown) => string | null;
968
+ };
879
969
  readonly USER_PROBED_CREDENTIAL: {
880
970
  readonly name: "User probed credential";
881
971
  readonly description: "A stored credential was auth-probed against its own persisted test URL (POST /credentials/:id/probe) — the test path for generic credential types that declare no test, currently Simplified Custom Auth. Fires once per probe, including retries. The outcome is the probe's three-state verdict; joins to 'User created credentials' on credential_id.";
@@ -892,6 +982,189 @@ export declare const TELEMETRY_EVENT: {
892
982
  readonly getValidationError: (properties: unknown) => string | null;
893
983
  };
894
984
  };
985
+ CONTEXT: {
986
+ readonly USER_CREATED_PREFERENCE: {
987
+ readonly name: "User created preference";
988
+ readonly description: "A user saved a new preference from the Context settings area. Fires once the save succeeds, so opening the modal and cancelling reports nothing.";
989
+ readonly properties: import("zod/v4").ZodObject<{
990
+ scope_type: import("zod/v4").ZodEnum<{
991
+ instance: "instance";
992
+ project: "project";
993
+ user: "user";
994
+ }>;
995
+ text_length: import("zod/v4").ZodNumber;
996
+ project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
997
+ }, import("zod/v4/core").$strip>;
998
+ } & import("./define").TelemetryEventInput & {
999
+ readonly getValidationError: (properties: unknown) => string | null;
1000
+ };
1001
+ readonly USER_UPDATED_PREFERENCE: {
1002
+ readonly name: "User updated preference";
1003
+ readonly description: "A user saved an edit to an existing preference. Fires once the save succeeds. Reports the resulting scope, not the prior one; `scope_changed` tells them apart.";
1004
+ readonly properties: import("zod/v4").ZodObject<{
1005
+ scope_type: import("zod/v4").ZodEnum<{
1006
+ instance: "instance";
1007
+ project: "project";
1008
+ user: "user";
1009
+ }>;
1010
+ text_length: import("zod/v4").ZodNumber;
1011
+ scope_changed: import("zod/v4").ZodBoolean;
1012
+ project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1013
+ }, import("zod/v4/core").$strip>;
1014
+ } & import("./define").TelemetryEventInput & {
1015
+ readonly getValidationError: (properties: unknown) => string | null;
1016
+ };
1017
+ readonly USER_DELETED_PREFERENCES: {
1018
+ readonly name: "User deleted preferences";
1019
+ readonly description: "A user deleted one or more preferences. One event covers a single row action and a bulk delete; `source` tells them apart and `count` carries how many went. Fires after the delete succeeds and the confirmation was accepted.";
1020
+ readonly properties: import("zod/v4").ZodObject<{
1021
+ count: import("zod/v4").ZodNumber;
1022
+ source: import("zod/v4").ZodEnum<{
1023
+ bulk: "bulk";
1024
+ row: "row";
1025
+ }>;
1026
+ scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
1027
+ instance: "instance";
1028
+ project: "project";
1029
+ user: "user";
1030
+ }>>;
1031
+ }, import("zod/v4/core").$strip>;
1032
+ } & import("./define").TelemetryEventInput & {
1033
+ readonly getValidationError: (properties: unknown) => string | null;
1034
+ };
1035
+ readonly PREFERENCES_APPLIED_TO_TURN: {
1036
+ readonly name: "Preferences applied to a turn";
1037
+ readonly description: "A turn was built with the saved preferences available to it. Fires once for each turn that ran the preferences path, including a turn that applied none, so the share of turns with preferences is computable. CONTEXT-139 fires it.";
1038
+ readonly properties: import("zod/v4").ZodObject<{
1039
+ count: import("zod/v4").ZodNumber;
1040
+ scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
1041
+ instance: "instance";
1042
+ project: "project";
1043
+ user: "user";
1044
+ }>>;
1045
+ rendered_length: import("zod/v4").ZodNumber;
1046
+ surface: import("zod/v4").ZodEnum<{
1047
+ aia: "aia";
1048
+ mcp: "mcp";
1049
+ }>;
1050
+ injected_this_turn: import("zod/v4").ZodBoolean;
1051
+ turn_latency_ms: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
1052
+ turn_token_count: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
1053
+ }, import("zod/v4/core").$strip>;
1054
+ } & import("./define").TelemetryEventInput & {
1055
+ readonly getValidationError: (properties: unknown) => string | null;
1056
+ };
1057
+ readonly ASSISTANT_SAVED_PREFERENCE: {
1058
+ readonly name: "Assistant saved preference";
1059
+ readonly description: "An AI surface created or updated a preference on the user behalf, after the user accepted it. Kept apart from the UI events so an assistant write is never counted as a person writing in settings. CONTEXT-138 fires it.";
1060
+ readonly properties: import("zod/v4").ZodObject<{
1061
+ surface: import("zod/v4").ZodEnum<{
1062
+ aia: "aia";
1063
+ mcp: "mcp";
1064
+ }>;
1065
+ scope_type: import("zod/v4").ZodEnum<{
1066
+ instance: "instance";
1067
+ project: "project";
1068
+ user: "user";
1069
+ }>;
1070
+ text_length: import("zod/v4").ZodNumber;
1071
+ replaced_existing: import("zod/v4").ZodBoolean;
1072
+ }, import("zod/v4/core").$strip>;
1073
+ } & import("./define").TelemetryEventInput & {
1074
+ readonly getValidationError: (properties: unknown) => string | null;
1075
+ };
1076
+ readonly PREFERENCE_CONFIRMATION_SHOWN: {
1077
+ readonly name: "Preference confirmation shown";
1078
+ readonly description: "The assistant proposed a preference and the confirmation card was shown. Fires when the card appears, whatever the user does next. CONTEXT-138 fires it.";
1079
+ readonly properties: import("zod/v4").ZodObject<{
1080
+ surface: import("zod/v4").ZodEnum<{
1081
+ aia: "aia";
1082
+ mcp: "mcp";
1083
+ }>;
1084
+ scope_type: import("zod/v4").ZodEnum<{
1085
+ instance: "instance";
1086
+ project: "project";
1087
+ user: "user";
1088
+ }>;
1089
+ text_length: import("zod/v4").ZodNumber;
1090
+ }, import("zod/v4/core").$strip>;
1091
+ } & import("./define").TelemetryEventInput & {
1092
+ readonly getValidationError: (properties: unknown) => string | null;
1093
+ };
1094
+ readonly PREFERENCE_CONFIRMATION_RESOLVED: {
1095
+ readonly name: "Preference confirmation resolved";
1096
+ readonly description: "The user answered a preference confirmation. A high `rejected` share means the assistant proposes the wrong preferences, and no other number shows that. CONTEXT-138 fires it.";
1097
+ readonly properties: import("zod/v4").ZodObject<{
1098
+ surface: import("zod/v4").ZodEnum<{
1099
+ aia: "aia";
1100
+ mcp: "mcp";
1101
+ }>;
1102
+ outcome: import("zod/v4").ZodEnum<{
1103
+ accepted: "accepted";
1104
+ accepted_after_edit: "accepted_after_edit";
1105
+ rejected: "rejected";
1106
+ }>;
1107
+ scope_type: import("zod/v4").ZodEnum<{
1108
+ instance: "instance";
1109
+ project: "project";
1110
+ user: "user";
1111
+ }>;
1112
+ text_length: import("zod/v4").ZodNumber;
1113
+ }, import("zod/v4/core").$strip>;
1114
+ } & import("./define").TelemetryEventInput & {
1115
+ readonly getValidationError: (properties: unknown) => string | null;
1116
+ };
1117
+ readonly PREFERENCE_SCOPE_ACCEPTED: {
1118
+ readonly name: "Preference scope accepted";
1119
+ readonly description: "The scope the user accepted against the scope the assistant offered. Shows whether the assistant reads the difference between a personal habit and a team rule. Fires only on an accepted write. CONTEXT-138 and the scope ticket fire it.";
1120
+ readonly properties: import("zod/v4").ZodObject<{
1121
+ surface: import("zod/v4").ZodEnum<{
1122
+ aia: "aia";
1123
+ mcp: "mcp";
1124
+ }>;
1125
+ offered_scope: import("zod/v4").ZodEnum<{
1126
+ instance: "instance";
1127
+ project: "project";
1128
+ user: "user";
1129
+ }>;
1130
+ accepted_scope: import("zod/v4").ZodEnum<{
1131
+ instance: "instance";
1132
+ project: "project";
1133
+ user: "user";
1134
+ }>;
1135
+ scope_changed: import("zod/v4").ZodBoolean;
1136
+ }, import("zod/v4/core").$strip>;
1137
+ } & import("./define").TelemetryEventInput & {
1138
+ readonly getValidationError: (properties: unknown) => string | null;
1139
+ };
1140
+ readonly PREFERENCE_WRITE_REJECTED: {
1141
+ readonly name: "Preference write rejected";
1142
+ readonly description: "A preference write was refused before it reached the database. Separates a rule the code applied from a user saying no, which is `Preference confirmation resolved`. CONTEXT-138 fires it.";
1143
+ readonly properties: import("zod/v4").ZodObject<{
1144
+ surface: import("zod/v4").ZodEnum<{
1145
+ aia: "aia";
1146
+ mcp: "mcp";
1147
+ ui: "ui";
1148
+ }>;
1149
+ reason: import("zod/v4").ZodEnum<{
1150
+ blocked_by_admin: "blocked_by_admin";
1151
+ duplicate: "duplicate";
1152
+ failed: "failed";
1153
+ not_permitted: "not_permitted";
1154
+ scope_full: "scope_full";
1155
+ too_long: "too_long";
1156
+ }>;
1157
+ scope_type: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1158
+ instance: "instance";
1159
+ project: "project";
1160
+ user: "user";
1161
+ }>>;
1162
+ text_length: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
1163
+ }, import("zod/v4/core").$strip>;
1164
+ } & import("./define").TelemetryEventInput & {
1165
+ readonly getValidationError: (properties: unknown) => string | null;
1166
+ };
1167
+ };
895
1168
  INSTANCE: {
896
1169
  readonly INSTANCE_STARTED: {
897
1170
  readonly name: "Instance started";
@@ -997,9 +1270,57 @@ export declare const TELEMETRY_EVENT: {
997
1270
  };
998
1271
  };
999
1272
  INSTANCE_AI: {
1273
+ readonly SETUP_PANEL_STATE_OBSERVED: {
1274
+ readonly name: "AI Assistant setup panel state observed";
1275
+ readonly description: "The setup panel observed a new requirement snapshot. Also fires when no setup is needed, including workflows whose credentials were already connected.";
1276
+ readonly properties: import("zod/v4").ZodObject<{
1277
+ workflow_id: import("zod/v4").ZodString;
1278
+ thread_id: import("zod/v4").ZodString;
1279
+ credential_count: import("zod/v4").ZodNumber;
1280
+ pending_credential_count: import("zod/v4").ZodNumber;
1281
+ pending_parameter_count: import("zod/v4").ZodNumber;
1282
+ already_connected_count: import("zod/v4").ZodNumber;
1283
+ }, import("zod/v4/core").$strip>;
1284
+ } & import("./define").TelemetryEventInput & {
1285
+ readonly getValidationError: (properties: unknown) => string | null;
1286
+ };
1287
+ readonly SETUP_PANEL_ITEM_SHOWN: {
1288
+ readonly name: "AI Assistant setup panel item shown";
1289
+ readonly description: "A setup checklist row became visible. Reopening the same row within the mounted panel does not emit another event.";
1290
+ readonly properties: import("zod/v4").ZodObject<{
1291
+ workflow_id: import("zod/v4").ZodString;
1292
+ thread_id: import("zod/v4").ZodString;
1293
+ kind: import("zod/v4").ZodEnum<{
1294
+ credential: "credential";
1295
+ details: "details";
1296
+ parameters: "parameters";
1297
+ }>;
1298
+ credential_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1299
+ parameter_count: import("zod/v4").ZodNumber;
1300
+ }, import("zod/v4/core").$strip>;
1301
+ } & import("./define").TelemetryEventInput & {
1302
+ readonly getValidationError: (properties: unknown) => string | null;
1303
+ };
1304
+ readonly SETUP_PANEL_DISMISSED: {
1305
+ readonly name: "AI Assistant setup panel dismissed";
1306
+ readonly description: "A visible setup panel closed. The reason separates navigation and removed requirements from a finished execution or an explicit dismissal.";
1307
+ readonly properties: import("zod/v4").ZodObject<{
1308
+ workflow_id: import("zod/v4").ZodString;
1309
+ thread_id: import("zod/v4").ZodString;
1310
+ reason: import("zod/v4").ZodEnum<{
1311
+ execution_finished: "execution_finished";
1312
+ execution_succeeded: "execution_succeeded";
1313
+ items_removed: "items_removed";
1314
+ navigation: "navigation";
1315
+ user_dismissed: "user_dismissed";
1316
+ }>;
1317
+ }, import("zod/v4/core").$strip>;
1318
+ } & import("./define").TelemetryEventInput & {
1319
+ readonly getValidationError: (properties: unknown) => string | null;
1320
+ };
1000
1321
  readonly USER_CLICKED_AI_CREDIT_BALANCE: {
1001
1322
  readonly name: "User clicked AI credit balance";
1002
- readonly description: "The user clicked the AI Assistant credit balance button to open or close the balance dropdown.";
1323
+ readonly description: "The user clicked the n8n Assistant credit balance button to open or close the balance dropdown.";
1003
1324
  readonly properties: import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>;
1004
1325
  } & import("./define").TelemetryEventInput & {
1005
1326
  readonly getValidationError: (properties: unknown) => string | null;
@@ -1040,7 +1361,7 @@ export declare const TELEMETRY_EVENT: {
1040
1361
  };
1041
1362
  readonly OPEN_BY_DEFAULT_NOTIFICATION_SHOWN: {
1042
1363
  readonly name: "Open in assistant notification shown";
1043
- readonly description: "The open-by-default experiment notification rendered after a workflow list card auto-opened in the AI Assistant.";
1364
+ readonly description: "The open-by-default experiment notification rendered after a workflow list card auto-opened in the n8n Assistant.";
1044
1365
  readonly properties: import("zod/v4").ZodObject<{
1045
1366
  workflow_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
1046
1367
  variant: import("zod/v4").ZodEnum<{
@@ -1079,7 +1400,7 @@ export declare const TELEMETRY_EVENT: {
1079
1400
  };
1080
1401
  readonly DEFAULT_EDITOR_PREFERENCE_CHANGED: {
1081
1402
  readonly name: "Default editor preference changed";
1082
- readonly description: "The user saved the default-editor preference on the AI Assistant settings page.";
1403
+ readonly description: "The user saved the default-editor preference on the n8n Assistant settings page.";
1083
1404
  readonly properties: import("zod/v4").ZodObject<{
1084
1405
  value: import("zod/v4").ZodEnum<{
1085
1406
  assistant: "assistant";
@@ -1117,14 +1438,14 @@ export declare const TELEMETRY_EVENT: {
1117
1438
  };
1118
1439
  readonly USER_CLICKED_AI_ASSISTANT_INPUT_PLUS_BUTTON: {
1119
1440
  readonly name: "User clicked AI Assistant input plus button";
1120
- readonly description: "The user clicked the plus button in the AI Assistant input.";
1441
+ readonly description: "The user clicked the plus button in the n8n Assistant input.";
1121
1442
  readonly properties: import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>;
1122
1443
  } & import("./define").TelemetryEventInput & {
1123
1444
  readonly getValidationError: (properties: unknown) => string | null;
1124
1445
  };
1125
1446
  readonly TOOLS_LIST_OPENED: {
1126
1447
  readonly name: "Instance AI tools list opened";
1127
- readonly description: "The user opened the AI Assistant tools connection modal.";
1448
+ readonly description: "The user opened the n8n Assistant tools connection modal.";
1128
1449
  readonly properties: import("zod/v4").ZodObject<{
1129
1450
  source: import("zod/v4").ZodEnum<{
1130
1451
  input_menu: "input_menu";
@@ -1136,7 +1457,7 @@ export declare const TELEMETRY_EVENT: {
1136
1457
  };
1137
1458
  readonly MCP_SETTINGS_OPENED: {
1138
1459
  readonly name: "Instance AI mcp settings opened";
1139
- readonly description: "The user opened settings for an MCP connection in the AI Assistant.";
1460
+ readonly description: "The user opened settings for an MCP connection in the n8n Assistant.";
1140
1461
  readonly properties: import("zod/v4").ZodObject<{
1141
1462
  server_slug: import("zod/v4").ZodString;
1142
1463
  source: import("zod/v4").ZodEnum<{
@@ -1227,11 +1548,46 @@ export declare const TELEMETRY_EVENT: {
1227
1548
  };
1228
1549
  readonly BROWSER_USE_DIRECT_CONNECT_REQUESTED: {
1229
1550
  readonly name: "Instance AI Browser Use direct connect requested";
1230
- readonly description: "The AI Assistant requested a direct connection through the Browser Use extension.";
1551
+ readonly description: "The n8n Assistant requested a direct connection through the Browser Use extension.";
1231
1552
  readonly properties: import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>;
1232
1553
  } & import("./define").TelemetryEventInput & {
1233
1554
  readonly getValidationError: (properties: unknown) => string | null;
1234
1555
  };
1556
+ readonly USER_RECEIVED_AI_ASSISTANT_RESPONSE: {
1557
+ readonly name: "User received AI Assistant response";
1558
+ readonly description: "The initial foreground AI Assistant reply was rendered after a user submitted a chat message. Starts before attachment processing and first-thread creation, then fires once when the initial run completes or pauses for user input. Automated follow-up runs do not create another sample.";
1559
+ readonly properties: import("zod/v4").ZodObject<{
1560
+ instance_id: import("zod/v4").ZodString;
1561
+ thread_id: import("zod/v4").ZodString;
1562
+ run_id: import("zod/v4").ZodString;
1563
+ latency_ms: import("zod/v4").ZodNumber;
1564
+ is_first_user_message: import("zod/v4").ZodBoolean;
1565
+ response_kind: import("zod/v4").ZodEnum<{
1566
+ awaiting_input: "awaiting_input";
1567
+ completed: "completed";
1568
+ }>;
1569
+ action_source: import("zod/v4").ZodEnum<{
1570
+ agent_builder_page: "agent_builder_page";
1571
+ agent_preview: "agent_preview";
1572
+ assistant_page: "assistant_page";
1573
+ canvas_action_button: "canvas_action_button";
1574
+ canvas_choice_prompt: "canvas_choice_prompt";
1575
+ credential_edit: "credential_edit";
1576
+ credentials_list: "credentials_list";
1577
+ evals: "evals";
1578
+ node_error_view: "node_error_view";
1579
+ playwright: "playwright";
1580
+ "template-view": "template-view";
1581
+ unknown: "unknown";
1582
+ "website-template": "website-template";
1583
+ workflow_list_auto: "workflow_list_auto";
1584
+ workflow_list_button: "workflow_list_button";
1585
+ }>;
1586
+ tab_visible: import("zod/v4").ZodBoolean;
1587
+ }, import("zod/v4/core").$strip>;
1588
+ } & import("./define").TelemetryEventInput & {
1589
+ readonly getValidationError: (properties: unknown) => string | null;
1590
+ };
1235
1591
  readonly COMPUTER_USE_MODAL_OPENED: {
1236
1592
  readonly name: "User opened computer use connection modal";
1237
1593
  readonly description: "The user opened the Computer Use connection interface.";
@@ -1276,7 +1632,7 @@ export declare const TELEMETRY_EVENT: {
1276
1632
  };
1277
1633
  readonly USER_VIEWED_AI_ASSISTANT_SETUP_PAGE: {
1278
1634
  readonly name: "User viewed AI Assistant setup page";
1279
- readonly description: "The user landed on a self-hosted AI Assistant setup surface: the onboarding takeover on /assistant, or the settings page on /settings/assistant. Carries the configuration snapshot at view time, so joined with \"AI Assistant setup completed\" it measures setup drop-off. Not emitted on cloud or proxy deployments, where setup is managed.";
1635
+ readonly description: "The user landed on a self-hosted n8n Assistant setup surface: the onboarding takeover on /assistant, or the settings page on /settings/assistant. Carries the configuration snapshot at view time, so joined with \"AI Assistant setup completed\" it measures setup drop-off. Not emitted on cloud or proxy deployments, where setup is managed.";
1280
1636
  readonly properties: import("zod/v4").ZodObject<{
1281
1637
  model_source: import("zod/v4").ZodEnum<{
1282
1638
  env: "env";
@@ -1314,7 +1670,7 @@ export declare const TELEMETRY_EVENT: {
1314
1670
  };
1315
1671
  readonly USER_CONFIGURED_AI_ASSISTANT_MODEL: {
1316
1672
  readonly name: "User configured AI Assistant model";
1317
- readonly description: "An admin saved an AI Assistant model connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_provider is absent. The event marks a saved configuration, not a verified one — the setup wizard verifies before saving, but a direct API save can skip verification. Env-var model config never emits this; it is visible on \"Instance started\" and on the snapshot events instead.";
1673
+ readonly description: "An admin saved an n8n Assistant model connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_provider is absent. The event marks a saved configuration, not a verified one — the setup wizard verifies before saving, but a direct API save can skip verification. Env-var model config never emits this; it is visible on \"Instance started\" and on the snapshot events instead.";
1318
1674
  readonly properties: import("zod/v4").ZodObject<{
1319
1675
  provider: import("zod/v4").ZodString;
1320
1676
  model: import("zod/v4").ZodString;
@@ -1326,7 +1682,7 @@ export declare const TELEMETRY_EVENT: {
1326
1682
  };
1327
1683
  readonly USER_CONFIGURED_AI_ASSISTANT_SANDBOX: {
1328
1684
  readonly name: "User configured AI Assistant sandbox";
1329
- readonly description: "An admin saved an AI Assistant sandbox connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_sandbox_type is absent. Env-var sandbox config never emits this.";
1685
+ readonly description: "An admin saved an n8n Assistant sandbox connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_sandbox_type is absent. Env-var sandbox config never emits this.";
1330
1686
  readonly properties: import("zod/v4").ZodObject<{
1331
1687
  sandbox_type: import("zod/v4").ZodEnum<{
1332
1688
  daytona: "daytona";
@@ -1342,7 +1698,7 @@ export declare const TELEMETRY_EVENT: {
1342
1698
  };
1343
1699
  readonly USER_CONFIGURED_AI_ASSISTANT_WEB_SEARCH: {
1344
1700
  readonly name: "User configured AI Assistant web search";
1345
- readonly description: "An admin saved an AI Assistant web search connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_provider is absent. Explicitly disabling web search does not emit this; that decision is visible as web_search_source \"disabled\" on the snapshot events.";
1701
+ readonly description: "An admin saved an n8n Assistant web search connection (PUT /instance-ai/settings), covering the first connect, later changes, and same-provider key rotations: first connects are rows where previous_provider is absent. Explicitly disabling web search does not emit this; that decision is visible as web_search_source \"disabled\" on the snapshot events.";
1346
1702
  readonly properties: import("zod/v4").ZodObject<{
1347
1703
  provider: import("zod/v4").ZodEnum<{
1348
1704
  brave: "brave";
@@ -1383,7 +1739,7 @@ export declare const TELEMETRY_EVENT: {
1383
1739
  };
1384
1740
  readonly AI_ASSISTANT_SETUP_COMPLETED: {
1385
1741
  readonly name: "AI Assistant setup completed";
1386
- readonly description: "A self-hosted instance reached a complete AI Assistant setup for the first time: model configured, sandbox configured, and web search decided (configured or explicitly disabled) — the same predicate that unlocks the assistant UI. Fires at most once per instance, guarded by a persisted settings key, regardless of how the last piece was set: emitted from the settings save path, with a boot-time check so an env-var finish is also counted. No \"User\" prefix because the last piece can land via env vars with no acting user.";
1742
+ readonly description: "A self-hosted instance reached a complete n8n Assistant setup for the first time: model configured, sandbox configured, and web search decided (configured or explicitly disabled) — the same predicate that unlocks the assistant UI. Fires at most once per instance, guarded by a persisted settings key, regardless of how the last piece was set: emitted from the settings save path, with a boot-time check so an env-var finish is also counted. No \"User\" prefix because the last piece can land via env vars with no acting user.";
1387
1743
  readonly properties: import("zod/v4").ZodObject<{
1388
1744
  model_source: import("zod/v4").ZodEnum<{
1389
1745
  env: "env";
@@ -1440,6 +1796,50 @@ export declare const TELEMETRY_EVENT: {
1440
1796
  } & import("./define").TelemetryEventInput & {
1441
1797
  readonly getValidationError: (properties: unknown) => string | null;
1442
1798
  };
1799
+ readonly USER_SENT_BUILDER_MESSAGE: {
1800
+ readonly name: "User sent builder message";
1801
+ readonly description: "The user sent a message to the n8n Assistant. Fires once per message on the optimistic send, before the request is admitted, so a refused send still counts as an attempt. Carries who wrote the text: a pre-fill is an opener n8n composed (a failed execution, a credential modal, a template card, a suggestion chip) that the user accepted or edited, so pre-fill share must be read from prefill_type rather than matched against the message body.";
1802
+ readonly properties: import("zod/v4").ZodObject<{
1803
+ thread_id: import("zod/v4").ZodString;
1804
+ instance_id: import("zod/v4").ZodString;
1805
+ is_first_message: import("zod/v4").ZodBoolean;
1806
+ action_source: import("zod/v4").ZodEnum<{
1807
+ agent_builder_page: "agent_builder_page";
1808
+ agent_preview: "agent_preview";
1809
+ assistant_page: "assistant_page";
1810
+ canvas_action_button: "canvas_action_button";
1811
+ canvas_choice_prompt: "canvas_choice_prompt";
1812
+ credential_edit: "credential_edit";
1813
+ credentials_list: "credentials_list";
1814
+ evals: "evals";
1815
+ node_error_view: "node_error_view";
1816
+ playwright: "playwright";
1817
+ "template-view": "template-view";
1818
+ unknown: "unknown";
1819
+ "website-template": "website-template";
1820
+ workflow_list_auto: "workflow_list_auto";
1821
+ workflow_list_button: "workflow_list_button";
1822
+ }>;
1823
+ prefill_type: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
1824
+ contextual_followup: "contextual_followup";
1825
+ handoff_agent_change_request: "handoff_agent_change_request";
1826
+ handoff_credential_setup: "handoff_credential_setup";
1827
+ handoff_execution_error: "handoff_execution_error";
1828
+ handoff_fix_with_ai: "handoff_fix_with_ai";
1829
+ handoff_setup_panel_execute: "handoff_setup_panel_execute";
1830
+ suggestion_catalog: "suggestion_catalog";
1831
+ template_adjustment: "template_adjustment";
1832
+ template_example: "template_example";
1833
+ unknown: "unknown";
1834
+ v1_opener: "v1_opener";
1835
+ workflow_attachment_opener: "workflow_attachment_opener";
1836
+ }>>;
1837
+ prefill_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
1838
+ prompt_modified: import("zod/v4").ZodNullable<import("zod/v4").ZodBoolean>;
1839
+ }, import("zod/v4/core").$strip>;
1840
+ } & import("./define").TelemetryEventInput & {
1841
+ readonly getValidationError: (properties: unknown) => string | null;
1842
+ };
1443
1843
  readonly BUILDER_LISTED_WORKFLOWS: {
1444
1844
  readonly name: "Builder listed workflows";
1445
1845
  readonly description: "Instance AI called workflows(action=\"list\"). Emitted on every list call, in both arms of the folder-exploration rollout, so folder-scoped calls have a denominator. Carries no folder names.";
@@ -1474,6 +1874,81 @@ export declare const TELEMETRY_EVENT: {
1474
1874
  };
1475
1875
  };
1476
1876
  MCP: {
1877
+ readonly MCP_NUDGE_VIEWED: {
1878
+ readonly name: "User viewed MCP nudge";
1879
+ readonly description: "The MCP nudge modal opened after the user exported a workflow as JSON, imported one from a file or URL, copied nodes, or pasted workflow JSON onto the canvas. Fires only when the modal opens, so a trigger that the flag, the two-impression cap, an opt-out, or instance-level MCP access suppresses emits nothing. Each fire consumes one impression.";
1880
+ readonly properties: import("zod/v4").ZodObject<{
1881
+ surface: import("zod/v4").ZodEnum<{
1882
+ copy: "copy";
1883
+ export: "export";
1884
+ import_file: "import_file";
1885
+ import_url: "import_url";
1886
+ paste: "paste";
1887
+ }>;
1888
+ }, import("zod/v4/core").$strip>;
1889
+ } & import("./define").TelemetryEventInput & {
1890
+ readonly getValidationError: (properties: unknown) => string | null;
1891
+ };
1892
+ readonly MCP_NUDGE_CONNECT_CLICKED: {
1893
+ readonly name: "User clicked connect in MCP nudge";
1894
+ readonly description: "The user clicked \"Connect n8n\" in the MCP nudge. The app navigates to the MCP settings page and abandons the export or import that opened the nudge. Kept separate from the skip and dismiss events so the connect-to-export click ratio stays computable.";
1895
+ readonly properties: import("zod/v4").ZodObject<{
1896
+ surface: import("zod/v4").ZodEnum<{
1897
+ copy: "copy";
1898
+ export: "export";
1899
+ import_file: "import_file";
1900
+ import_url: "import_url";
1901
+ paste: "paste";
1902
+ }>;
1903
+ }, import("zod/v4/core").$strip>;
1904
+ } & import("./define").TelemetryEventInput & {
1905
+ readonly getValidationError: (properties: unknown) => string | null;
1906
+ };
1907
+ readonly MCP_NUDGE_SKIPPED: {
1908
+ readonly name: "User skipped MCP nudge";
1909
+ readonly description: "The user clicked \"Skip\" in the MCP nudge. The export or import that opened the nudge completes unchanged. Closing with × or Escape is \"User dismissed MCP nudge\" instead.";
1910
+ readonly properties: import("zod/v4").ZodObject<{
1911
+ surface: import("zod/v4").ZodEnum<{
1912
+ copy: "copy";
1913
+ export: "export";
1914
+ import_file: "import_file";
1915
+ import_url: "import_url";
1916
+ paste: "paste";
1917
+ }>;
1918
+ }, import("zod/v4/core").$strip>;
1919
+ } & import("./define").TelemetryEventInput & {
1920
+ readonly getValidationError: (properties: unknown) => string | null;
1921
+ };
1922
+ readonly MCP_NUDGE_DISMISSED: {
1923
+ readonly name: "User dismissed MCP nudge";
1924
+ readonly description: "The user closed the MCP nudge with × or Escape without choosing an action. The export or import that opened the nudge completes unchanged.";
1925
+ readonly properties: import("zod/v4").ZodObject<{
1926
+ surface: import("zod/v4").ZodEnum<{
1927
+ copy: "copy";
1928
+ export: "export";
1929
+ import_file: "import_file";
1930
+ import_url: "import_url";
1931
+ paste: "paste";
1932
+ }>;
1933
+ }, import("zod/v4/core").$strip>;
1934
+ } & import("./define").TelemetryEventInput & {
1935
+ readonly getValidationError: (properties: unknown) => string | null;
1936
+ };
1937
+ readonly MCP_NUDGE_OPTED_OUT: {
1938
+ readonly name: "User opted out of MCP nudge";
1939
+ readonly description: "The user checked \"Don't show this again\" in the MCP nudge. Fires when the checkbox is checked, independent of which button later closes the modal. The nudge never shows again for this user.";
1940
+ readonly properties: import("zod/v4").ZodObject<{
1941
+ surface: import("zod/v4").ZodEnum<{
1942
+ copy: "copy";
1943
+ export: "export";
1944
+ import_file: "import_file";
1945
+ import_url: "import_url";
1946
+ paste: "paste";
1947
+ }>;
1948
+ }, import("zod/v4/core").$strip>;
1949
+ } & import("./define").TelemetryEventInput & {
1950
+ readonly getValidationError: (properties: unknown) => string | null;
1951
+ };
1477
1952
  readonly USER_GAVE_MCP_ACCESS_TO_WORKFLOW: {
1478
1953
  readonly name: "User gave MCP access to workflow";
1479
1954
  readonly description: "A workflow was exposed over MCP.";
@@ -1546,7 +2021,122 @@ export declare const TELEMETRY_EVENT: {
1546
2021
  readonly getValidationError: (properties: unknown) => string | null;
1547
2022
  };
1548
2023
  };
2024
+ NODE_TYPE_POLICIES: {
2025
+ readonly USER_SAVED_NODE_TYPE_POLICY: {
2026
+ readonly name: "User saved node type policy";
2027
+ readonly description: "A node type availability policy was saved for one scope through the composed write that the policy UI uses. One event per save, covering both the scope default action and its rules. Rule-level edits through the advanced document and attachment APIs report separately. The type counts and list report what this scope decides on its own, so at project scope they are the project layer before it composes with the instance policy.";
2028
+ readonly properties: import("zod/v4").ZodObject<{
2029
+ rule_count: import("zod/v4").ZodNumber;
2030
+ allow_rule_count: import("zod/v4").ZodNumber;
2031
+ deny_rule_count: import("zod/v4").ZodNumber;
2032
+ delegate_rule_count: import("zod/v4").ZodNumber;
2033
+ user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2034
+ source: import("zod/v4").ZodEnum<{
2035
+ environment: "environment";
2036
+ user: "user";
2037
+ }>;
2038
+ kind: import("zod/v4").ZodEnum<{
2039
+ "credential-types": "credential-types";
2040
+ "node-types": "node-types";
2041
+ }>;
2042
+ scope: import("zod/v4").ZodEnum<{
2043
+ instance: "instance";
2044
+ project: "project";
2045
+ }>;
2046
+ project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2047
+ default_action: import("zod/v4").ZodEnum<{
2048
+ allow: "allow";
2049
+ delegate: "delegate";
2050
+ deny: "deny";
2051
+ }>;
2052
+ previous_default_action: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
2053
+ allow: "allow";
2054
+ delegate: "delegate";
2055
+ deny: "deny";
2056
+ }>>;
2057
+ is_first_write: import("zod/v4").ZodBoolean;
2058
+ name_selector_count: import("zod/v4").ZodNumber;
2059
+ package_selector_count: import("zod/v4").ZodNumber;
2060
+ evaluated_type_count: import("zod/v4").ZodNumber;
2061
+ blocked_type_count: import("zod/v4").ZodNumber;
2062
+ allowed_type_count: import("zod/v4").ZodNumber;
2063
+ delegated_type_count: import("zod/v4").ZodNumber;
2064
+ blocked_types: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
2065
+ allowed_types: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
2066
+ previous_rule_count: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
2067
+ shadow_warning_count: import("zod/v4").ZodNumber;
2068
+ version: import("zod/v4").ZodNumber;
2069
+ }, import("zod/v4/core").$strip>;
2070
+ } & import("./define").TelemetryEventInput & {
2071
+ readonly getValidationError: (properties: unknown) => string | null;
2072
+ };
2073
+ readonly USER_UPDATED_NODE_TYPE_POLICY_DOCUMENT: {
2074
+ readonly name: "User updated node type policy document";
2075
+ readonly description: "A policy document was created, edited, or deleted through the advanced instance-only document API. The composed save that the policy UI uses reports as \"User saved node type policy\" instead. Rule counts describe the document after the operation, so a delete reports 0 and carries the deleted size in previous_rule_count.";
2076
+ readonly properties: import("zod/v4").ZodObject<{
2077
+ rule_count: import("zod/v4").ZodNumber;
2078
+ allow_rule_count: import("zod/v4").ZodNumber;
2079
+ deny_rule_count: import("zod/v4").ZodNumber;
2080
+ delegate_rule_count: import("zod/v4").ZodNumber;
2081
+ user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2082
+ source: import("zod/v4").ZodEnum<{
2083
+ environment: "environment";
2084
+ user: "user";
2085
+ }>;
2086
+ kind: import("zod/v4").ZodEnum<{
2087
+ "credential-types": "credential-types";
2088
+ "node-types": "node-types";
2089
+ }>;
2090
+ operation: import("zod/v4").ZodEnum<{
2091
+ created: "created";
2092
+ deleted: "deleted";
2093
+ updated: "updated";
2094
+ }>;
2095
+ policy_id: import("zod/v4").ZodString;
2096
+ previous_rule_count: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
2097
+ }, import("zod/v4/core").$strip>;
2098
+ } & import("./define").TelemetryEventInput & {
2099
+ readonly getValidationError: (properties: unknown) => string | null;
2100
+ };
2101
+ readonly USER_UPDATED_NODE_TYPE_POLICY_ATTACHMENTS: {
2102
+ readonly name: "User updated node type policy attachments";
2103
+ readonly description: "The set of policy documents attached to one scope was replaced through the advanced instance-only attachment API. Reports the resulting set, not the individual add or remove.";
2104
+ readonly properties: import("zod/v4").ZodObject<{
2105
+ user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2106
+ source: import("zod/v4").ZodEnum<{
2107
+ environment: "environment";
2108
+ user: "user";
2109
+ }>;
2110
+ kind: import("zod/v4").ZodEnum<{
2111
+ "credential-types": "credential-types";
2112
+ "node-types": "node-types";
2113
+ }>;
2114
+ scope: import("zod/v4").ZodEnum<{
2115
+ instance: "instance";
2116
+ project: "project";
2117
+ }>;
2118
+ project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2119
+ scope_id: import("zod/v4").ZodString;
2120
+ attachment_count: import("zod/v4").ZodNumber;
2121
+ floor_attachment_count: import("zod/v4").ZodNumber;
2122
+ previous_attachment_count: import("zod/v4").ZodNumber;
2123
+ }, import("zod/v4/core").$strip>;
2124
+ } & import("./define").TelemetryEventInput & {
2125
+ readonly getValidationError: (properties: unknown) => string | null;
2126
+ };
2127
+ };
1549
2128
  WORKFLOW: {
2129
+ readonly USER_REQUESTED_WORKFLOW_TEST: {
2130
+ readonly name: "User requested workflow test";
2131
+ readonly description: "The user started a manual workflow test from the AI Assistant setup panel. This event does not report execution success.";
2132
+ readonly properties: import("zod/v4").ZodObject<{
2133
+ source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
2134
+ workflow_id: import("zod/v4").ZodString;
2135
+ thread_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2136
+ }, import("zod/v4/core").$strip>;
2137
+ } & import("./define").TelemetryEventInput & {
2138
+ readonly getValidationError: (properties: unknown) => string | null;
2139
+ };
1550
2140
  readonly MULTIPLE_NODES_SELECTED: {
1551
2141
  readonly name: "User selected multiple nodes";
1552
2142
  readonly description: "The user has two or more nodes selected on the workflow canvas. Fires once the selection settles (debounced), covering all selection paths — rubber-band drag, shift-click, and select-all — so intermediate states during a drag are not reported. Groups are excluded from the count.";