Event Schema & Telemetry Naming Template
A structured, fillable event schema template to define telemetry contracts, naming conventions, ownership, versioning, validation, retention, privacy classification, downstream consumers, and governance steps. Submissions create a consistent, reviewable record teams can use to register events and reduce inconsistent or missing telemetry.
Use this interactive template to define a tracked event and its telemetry contract. Completing this form produces a consistent, versioned event definition suitable for cataloging, review, and downstream validation. Good telemetry starts with clear names, stable keys, documented properties, and explicit ownership.
Fill required fields, attach example payloads, run validation tests, then submit. The structured output is designed to be saved, reviewed by governance, and linked to a schema registry or event catalog.
","SubmitLabel":"Save Event Definition","SuccessMessage":"Event definition submitted. A reviewer or governance process can now validate and register it.","DataType":"EventSchemaTemplate","SchemaVersion":"1.0","Fields":[{"Key":"event_id","FieldType":"text","Label":"Event ID (stable key)","HelpText":"A short, stable machine-readable identifier (use snake_case or kebab-case). Treat this as the canonical key used in pipelines; changing it breaks consumers.","Required":true},{"Key":"event_name","FieldType":"text","Label":"Human-readable Event Name","HelpText":"A clear name product teams and analysts will recognize. Avoid product-internal abbreviations.","Required":true},{"Key":"description","FieldType":"textarea","Label":"Description","HelpText":"What this event represents, when it should be emitted, and why it exists. Include any domain context analysts need.","Required":true},{"Key":"owner","FieldType":"text","Label":"Primary Owner (team or person)","HelpText":"Team or contact responsible for the event schema and for communicating changes to consumers.","Required":true},{"Key":"version","FieldType":"text","Label":"Schema Version","HelpText":"Semantic version (e.g., 1.0.0) or date-tagged version. Increment when you change the contract in incompatible ways.","Required":true},{"Key":"naming_convention","FieldType":"select","Label":"Preferred Naming Convention","HelpText":"Choose the naming pattern used across events and properties for consistency.","Required":true,"Options":[{"Value":"snake_case","Label":"snake_case"},{"Value":"kebab-case","Label":"kebab-case"},{"Value":"camelCase","Label":"camelCase"},{"Value":"dot.notation","Label":"dot.notation"}]},{"Key":"required_properties","FieldType":"textarea","Label":"Required Properties (structured list)","HelpText":"List required property names with types and brief descriptions. Example: user_id: string (UUID) — identifier for the user who triggered the event.","Required":true},{"Key":"optional_properties","FieldType":"textarea","Label":"Optional Properties (structured list)","HelpText":"List optional properties with types and descriptions and indicate when they may be present.","Required":false},{"Key":"example_payload","FieldType":"textarea","Label":"Example Payload (JSON)","HelpText":"Provide a concrete JSON example exactly as emitted. This helps implementers and downstream consumers understand the shape and types.","Required":true},{"Key":"retention_guidance","FieldType":"select","Label":"Retention Guidance","HelpText":"Recommended retention period for raw events. Note regulatory or business requirements if longer retention is needed.","Required":true,"Options":[{"Value":"30_days","Label":"30 days"},{"Value":"90_days","Label":"90 days"},{"Value":"1_year","Label":"1 year"},{"Value":"indefinite","Label":"Indefinite (requires justification)"}]},{"Key":"sla","FieldType":"textarea","Label":"Emitting SLA & Reliability Expectations","HelpText":"Expected frequency, acceptable latency, retry behavior, and monitoring/alerting expectations for the emitter.","Required":false},{"Key":"downstream_consumers","FieldType":"textarea","Label":"Downstream Consumers","HelpText":"List teams, dashboards, reports, models, or pipelines that consume this event. Include owner contacts where available.","Required":false},{"Key":"privacy_classification","FieldType":"select","Label":"Privacy / Compliance Classification","HelpText":"Identify whether the event contains PII, PHI, or other regulated data and reference required controls.","Required":true,"Options":[{"Value":"public","Label":"Public — no PII"},{"Value":"internal","Label":"Internal — limited PII"},{"Value":"restricted","Label":"Restricted — sensitive PII/PHI"}]},{"Key":"enforcement_checklist","FieldType":"checkbox","Label":"Enforcement Checklist","HelpText":"Complete these items before the event is considered registrable and safe for downstream consumption.","Required":true,"Options":[{"Value":"doc_complete","Label":"Documentation complete (fields, types, examples)"},{"Value":"versioned","Label":"Versioning policy defined and applied"},{"Value":"owner_assigned","Label":"Owner assigned and contactable"},{"Value":"privacy_review","Label":"Privacy/compliance reviewed"},{"Value":"validation_tests","Label":"Validation tests exist and pass in CI"},{"Value":"consumers_notified","Label":"Downstream consumers informed of schema and changes"}]},{"Key":"governance_steps","FieldType":"textarea","Label":"Governance & Catalog Steps","HelpText":"Describe steps to add this event to the catalog, including reviewers, approval criteria, and expected SLAs for review.","Required":false},{"Key":"schema_registry_url","FieldType":"text","Label":"Schema Registry URL / Repository Path","HelpText":"Link to the canonical schema (e.g., Avro/JSON Schema/Protobuf) or repo where the event contract is stored.","Required":false},{"Key":"sample_event_links","FieldType":"textarea","Label":"Links to Sample Events, Traces, or Logs","HelpText":"Provide links to real examples in staging or production to illustrate the event in context.","Required":false},{"Key":"compatibility_notes","FieldType":"textarea","Label":"Compatibility & Migration Guidance","HelpText":"Notes about backwards compatibility, advice for consumers in case of changes, and any migration steps required.","Required":false}],"UiHints":{"SaveAsRecord":true}}Discussion
Comments and conversation will live here.