Integrating Shopify inventory with custom sales channels like Temu, Allegro, or Onbuy is best handled directly in the admin dashboard. Here is how we decoupled our core marketplace synchronization engine.
By Team WebSync · · 3 min read

Merchants prefer to manage their business from a single dashboard. Forcing them to log in to external platforms to configure inventory mapping, product listings, or shipping tracking is a major UX friction point.
To solve this for our clients, we extracted key synchronization processes from our core synchronization engine and built modular, embedded Shopify apps for Onbuy, Temu, and Allegro using Shopify's Remix framework. This is how we architected the integration.
The foundation of multi-channel synchronization is mapping. We built an intuitive SKU mapper directly inside the Shopify admin panel using Polaris components.
Once a merchant maps a Shopify SKU to its marketplace counterpart, the app saves this pair to our central database, allowing automatic bidirectional updates.
When a customer buys on Temu, Onbuy, or Allegro, our webhook receiver intercepts the transaction and creates a corresponding order in the merchant's Shopify admin automatically.
The merchant can fulfill the order and generate shipping labels using their existing Shopify app flow, and our background queue immediately relays the tracking details back to the source marketplace.
By using Remix loaders and actions, we fetch mapped products in the backend and render them instantly on the frontend inside the Shopify iframe. The merchants don't even feel like they've left Shopify.
import { json } from '@remix-run/node';
import { useLoaderData } from '@remix-run/react';
export const loader = async ({ request }) => {
const { admin } = await authenticate.admin(request);
// Fetch mapped products from internal sync database
const mappings = await db.getMappings(admin.shop);
return json({ mappings });
};
export default function Dashboard() {
const { mappings } = useLoaderData();
return (
<Page title="Marketplace Mapping">
<Layout>
<Card sectioned>
<p>You have {mappings.length} active product mappings.</p>
</Card>
</Layout>
</Page>
);
}Shopify API limits work on a Leaky Bucket algorithm. During peak sales, pushing millions of SKU updates all at once will trigger HTTP 429 rate limit exceptions, blocking sync entirely.
We solved this by queuing all updates in BullMQ. The queue processors automatically calculate the remaining API budget from Shopify's headers and wait before firing new requests, ensuring smooth, uninterrupted transfers.
Embed the synchronization features directly into the tools your merchants already use everyday. Good integrations should be invisible.
Queue every API update through Redis/BullMQ instead of firing calls directly, and calculate the remaining request budget from Shopify's rate-limit response headers before each batch. Combined with a webhook receiver for inbound marketplace orders, this keeps bidirectional sync within Shopify's leaky-bucket limits even during peak sales.
Turn a CSV or TSV table into JSON records, or flatten JSON back into a spreadsheet-ready table.
Check a product CSV for missing columns, broken variant handles, duplicate SKUs, invalid barcodes and bad prices before you import it.
Generate consistent SKU codes in bulk from a custom pattern with variant permutations, sequential numbering and collision checking.
Convert product codes between GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) and GTIN-14, validate check digits, and normalise a whole catalog in bulk.
Book a free consult - we'll scope it and give you a fixed price.