HOW IT WORKS
Under 60 seconds. No supplier cooperation. No spreadsheets.
Here’s what actually happens between the moment your supplier hits send and the moment your customer gets their shipping email.
When you connect Shopify, we mint a unique forwarding address like ch7a2fqk@in.relayship.app. You add a Gmail or Outlook filter that auto-forwards anything from your suppliers to that address. Takes about 90 seconds per inbox. Your suppliers never change how they email you.
You can filter at domain level (“forward everything from supplier@acme.com”) or by subject pattern (“forward anything containing ‘shipment notification’”). Onboarding walks you through both.
Every inbound email goes to Google’s Gemini Flash model with a strict JSON response schema. We pass the email body (plain text and sanitized HTML) plus any PDF attachments as multimodal inputs. Gemini returns a structured object with:
If extraction confidence is too low, the email skips straight to the human queue. We never guess.
Matching is a four-tier cascade. We try the most precise signal first:
combinedConfidence = min(extractionConfidence, matchConfidence). If that’s above your threshold (default 0.9, adjustable 0.5–0.99), we call fulfillmentCreateV2 with the right SKU line items, the tracking number, and the canonicalized carrier. Shopify sends the shipping notification to your customer.
Below threshold, or if the shipment has any ambiguity we can’t resolve deterministically, it goes to the queue. We’d rather ask than ship wrong tracking.
Two suppliers ship parts of one order? Each gets its own fulfillment tied to the line items that left that warehouse. A resent tracking email that updates an existing fulfillment? We call fulfillmentTrackingInfoUpdateV2, don’t duplicate. One email with 20 tracking numbers? We split it into 20 shipments and match each independently.
Every time you correct a match in the queue, we store that correction as a few-shot example for that supplier’s domain. After about 10 shipments from a given supplier, their format is a solved problem. Auto-fulfill rate approaches 99%.
On Growth and above, you can write custom prompt instructions per supplier (“ACME emails use ’PO’ prefix but the Shopify order name drops it. Use the numeric portion only.”) that get merged into Gemini’s prompt for that supplier’s emails.
Relayship doesn’t replace AfterShip (customer-facing tracking pages), Klaviyo (post-purchase email), or Spark Shipping (enterprise EDI). We’re the missing link between your supplier’s inbox and Shopify’s fulfillment API. That’s the whole product.