integration map
Configure data mappings between external systems and Hyperfold.
Overview
The hyperfold integrate map command defines how data flows between connected integrations and your Hyperfold project. Field mappings transform external data formats into Hyperfold's unified schema, enabling agents to work with consistent data regardless of source.
Mappings are used during sync operations. See Data Mapping Guide for detailed configuration patterns.
Field Mapping
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Create a field mapping$ hyperfold integrate map shopify \ --source="product" \ --target="catalog" Mapping fields from Shopify products to Hyperfold catalog... AUTO-DETECTED MAPPINGS title → name (string) body_html → description (html → text) vendor → brand (string) product_type → category (string) variants.price → base_price (decimal) variants.sku → sku (string) images.src → images (array) Accept auto-mappings? [Y/n] y Additional mappings needed: ? Map 'tags' to: 1. semantic_tags (recommended) 2. categories 3. Skip this field > 1 ✓ Field mappings savedCustom Mappings
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Define custom field mappings$ hyperfold integrate map salesforce \ --source="Contact" \ --target="customer" \ --mapping='[ {"source": "FirstName", "target": "first_name"}, {"source": "LastName", "target": "last_name"}, {"source": "Email", "target": "email"}, {"source": "Account.Name", "target": "company"}, {"source": "Account.AnnualRevenue", "target": "metadata.annual_revenue"}, {"source": "Loyalty_Tier__c", "target": "tier"} ]' # Map with computed fields$ hyperfold integrate map salesforce \ --source="Contact" \ --target="customer" \ --computed='[ { "target": "full_name", "expression": "{{FirstName}} {{LastName}}" }, { "target": "lifetime_value", "expression": "sum(Opportunities.Amount)" } ]'Viewing Mappings
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# View current mappings$ hyperfold integrate map shopify --show FIELD MAPPINGS: Shopify → Hyperfold━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SOURCE: productTARGET: catalog SOURCE FIELD TARGET FIELD TYPE TRANSFORMtitle name string nonebody_html description html strip_htmlvendor brand string noneproduct_type category string normalizevariants.price base_price decimal cents_to_dollarsvariants.sku sku string uppercasevariants.weight weight_kg decimal oz_to_kgimages.src images array nonetags semantic_tags array split(',')metafields.custom metadata object flatten COMPUTED FIELDSfull_description "{{title}} - {{body_html}}"search_text concat(title, tags, vendor) # View mapping for specific integration$ hyperfold integrate map salesforce --show FIELD MAPPINGS: Salesforce → Hyperfold━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SOURCE: ContactTARGET: customer SOURCE FIELD TARGET FIELD TRANSFORMFirstName first_name noneLastName last_name noneEmail email lowercaseAccount.Name company noneAccount.AnnualRevenue metadata.revenue noneLoyalty_Tier__c tier map_enum ENUM MAPPING: Loyalty_Tier__c → tier "Gold" → "gold" "Silver" → "silver" "Bronze" → "bronze" "Platinum" → "platinum" null → "standard"Transformations
Transformations modify data during sync:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Apply transformations during mapping$ hyperfold integrate map shopify \ --source="product" \ --target="catalog" \ --transform='[ { "field": "body_html", "transform": "strip_html", "options": {"preserve": ["b", "i", "ul", "li"]} }, { "field": "variants.price", "transform": "currency_convert", "options": {"from": "cents", "to": "dollars"} }, { "field": "tags", "transform": "split", "options": {"delimiter": ",", "trim": true} }, { "field": "vendor", "transform": "lookup", "options": { "table": "brand_aliases", "fallback": "source" } } ]' # Available transformations$ hyperfold integrate map --list-transforms AVAILABLE TRANSFORMATIONS STRING uppercase Convert to uppercase lowercase Convert to lowercase trim Remove whitespace truncate Limit to N characters regex_replace Replace via regex pattern ARRAY split Split string to array join Join array to string filter Filter array elements flatten Flatten nested arrays NUMERIC round Round to N decimals currency_convert Convert currency formats unit_convert Convert units (oz→kg, etc.) DATE format Format date/time timezone Convert timezone relative Convert to relative time SPECIAL strip_html Remove HTML tags lookup Map via lookup table default Set default if null hash Hash value (SHA256, MD5)Sync Rules
Configure how and when data synchronizes:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Configure sync rules$ hyperfold integrate map shopify \ --sync-direction=bidirectional \ --conflict-resolution=newest_wins # Set sync frequency$ hyperfold integrate map shopify \ --sync-schedule="*/5 * * * *" \ --batch-size=100 # Configure selective sync$ hyperfold integrate map shopify \ --sync-filter='[ {"field": "status", "operator": "eq", "value": "active"}, {"field": "updated_at", "operator": "gt", "value": "{{last_sync}}"} ]' # View sync status$ hyperfold integrate map shopify --sync-status SYNC STATUS: Shopify → Hyperfold━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Direction: BidirectionalSchedule: Every 5 minutesLast Sync: 2 minutes agoNext Sync: 3 minutes LAST SYNC SUMMARY Records Processed: 847 Created: 12 Updated: 156 Unchanged: 679 Errors: 0 Duration: 4.2s PENDING CHANGES To Hyperfold: 23 records To Shopify: 5 recordsConflict Resolution Strategies
| Strategy | Behavior |
|---|---|
| newest_wins | Most recently updated record takes precedence |
| source_wins | External system is always authoritative |
| hyperfold_wins | Hyperfold data takes precedence |
| manual | Flag conflicts for manual review |
| merge | Merge non-conflicting fields from both |
Validation
Test and validate mappings before deploying:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Test field mappings$ hyperfold integrate map shopify --test Testing Shopify → Hyperfold mapping... Sample source record:{ "title": "Running Shoes Pro", "body_html": "<p>Professional <b>running shoes</b></p>", "vendor": "Nike", "variants": [{"price": "12999", "sku": "shoe-001"}]} Transformed result:{ "name": "Running Shoes Pro", "description": "Professional running shoes", "brand": "Nike", "base_price": 129.99, "sku": "SHOE-001"} ✓ All field mappings valid✓ Transformations working correctly✓ No data type mismatches # Validate with production data$ hyperfold integrate map shopify --validate --sample=100 Validating 100 sample records... VALIDATION RESULTS Valid: 97 Warnings: 3 Errors: 0 WARNINGS Record 23: 'tags' is empty, semantic_tags will be null Record 45: 'body_html' contains script tag (will be stripped) Record 78: 'variants.price' is 0, may indicate data issueAlways test mappings with
--test before enabling bidirectional sync to prevent data corruption.Mappings configured! Your integrations will now sync data according to these rules. Monitor sync status with
hyperfold integrate status.