Product sync is now four nodes: inventory, price, images, profile
The old “inventory + products” nodes ran everything at one rhythm — it never quite worked. Now four separate nodes: inventory every 15 minutes, price daily, images and profile on demand.
Pushing product data to a sales channel used to take two nodes: channel.push_inventory (inventory) and channel.push_products (products). One handled “how many are left”, the other “what is being sold” — clean on paper, awkward in practice. Inventory needs pushing every 15 minutes; product info (titles, images, prices) barely changes once a day. Two different rhythms crammed into two nodes: either inventory synced too slowly and you oversold, or images and prices were pushed over and over, burning through the platform’s API quota.
Why four nodes#
The whole logic is one sentence: things that change at different speeds should sync separately.
- Inventory: every sale reduces it; during a big promotion it can change within minutes → sync every 15 minutes.
- Price: pricing is a human decision, a few times a day at most → once a day, or push manually right after a price change.
- Images: only change for new listings or image swaps → push on demand, no schedule needed.
- Profile (title / description / weight / barcode): only changes when you create or edit a product → push on demand, no schedule needed.
What each node does#
channel.push_product_inventory — product inventory sync
Pushes sellable inventory from OMS / WMS to the channel — the “only X left” number shoppers see. This is the busiest of the four nodes, and the only one that should run on a tight schedule.
- Turn it on: every 15 minutes on a timer (the template default).
- During big sales / flash deals you can tighten it to every 5–10 minutes — watch the channel’s API rate limit.
- It only pushes quantities — never touches price or images, so it runs fast and sips API quota.
channel.push_product_price — product price sync
Pushes the selling price to the channel. Prices are set by people — they only need pushing when they change.
- Once a day on a timer (the template default) as a safety net.
- After every price change, trigger it manually once — the new price goes live immediately instead of waiting for tomorrow.
- Keep it on its own schedule — don’t bundle it with the inventory node.
channel.push_product_images — product image sync
Pushes the main image and detail images to the channel. Images eat the most bandwidth and the channel reviews them the slowest — there is no reason to run this on a timer.
- Trigger manually when you list a new product, swap the main image, or add detail shots.
- One run pushes the full set; if only one image changed, most connectors let you push just that one.
- After pushing, check the storefront — the channel caches images, so it can take a few minutes to show up.
channel.push_product_profile — product profile sync
Pushes the “profile” fields — title, description, weight, dimensions, barcode — to the channel.
- Trigger manually when you create a product or edit its title / description / weight.
- Fields that affect fulfillment — barcode, weight — should be pushed right after you change them.
- No timer needed.
Using the “Full product sync” template#
The Flow template library now ships a “Full product sync” template: one click runs all four nodes in order — inventory → price → images → profile. It’s the fastest way to get a new product live on a channel, or to refresh everything after you rework a listing.
- Go to Integration → Flows → New from template, and pick “Full product sync”.
- Pick the connection: which channel this sync pushes to (one Flow per channel).
- Review the field mapping once: make sure SKU, price and image fields line up with what the channel expects. One wrong mapping breaks all four nodes.
- Click Run once by hand: confirm the product shows up correctly on the channel before you rely on it.
- Use it whenever you add or edit products — it’s manual by design, don’t put it on a timer.
Migrating from the old nodes#
The old channel.push_inventory and channel.push_products have been removed — existing Flows must switch to the four new nodes. The mapping:
- push_inventory (inventory) → push_product_inventory
- push_products (products) → splits into three: push_product_price (price) + push_product_images (images) + push_product_profile (profile)
FAQ#
Inventory still looks off / I oversold — what now?
Check two things first: ① is the 15-minute cadence fast enough for this shop — consider tightening it during hot sales; ② did the channel rate-limit the API, which silently skips a push. If both look fine, check the mapping next.
Can I change the four node schedules?
Yes. Each node runs on its own schedule and they don’t affect each other. Before tightening one, remember: more frequent means more API calls.
I pushed images but the storefront didn’t change?
“Success” on the node only means the push went through. The channel still has image review and CDN cache on its side — a few minutes to a few hours of delay is normal. Check the channel’s backend first to confirm the images actually updated there.