Skip to content

source-klaviyo-native: support custom event streams with user-defined filters#3795

Draft
Alex-Bair wants to merge 1 commit intomainfrom
bair/source-klaviyo-native-custom-events-streams-dev
Draft

source-klaviyo-native: support custom event streams with user-defined filters#3795
Alex-Bair wants to merge 1 commit intomainfrom
bair/source-klaviyo-native-custom-events-streams-dev

Conversation

@Alex-Bair
Copy link
Member

Description:

Allow users to create additional event streams with custom filters. Each custom stream captures events matching the specified filters and is named with a 'custom_' prefix to prevent naming collisions with connector defined streams.

Supported filters:

  • metric_id: equals(metric_id,"<value>")
  • profile_id: equals(profile_id,"<value>")
  • profile: has(profile,"<value>")

At least one filter must be provided per custom stream. Custom streams use dynamically created Events subclasses with the filters set via the model's additional_filters class variable.

Snapshot changes are expected due to the custom event stream related fields added to the spec and the example custom event streams I added to config.yaml to exercise the discovery logic.

Workflow steps:

(How does one use this feature, and how has it changed)

Documentation links affected:

The connector's documentation should be updated to reflect the new functionality for specifying custom event streams.

Notes for reviewers:

Confirmed custom event streams are discovered as expected - with a custom_ prefix in their names. Confirmed custom event streams go through the same code path as the existing events streams.

… filters

Allow users to create additional event streams with custom filters. Each
custom stream captures events matching the specified filters and is
named with a 'custom_' prefix to prevent naming collisions with connector
defined streams.

Supported filters:
- metric_id: equals(metric_id,"<value>")
- profile_id: equals(profile_id,"<value>")
- profile: has(profile,"<value>")

At least one filter must be provided per custom stream. Custom streams use
dynamically created Events subclasses with the filters set via the model's
additional_filters class variable.

Example config:
  advanced:
    custom_event_streams:
      - name: "my_metric_events"
        metric_id: "BAdaPPL"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant