User Manual
Help Center/User Manual/Product sync is now four nodes: inventory, price, images, profile

Product sync is now four nodes: inventory, price, images, profile

Last updated 2026-10-16

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.

Before: price, images and profile were bundled in one node and pushed at the same rhythm as inventory. After: four nodes, each synced at its own pace.

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.

  1. Go to Integration → Flows → New from template, and pick “Full product sync”.
  2. Pick the connection: which channel this sync pushes to (one Flow per channel).
  3. 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.
  4. Click Run once by hand: confirm the product shows up correctly on the channel before you rely on it.
  5. Use it whenever you add or edit products — it’s manual by design, don’t put it on a timer.
This template is for “push everything now” moments. For routine inventory pushing, build a separate scheduled flow with only the inventory node every 15 minutes. Price usually doesn’t need a timer either — trigger the price node right after each price change.

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)
Don’t mix old and new nodes pushing the same SKU in one Flow — the old push_products pushes price and images together and will fight the new nodes over which value wins. Migrate all the way.

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.