meta_ads_products_update
Update specific fields on an existing Meta Ads catalog product, including availability, price, name, or URL. Returns the updated product.
Instructions
Updates one or more fields on an existing catalog product. Partial update — only supplied fields are changed. Returns the updated product. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. For availability toggles (in stock ↔ out of stock) this is the correct entry point; for full record replacement call meta_ads.products.add with the same retailer_id (the add is upsert-semantic).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | New landing page URL (HTTPS). | |
| name | No | New product display name. | |
| brand | No | New brand name. | |
| price | No | New price as 'amount ISO_CURRENCY' (e.g. '1200 JPY'). | |
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| category | No | New category path in Google Product Taxonomy format. | |
| image_url | No | New primary image URL (HTTPS, publicly fetchable). | |
| account_id | No | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. | |
| product_id | Yes | Meta-assigned product_id to update. | |
| description | No | New product description. | |
| availability | No | New inventory status. Meta suppresses 'out of stock' / 'discontinued' from DPA delivery. |