n8n:telemetry

Guide telemetry event registration, emission, and validation across the n8n codebase.

203k|60.5k|Updated Jun 22, 2019
One-click install
npx skills add https://github.com/n8n-io/n8n --skill n8n-telemetry
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: n8n:telemetry
Source: https://github.com/n8n-io/n8n/tree/main/.agents/skills/telemetry
Command: npx skills add https://github.com/n8n-io/n8n --skill n8n-telemetry

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers adding or modifying telemetry events in n8n risk breaking downstream analytics by renaming events, duplicating names, or changing property types. This Skill enforces a centralized registry with strict naming, typing, and migration rules so product analytics remain consistent across frontend and backend.

Core Features & Use Cases

  • Registry-Based Event Discovery: Query the @n8n/telemetry catalog to find existing events, their meanings, and property schemas before adding new ones.
  • Strict Naming and Typing Conventions: Apply house grammar for event names and zod schemas for properties, with CI-enforced uniqueness and JSON-Schema compatibility.
  • Cross-Surface Emission Guidance: Place track() calls correctly in frontend (useTelemetry) and backend (Telemetry.track or RelayEventMap) using shared registry entries.
  • Use Case: When adding a new "User pinned node data" event, check the catalog for duplicates, register it under the correct domain with a zod schema, and emit it from both UI and CLI surfaces using the same entry.

Quick Start

Use the n8n telemetry skill to register a new product event called "User pinned node data" under the WORKFLOW domain with a typed zod schema.

Frequently Asked Questions about n8n:telemetry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new telemetry event in n8n?▼

Check the catalog with `pnpm --filter @n8n/telemetry catalog`, pick a domain by the event's subject, write a zod-typed entry in `packages/@n8n/telemetry/src/events/`, then emit it via `useTelemetry().track` on the frontend or `Telemetry.track` on the backend using the registry entry.

What is the n8n telemetry event registry?▼

The registry in `packages/@n8n/telemetry` defines one entry per event with its emitted name, description, and zod property schema. Entries are composed into `TELEMETRY_EVENT.<DOMAIN>.<EVENT>` and passed to `track()` for compile-time checks and runtime validation.

Can I rename an existing telemetry event in n8n?▼

No. Renaming an emitted event orphans the BigQuery table that materializes from it. Treat renames as delete-plus-create, never reuse names, and coordinate removals with the data team before deleting the registry entry.

Does the n8n telemetry registry support backend event-bus emissions?▼

Yes. Backend events can be emitted either through a `RelayEventMap` handler in `packages/cli/src/events/relays/telemetry.event-relay.ts` or a direct `Telemetry.track(...)` call, both referencing the same registry entry.

Why does my telemetry event fail typecheck in n8n?▼

Typecheck fails when properties are typo'd, missing, or wrongly typed against the registry entry's zod schema. Use the registry entry itself rather than a string literal so TypeScript catches mismatches at compile time.

What telemetry events are not yet in the n8n registry?▼

Events not yet migrated to the registry do not appear in the catalog. For these, search `track()` call sites directly in `packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts` and `packages/cli/src/telemetry/index.ts`.