Agent skill
rt-config-events
Configure RT 2.0 event tables and key events - define which streaming events to track and filter for real-time processing
Install this agent skill to your Project
npx add-skill https://github.com/treasure-data/td-skills/tree/main/realtime-skills/rt-config-events
SKILL.md
RT 2.0 Event Configuration
Configure event tables and key events for real-time processing.
Prerequisites
- RT 2.0 enabled (use
rt-config-setupskill first) - Streaming event tables with data
- Event table schema knowledge
Event Table Structure
events:
- name: "page_view" # Event identifier
database: "events_db" # Database name
table: "web_events" # Table name
filter: # Optional: filter events
field: "td_path" # Field to filter on
pattern: "^/pageview/" # Regex pattern
description: "Page view events" # Optional
- name: "purchase"
database: "events_db"
table: "commerce_events"
filter:
field: "event_type"
pattern: "^purchase$"
description: "Purchase completion events"
Event Filters
Filter events using regex patterns:
Common Patterns
# Exact match
filter:
field: "event_type"
pattern: "^purchase$"
# Starts with
filter:
field: "td_path"
pattern: "^/cart/add"
# Contains
filter:
field: "url"
pattern: ".*product.*"
# Multiple options (OR)
filter:
field: "event_type"
pattern: "^(purchase|add_to_cart|checkout)$"
# No filter (all events)
# Omit filter section
Field Selection
Common fields to filter on:
td_path- Event path/name from SDKevent_type- Custom event type fieldevent_name- Event name fieldaction- Action field- Custom fields in your event table
Discover Event Tables
# List databases
tdx databases --json
# List tables in database
tdx tables list events_db --json
# View table schema
tdx table describe events_db web_events
# Preview events
tdx query "select * from events_db.web_events limit 10"
# Check event types
tdx query "
select
td_path,
event_type,
count(*) as event_count
from events_db.web_events
where td_interval(time, '-1d')
group by td_path, event_type
order by event_count desc
limit 20
"
# Check field values for filtering
tdx query "
select distinct td_path
from events_db.web_events
where td_interval(time, '-1d')
limit 50
"
E-commerce Event Examples
events:
# Product views
- name: "product_view"
database: "events"
table: "web_events"
filter:
field: "event_type"
pattern: "^product_view$"
# Add to cart
- name: "add_to_cart"
database: "events"
table: "web_events"
filter:
field: "event_type"
pattern: "^add_to_cart$"
# Purchase
- name: "purchase"
database: "events"
table: "commerce_events"
filter:
field: "event_type"
pattern: "^purchase$"
# Cart abandon (no filter - track all cart events)
- name: "cart_events"
database: "events"
table: "cart_events"
Media/Content Event Examples
events:
# Content views
- name: "content_view"
database: "events"
table: "content_events"
filter:
field: "action"
pattern: "^view$"
# Video play
- name: "video_play"
database: "events"
table: "media_events"
filter:
field: "event_type"
pattern: "^video_play$"
# Article read
- name: "article_read"
database: "events"
table: "content_events"
filter:
field: "td_path"
pattern: "^/article/"
SaaS/B2B Event Examples
events:
# User login
- name: "login"
database: "events"
table: "user_events"
filter:
field: "event_type"
pattern: "^login$"
# Feature usage
- name: "feature_used"
database: "events"
table: "app_events"
filter:
field: "event_type"
pattern: "^feature_"
# Trial signup
- name: "trial_signup"
database: "events"
table: "conversion_events"
filter:
field: "event_type"
pattern: "^trial_signup$"
Key Events
Key events are important business events used for RT triggers:
# List key events (API)
tdx api "/audiences/<parent_segment_id>/realtime_key_events" --type cdp
# Create key event (API)
tdx api "/audiences/<parent_segment_id>/realtime_key_events" --type cdp --method POST --data '{
"name": "high_value_purchase",
"event_name": "purchase",
"description": "Purchase over $100",
"filters": {
"purchase_amount": {
"operator": "greater_than",
"value": 100
}
}
}'
# Update key event (API)
tdx api "/audiences/<parent_segment_id>/realtime_key_events/<event_id>" --type cdp --method PATCH --data '{
"description": "Updated description"
}'
# Delete key event (API)
tdx api "/audiences/<parent_segment_id>/realtime_key_events/<event_id>" --type cdp --method DELETE
Update Event Tables
Update via API (YAML update not yet available):
# Update event tables
tdx api "/audiences/<parent_segment_id>/realtime_setting" --type cdp --method PATCH --data '{
"event_tables": [
{
"database": "events_db",
"table": "web_events",
"event_name": "page_view",
"filter_field": "td_path",
"filter_pattern": "^/pageview/"
},
{
"database": "events_db",
"table": "commerce_events",
"event_name": "purchase",
"filter_field": "event_type",
"filter_pattern": "^purchase$"
}
]
}'
Validate Event Configuration
# Check event tables are accessible
tdx table describe <database> <table>
# Test regex pattern
tdx query "
select td_path
from events_db.web_events
where td_interval(time, '-1h')
and regexp_like(td_path, '^/pageview/')
limit 10
"
# Count events matching filter
tdx query "
select count(*) as matching_events
from events_db.web_events
where td_interval(time, '-1d')
and regexp_like(td_path, '^/pageview/')
"
Common Errors
| Error | Solution |
|---|---|
| "Event table not accessible" | Verify table exists with tdx tables list |
| "Invalid regex pattern" | Test pattern with regexp_like() in query |
| "No events matching filter" | Check filter pattern matches actual data |
| "Database not found" | Verify database name with tdx databases |
| "Permission denied" | Verify API key has access to database |
Event Table Requirements
- Time column: Table must have
timecolumn (epoch seconds) - Profile keys: Must contain ID fields (td_client_id, email, user_id, etc.)
- Event data: Fields to use in RT attributes
- Streaming: Table should receive real-time data
- Retention: Consider data retention for RT processing
Best Practices
- Specific filters: Use precise regex patterns to avoid unwanted events
- Event naming: Use clear, descriptive event names
- Multiple tables: OK to use same table for multiple events with different filters
- Test patterns: Always test regex patterns against actual data
- Document events: Add descriptions to help team understand each event
Next Steps
After configuring events:
- RT Attributes: Configure attributes from event data → Use
rt-config-attributesskill - Key Events: Create key events for triggers → See key events section above
- RT Triggers: Create event-triggered journeys → Use
rt-journey-createskill
Resources
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
email-campaign
This skill should be used when the user asks to "create an email", "build an email campaign", "design an email template", "generate an email for a segment", "preview an email", or "push an email to Engage". Generates enterprise-grade HTML email templates with live preview in Treasure Studio and natural language editing, then pushes the final version to Treasure Engage.
action-report
YAML format reference for action reports rendered via preview_action_report. MUST be read before writing any action report YAML — defines the report structure (title, summary, actions array) and action item fields (as_is, to_be, reason, priority, category, impact) with incremental build workflow. Required by seo-analysis and any skill that produces prioritized recommendations.
grid-dashboard
YAML format reference for grid dashboards rendered via preview_grid_dashboard. MUST be read before writing any dashboard YAML — defines the page structure, 6 cell types (kpi, gauge, scores, table, chart, markdown), grid layout rules, cell merging syntax, and incremental build workflow. Required by seo-analysis and any skill that produces visual data dashboards.
seo-analysis
Runs SEO and AEO (Answer Engine Optimization) analysis on websites or specific pages. Use when the user mentions SEO, AEO, search rankings, search optimization, or wants to analyze how their pages perform in search engines and AI answers. Produces a data dashboard and action report with before/after recommendations.
aps-doc-core
Core documentation generation patterns and framework for Treasure Data pipeline layers. Provides shared templates, quality validation, testing framework, and Confluence integration used by all layer-specific documentation skills.
aps-doc-id-unification
Expert documentation generation for ID unification layers. Documents identity resolution algorithms, merge strategies, match rules, entity graphs, and multi-workflow orchestration. Use when documenting ID unification processes.
Didn't find tool you were looking for?