Field Mapping & Transforms
Map source fields to destination fields and apply transformations.
How Field Mapping Works
When you add a destination to a pipeline, SnowPipe presents a visual field mapper. Source fields appear on the left, grouped by their origin (e.g., Shopify Products, Shopify Variants). Destination fields appear on the right, with required fields marked.
Connect a source field to a destination field to create a mapping. Each destination field can receive data from one source field. You can also apply transforms to modify the data in transit.
Auto-mapping
SnowPipe can automatically match source fields to destination fields by name. Click Auto-map to map all matching fields at once. You can then adjust individual mappings as needed.
Source field grouping
Fields are grouped by provenance. For example, a Shopify source with variant expansion shows separate groups for Product fields, Variant fields, and Inventory fields. This helps you identify where each field comes from.
Required fields
Destination fields marked as required must have a mapping before the pipeline can run. These are indicated with a red asterisk in the field mapper.
Transforms Reference
Transforms modify field values as data flows from source to destination. You can chain multiple transforms on a single field mapping.
Text
| Transform | Description | Example |
|---|---|---|
uppercase | Convert text to UPPER CASE | "hello" → "HELLO" |
lowercase | Convert text to lower case | "HELLO" → "hello" |
titleCase | Capitalize the first letter of each word | "hello world" → "Hello World" |
trim | Remove leading and trailing whitespace | " hello " → "hello" |
stripHtml | Remove HTML tags from text | "<b>bold</b>" → "bold" |
truncate(length, suffix) | Truncate text to a maximum length | truncate(10, "…") → "Hello Worl…" |
slugify | Convert text to URL-safe slug | "Hello World!" → "hello-world" |
replace(pattern, replacement) | Replace text matching a pattern | — |
format(template) | Format using a template string | — |
Numeric
| Transform | Description | Example |
|---|---|---|
round(decimals) | Round number to specified decimal places | round(2): 3.14159 → 3.14 |
multiply(factor) | Multiply by a factor | multiply(100): 0.5 → 50 |
toCents | Convert dollars to cents (multiply by 100, round) | 19.99 → 1999 |
toMicros | Convert to micros (multiply by 1,000,000) | 19.99 → 19990000 |
toNumber | Parse text as a number | "42.5" → 42.5 |
Conversion
| Transform | Description | Example |
|---|---|---|
toString | Convert any value to a string | 42 → "42" |
toBoolean | Convert to true/false | "yes" → true |
Logic
| Transform | Description | Example |
|---|---|---|
lookup(mapping, default) | Map values using a lookup table | {"S": "Small", "M": "Medium"} |
defaultIfEmpty(value) | Use a fallback value when the field is empty | defaultIfEmpty("N/A") |
Filters
Filters let you exclude rows before they reach the destination. For example, you can filter out products with a specific status or only export rows where inventory is above zero.
Configuring Filters
In the pipeline's Transforms tab, add filter conditions. Each condition specifies a field, an operator (equals, not equals, contains, greater than, etc.), and a value. Rows that don't match the filter conditions are excluded from the export.
Multiple conditions can be combined with AND logic — all conditions must match for a row to be included.
Schema Change Detection
SnowPipe automatically detects when your source schema changes — new fields added, fields removed, or field types changed. When a change is detected:
- The pipeline's Schema tab shows the changes with timestamps.
- New fields are available for mapping in the field mapper.
- Removed fields that were mapped show a warning — you should update the mapping to avoid export errors.
- Type changes are flagged so you can verify transforms still work correctly.
Need help?
Reach out at support@snowforge.dev