Support operations
Shopify-to-Front Order Enrichment
A TypeScript webhook service that added order context to support contacts while preserving existing conversation routing.
Problem
Support needed order context available inside the customer conversation without disrupting where existing support communication lived. The automation had to reduce lookup friction while avoiding a common failure mode: moving or overwriting the wrong operational context.
Work
- Built webhook logic to connect order events with support contact enrichment.
- Added merge-safe contact updates so existing metadata was not clobbered.
- Preserved routing behavior while attaching useful order context.
- Packaged the service with tests, dry-run behavior, a health check, and deployment configuration.
Outcome
Support agents could get better order context with less manual lookup, while the workflow respected existing inbox continuity and deployment hygiene.
Build story
From operational mess to trustworthy system.
Order event
Shopify data arrives with useful support context but inconsistent payload details.
Validation layer
The service normalizes fields, maps allowed values, and avoids clobbering existing contact metadata.
Front contact
Agents get order context while the existing conversation and inbox routing stay intact.
What shipped
- Webhook logic connecting order events with support contact enrichment
- Contact create and update paths for the expected Front states
- Merge-safe writes for custom fields and existing metadata
- Health check, dry-run behavior, tests, and deployment configuration
Guardrails
- Existing conversation routing preserved by default
- Custom-field writes merge rather than overwrite unrelated context
- Dry-run path available before live writes
Proof artifacts
- Sanitized workflow visual showing source event, validation, and support result
- Tests around contact create/update behavior
- Deployment configuration and health check surface
Outcome
- Support agents can see more order context with less manual lookup
- The automation respects inbox continuity instead of creating routing churn
- The service is packaged with enough diagnostics to be operated after handoff