Sync and WhatsApp Business Catalog

Conversa Labs

Conversa Labs

Last updated on Aug 23, 2026

Overview

Sync connects your native catalog to Meta's WhatsApp Business Catalog. Once bound, products exist in both places and can be kept in two-way sync: what you record on the platform is pushed to Meta, and what exists in Meta's catalog can be imported into the platform.

This is what makes it possible to send native products on WhatsApp, open the catalog inside a conversation, and receive orders from the customer's cart — all from a single, up-to-date catalog.

Prerequisites

  • A connected, working WhatsApp (Cloud API) Inbox.
  • A catalog set up in your Meta business account (Business / Commerce Manager).
  • The Catalog & Commerce module enabled and permission to manage sync sources.
  • A native catalog with products recorded (recommended before the first sync).

Step by step

  1. In the Catalog area, open the sync sources configuration.
  2. Create a source of type WhatsApp Business Catalog (Meta) and select the Meta catalog to bind.
  3. Bind the source to the matching WhatsApp Cloud inbox — the access credential is reused automatically from that inbox, with no need to enter a separate token.
  4. Set the sync interval (how often the platform checks Meta's catalog).
  5. Run the first sync and review the imported/updated products.
  6. From then on, changes flow both ways according to the configured interval, and you can force a manual sync whenever you want.

Settings & options

  • Bound Meta catalog: which catalog from the business account is connected to the source.
  • Inbox: the WhatsApp Cloud inbox used for the credential and to send products.
  • Sync interval: how frequently automatic syncs run.
  • Manual sync: a button to run the sync right away.
  • Two-way: products recorded on the platform are published to Meta; Meta products are imported into the platform, matching identifiers on each side.

Publish safely and review validation

Each sellable variant is published as its own Meta catalog item. Variants of the same product stay grouped, but have separate identities so price and availability never bleed between sizes, colors, or other options.

Before sending, the platform blocks the variant and shows the reason when a Meta requirement is missing: name, description, brand, public HTTPS link, price, currency, or a public HTTPS image at least 500 × 500 pixels. Complete the fields on the product and try again — a local block is never treated as a synchronized product.

After Meta accepts a batch, it still validates the content asynchronously. Open the product and review the status on each variant: Waiting for validation, Validated, Rejected, Publishing blocked, or Inconclusive validation. Treat an item as available on Meta only after it is Validated; a rejection message points to the field that needs correction. Inconclusive validation means Meta answered without a recognized result. Transient states such as “started” are checked again for up to four minutes; if validation timed out appears, publish the product again and follow the execution history.

On the way back in, the items of one group return to the same product, each as its own variant. The platform recognizes the product by its group and by each variant identifier, so a re-import updates the existing product instead of creating a copy.

Assisted reconciliation of remote items

When editing an outbound or two-way Meta source, Assisted Meta catalog reconciliation lists remote items that do not have a local variant with the same retailer_id. It is a review step only:

  1. Refresh the list and verify the name and identifier of every potential orphan.
  2. Select only items that should really leave the Meta catalog.
  3. Click Request selected removal and confirm in the dialog.

Nothing is removed by opening or refreshing the list. The platform re-reads the catalog when you submit, rejects a selection that has changed, and also rejects a batch above the 10% remote-catalog safety limit. Even after the request is accepted, Meta validates the batch: the UI says “submitted for validation”, not “removed”, until the remote confirmation arrives.

Use cases

  • A store that already has a catalog in Meta and wants to bring it into the platform to serve and bill.
  • An operation that prefers to record products on the platform and publish them automatically on WhatsApp.
  • A team that maintains a single catalog and wants to avoid updating prices in two places.

Tips, limits & best practices

  • Automatic credential: when you bind the source to the WhatsApp Cloud inbox, the platform uses that inbox's credential — you don't need to register a token just for the catalog.
  • Images must be reachable: the sync downloads product images. If the original image is hosted at an address that goes offline, it won't be imported. Keep images in a public, stable HTTPS location; use at least 500 × 500 pixels for publishing.
  • Major-unit amounts: prices stay in major units (4.97 = R$4.97) on both sides.
  • Run the first sync outside peak hours so you can review the result calmly.

Troubleshooting

  • Imported products without images: the original image may be unreachable; ensure a public address and run the sync again (each run re-attempts the image download).
  • Nothing syncs: confirm the source is bound to a valid WhatsApp Cloud inbox and that the selected Meta catalog is the right one.
  • A change didn't appear on the other side: wait for the sync interval or run a manual sync. For publishing, open the variant and check whether Meta validation is waiting, blocked, or rejected; an accepted batch response is not yet catalog confirmation.
  • Validation timed out: Meta did not provide a final result during the automatic checks. Publish the product again; if the warning persists, inspect the item in Meta Commerce Manager.
  • An item is not listed in reconciliation: remote items without a retailer_id are never offered for automated removal. Locate those items directly in Meta Commerce Manager.

See also