diff --git a/packages/warehouse-destinations/src/destinations/snowflake/index.ts b/packages/warehouse-destinations/src/destinations/snowflake/index.ts index 3e441816938..bd9dd9052ad 100644 --- a/packages/warehouse-destinations/src/destinations/snowflake/index.ts +++ b/packages/warehouse-destinations/src/destinations/snowflake/index.ts @@ -1,9 +1,10 @@ import type { WarehouseDestinationDefinition } from '@segment/actions-core' import type { Settings } from './generated-types' import { defaultValues } from '@segment/actions-core' -import aududienceDefaultFields from './sendCustomEvent/audience-default-fields' +import audienceDefaultFields from './sendCustomEvent/audience-default-fields' import sendCustomEvent from './sendCustomEvent' +import journeysDefaultFields from './sendCustomEvent/journeys-default-fields' const destination: WarehouseDestinationDefinition = { name: 'Snowflake', @@ -25,7 +26,7 @@ const destination: WarehouseDestinationDefinition = { partnerAction: 'sendCustomEvent', mapping: { ...defaultValues(sendCustomEvent.fields), - ...defaultValues(aududienceDefaultFields) + ...defaultValues(audienceDefaultFields) }, type: 'specificEvent', eventSlug: 'warehouse_entity_added_track' @@ -35,7 +36,7 @@ const destination: WarehouseDestinationDefinition = { partnerAction: 'sendCustomEvent', mapping: { ...defaultValues(sendCustomEvent.fields), - ...defaultValues(aududienceDefaultFields) + ...defaultValues(audienceDefaultFields) }, type: 'specificEvent', eventSlug: 'warehouse_entity_removed_track' @@ -45,7 +46,7 @@ const destination: WarehouseDestinationDefinition = { partnerAction: 'sendCustomEvent', mapping: { ...defaultValues(sendCustomEvent.fields), - ...defaultValues(aududienceDefaultFields) + ...defaultValues(audienceDefaultFields) }, type: 'specificEvent', eventSlug: 'warehouse_audience_entered_track' @@ -55,10 +56,20 @@ const destination: WarehouseDestinationDefinition = { partnerAction: 'sendCustomEvent', mapping: { ...defaultValues(sendCustomEvent.fields), - ...defaultValues(aududienceDefaultFields) + ...defaultValues(audienceDefaultFields) }, type: 'specificEvent', eventSlug: 'warehouse_audience_exited_track' + }, + { + name: 'Journeys Step Entered', + partnerAction: 'sendCustomEvent', + mapping: { + ...defaultValues(sendCustomEvent.fields), + ...defaultValues(journeysDefaultFields) + }, + type: 'specificEvent', + eventSlug: 'journeys_step_entered_track' } ], diff --git a/packages/warehouse-destinations/src/destinations/snowflake/sendCustomEvent/journeys-default-fields.ts b/packages/warehouse-destinations/src/destinations/snowflake/sendCustomEvent/journeys-default-fields.ts new file mode 100644 index 00000000000..987a4afd312 --- /dev/null +++ b/packages/warehouse-destinations/src/destinations/snowflake/sendCustomEvent/journeys-default-fields.ts @@ -0,0 +1,35 @@ +export default { + // note that this must be `properties` to be processed by the warehouse pipeline + properties: { + label: 'Columns', + description: `Additional columns to write to Snowflake.`, + type: 'object', + defaultObjectUI: 'keyvalue', + required: true, + additionalProperties: true, + default: { + journey_metadata: { + '@json': { + mode: 'encode', + value: { + '@path': '$.properties.journey_metadata' + } + } + }, + journey_context: { + '@json': { + mode: 'encode', + value: { + '@path': '$.properties.journey_context' + } + } + }, + user_id: { '@path': '$.userId' }, + personas_computation_key: { '@path': '$.context.personas.computation_key' }, + personas_computation_id: { '@path': '$.context.personas.computation_id' }, + personas_activation_id: { '@path': '$.context.personas.event_emitter_id' }, + personas_computation_class: { '@path': '$.context.personas.computation_class' }, + event_name: { '@path': '$.event' } + } + } +}