Manage Events using Rudder CLI Alpha

Define and manage events in your Data Catalog project using YAML configuration files.
Available Plans
  • free
  • starter
  • growth
  • enterprise

Events are the foundation of your tracking implementation in RudderStack. This guide shows you how to define and manage events in your Data Catalog using YAML configuration files.

Event types

You can define the following event types in your Data Catalog project using Rudder CLI:

Event typeDescription
TrackRecord user actions and behaviors
IdentifyCapture user identification and associated traits
PageTrack web page views
ScreenMonitor mobile app screen views
GroupAssociate users with organizations

Define events

Using your preferred text editor, create a YAML file in your Data Catalog project and add the below content:

Basic structure

You can define events in YAML files with the kind: events specification. See Data Catalog YAML Reference for the detailed YAML spec containing event definitions.

version: rudder/0.1
kind: events
metadata:
  name: myeventgroup
spec:
  events:
    - id: product_viewed
      name: "Product Viewed"  // Only applicable for track events
      event_type: track
      description: "Triggered when a user views a product"

Each event definition requires:

  • A unique identifier (id)
  • The event type (event_type)
  • A descriptive name (name) (applicable only for track events)
  • Optional description (description)
warning
Do not include the name parameter for identify, page, or group events as they will not pass validation and result in an error.

The following snippets highlight the YAML definitions for different event types:

Event groups

You can group related events in a single YAML file based on business context (like ecommerce or user management) or other logical categories. Define each group with a unique metadata.name and list related events under spec.events.

info

When defining event groups, ensure that:

  • Events in the same group share similar validation requirements.
  • Related events that are often used together in tracking plans are grouped together.
  • Each event group has a clear, specific purpose (for example, ecommerce_events for ecommerce-related tracking).

The following examples show how to organize events into meaningful groups, along with their YAML definitions:

Best practices

Follow these best practices when defining events and event groups:

  • Naming conventions

    • Use clear, descriptive names
    • Follow consistent capitalization
    • Avoid special characters
  • Organization

    • Use event groups to group related events together
    • Use meaningful names that reflect the group’s purpose
  • Validation

    • Use unique identifiers
    • Validate event definitions
    • Test before deployment

Validate and deploy events

Before deploying your events to the workspace, validate them to ensure they follow the correct structure and meet your requirements.

Validate events

Run the following command to validate your event definitions:

rudder-cli tp validate -l ~/tutorial-catalog

The command checks your event definitions for:

  • Required fields and correct structure
  • Valid event types and property references
  • Unique identifiers across your catalog
  • Proper YAML syntax

If validation succeeds, the command returns no output. If it finds any issues, it displays specific error messages to help you fix them.

Deploy events

After validating your events, deploy them to your RudderStack workspace:

  1. Review the changes before deploying:
rudder-cli tp apply -l ~/tutorial-catalog --dry-run
  1. Deploy the validated events:
rudder-cli tp apply -l ~/tutorial-catalog

The above command:

  • Creates new events in your workspace
  • Updates existing events if you’ve modified them
  • Reports the status of each operation
  • Requires confirmation before making changes (unless you use --confirm=false)
info
See the End-to-end Walkthrough for steps on validating and deploying properties along with other Data Catalog resources.

Next steps



Questions? Contact us by email or on Slack