# Bulk edit products with AI: prices, stock and SEO in one sentence

Bulk edit products with one sentence to an AI agent: a new supplier price list, 15% off a category, stock by SKU, a preview first and a file to undo.

Source: https://cloudcart.com/en/blog/bulk-catalog-changes-ai · CloudCart · 2026-11-06

In short: to bulk edit products in CloudCart, you write one sentence to an AI agent connected to your store with a personal access token (PAT). The agent finds the products, calculates the new value for each one, shows you the count and the first 5, and waits for your "yes". With the CloudCart skills, for 100 rows or more it first saves the current values to a CSV file, which is your way back.

## Bulk edit products: what one sentence can change

One sentence to an AI agent changes prices, stock, discounts, visibility, categories and SEO texts on hundreds of products at once. The agent (Claude Code, ChatGPT Codex, Gemini CLI, Cursor or VS Code) runs on your computer and works through the CloudCart Admin GraphQL API, within the scopes of the [personal access token](https://cloudcart.com/en/blog/ai-assistant-store-management) you gave it. The table shows common bulk edits and the scope each one needs.

| Change | Sentence to the agent | Token scope |

| Price by formula | "Raise prices of brand X by 8% and round to .90." | products |

| New supplier price list | "Here is the supplier file. Update prices by SKU and show me which ones are missing." | products |

| Stock levels | "Set quantities from warehouse.xlsx by SKU." | inventory |

| Time-limited sale | "15% off everything in Winter from Friday to Sunday." | discounts |

| SEO texts | "Write a meta description for every product that has none." | products |

Products have built-in bulk operations for status, "featured" and "new", categories, brand, labels, inventory tracking, duplicating and deleting. [Variants](https://cloudcart.com/en/blog/product-catalog-management) have bulk operations for price, quantity and selling when out of stock, up to 500 changes at once within one product. Other fields, such as descriptions or SEO titles, the agent updates product by product.

## How the AI agent makes a bulk change: 6 steps

The agent follows the same steps for every bulk change. The rules come with the CloudCart AI toolkit skills it installs when it connects.

- Finds the products or variants. By category, brand, label, stock level or by the SKUs in your file.

- Shows what it will change. For 10 products or more it gives you the count and the first 5 and waits for confirmation.

- Calculates each value. Minus 15%, plus 8% with rounding, or a price from a file, per variant.

- Saves the current values. For 100 rows or more it stores the old values in a CSV file and does a dry run first.

- Applies the change. Only after your "yes". If one product returns an error, the others continue.

- Reports the result. What changed, what did not and why.

Important: above 1,000 rows the backup file is never skipped. These rules apply to agents with the CloudCart plugin; with any other agent, write "show me the plan first and wait for my yes".

> Store run by an AI assistant 1,000 prices with one sentence, and a file to undo them You connect the agent with one sentence copied from the admin dashboard, and CloudCart charges nothing for the connection. How the AI assistant connects →

## What you need before the first bulk edit

You need an AI agent on your computer, a personal access token with the right scopes and 10 minutes for a read-only test question.

- Create the token. In the admin: Settings → PAT Tokens , or the user menu in the bottom-left corner → PAT Tokens → Create Token . Only the store owner can create a token, up to 100 per owner.

- Choose the permissions. Pick "Custom Permissions" and only the scopes from the table above. In "Advanced Settings" set an expiry date and, if you work from one office, an IP address.

- Copy the value right away. The token (it starts with cc_pat_ ) is shown only once.

- Copy the connection sentence. On the admin dashboard, the card "Connect your store to an AI agent" has the button Copy the setup instruction . Paste it into your agent.

- Answer the agent's questions. Your language, the store address without https:// and the token. The agent installs the CloudCart CLI itself.

- Ask a test question. "How many active products are in the Winter category and what is their average price? Read only."

How many products a store holds depends on the plan: Baby Pack up to 100, Starter Pack up to 2,000, CC Pro up to 7,500, and CC Master has no limit (see [plan prices and limits](https://cloudcart.com/en/pricing)). A catalog of 1,000 products needs at least Starter Pack. Setup step by step is on the [Claude Code](https://cloudcart.com/en/offer/ai-claude-code) page and in the guide to [running an online store with Claude Code](https://cloudcart.com/en/blog/online-store-with-claude).

## 6 bulk edits and the sentence that does each one

These six scenarios cover most bulk edits a store makes in a year, each with its sentence and the trap to avoid.

### 1. 15% off a whole category for Black Friday

Sentence: "Give 15% off all products in the Winter category from Friday 00:00 to Monday 23:59. Show me which products are included and wait for my yes." Ask for a discount (scope discounts) rather than new prices: customers see the old and the new price, and after the end date prices return on their own. Change the price itself only when the new price stays for good. Across the EU, any announced price reduction must show the prior price, which is the lowest price you applied in at least the 30 days before the reduction. This rule comes from [Directive (EU) 2019/2161](https://eur-lex.europa.eu/eli/dir/2019/2161/oj) and applies in every member state since 28 May 2022, with some national exceptions for perishable goods and new products. So do not raise prices the week before Black Friday to make the discount look bigger. The eight kinds of discounts in CloudCart are in the guide to [promo codes and discounts](https://cloudcart.com/en/blog/discounts-promo-codes).

### 2. A new supplier price list in an .xlsx file

Sentence: "In ~/Downloads/price-list-november.xlsx column A is the SKU and column D is the new net price. Update prices including 20% VAT by SKU. Show me which SKUs are missing in the store and which products go up by more than 10%." The agent reads the file from your computer and matches the codes to the variant SKUs.

Say the VAT rate every time. Each EU country sets its own rates, and the standard rate cannot be lower than 15% ([Your Europe: VAT rates](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm)), so a supplier in one country and a store in another often mean two different numbers. The check for increases above 10% catches a wrong column or a misplaced decimal separator before 1,000 prices become ten times higher. If the supplier sends a price list every week, keep the column names the same and next time say only "same as last time with the new file".

### 3. Stock levels from the warehouse

Sentence: "Set quantities from warehouse-stock.csv by SKU. Do not touch products that are not in the file. Show me the ones that drop to 0." Quantities need the inventory scope on the token. The Products → Inventory screen shows only products with inventory tracking, so ask the agent to also list codes that belong to products without tracking. If your stock lives in an ERP system, let quantities come from it through an integration. Connecting a warehouse is covered in the article on [ERP, POS and warehouse](https://cloudcart.com/en/blog/erp-pos-warehouse).

### 4. Meta descriptions for every product that has none

Sentence: "Find the products without a meta description. Write one sentence of up to 155 characters for each, with the name, the main benefit and the price. Show me the first 5 and wait for my yes." The meta description is the short text Google may show under the title in search results. Google sometimes uses it when it describes the page more accurately than the page content itself ([Google Search Central](https://developers.google.com/search/docs/appearance/snippet)).

The agent writes the texts from the product data, so the more complete the attributes, the more precise the texts. Add "no superlatives and no claims that are not in the description", and if you sell in several languages, ask for the language of each store. How to structure titles, categories and internal links is in the article on [SEO for an online store](https://cloudcart.com/en/blog/online-store-seo).

> AURA Complete product texts also sell in the store's chat The descriptions and attributes you fill in bulk are what Aura Search and Aura Chat use to find products and answer customers. What AURA does →

### 5. Hiding out-of-stock products

Sentence: "Show me active products with stock 0 that do not continue selling when out of stock. Hide them after my yes and give me the list so I can show them again when stock arrives." Hiding is a built-in bulk operation (scope products), and a hidden product keeps its address and history, so it beats deleting for stock that will come back.

### 6. A brand price increase with rounding to .90

Sentence: "Raise the prices of all variants of brand X by 8% and round up to .90. Do not touch sale prices. Show me the first 5 before and after." The admin's bulk Change price action gives every selected variant the same price; the agent calculates the formula for each.

Important: after every price write, the variant with the lowest price becomes the base variant shown on the category card, so rounding can change which variant customers see first.

If you sell in several countries with a separate store for each, every store has its own token and its own prices. Give the agent one sentence per store, for example "same 8% increase in the German store, rounded to .95", and check the first 5 in each. How language stores with their own currency and prices work is in the guide to [a multilingual online store](https://cloudcart.com/en/blog/multilanguage-multicurrency-multistore).

## AI agent, Google Sheets, "Change price" or CSV import: which one when

CloudCart has four ways to bulk edit prices. The most common mistake is the CSV import: it creates new products, so re-importing an edited file creates duplicates.

| Path | How it works | Best for | Limitation |

| AI agent with a PAT | One sentence, a preview of the first 5, "yes" | A rule you can say in words: 15% off a category, plus 8% on a brand, a price list by SKU | Up to 300 requests per minute per store, large jobs take minutes |

| Google Sheets (app) | Upload sends the catalog to a sheet, you edit it, Download brings it back | Manual changes row by row: different prices, names, texts | One task at a time; the sheet wins on Download |

| Products → Inventory → Change price | You select rows and enter one price | The same new price for a group of variants | No percentages or formulas |

| CSV import | You upload a CSV and map the columns | First catalog load, migration | Does not update existing products; no undo |

For a first catalog load, see the guide to [importing products from CSV and XML](https://cloudcart.com/en/blog/product-import-csv-xml); every way to load and edit a catalog is on the [product catalog](https://cloudcart.com/en/catalog) page.

## How to check 5 products before you change 1,000

This 2-minute check catches almost every expensive mistake: a wrong column, a wrong category, VAT added twice.

- The count. 1,240 instead of 1,000 means the filter also catches subcategories or hidden products.

- One cheap and one expensive product. Ask "show me the cheapest and the most expensive after the change". Rounding and VAT errors show most clearly at the extremes.

- Variants. A product in 6 sizes should get 6 new prices.

- Sale prices and discounts. Say explicitly whether the sale price is touched. An active discount on an already reduced price gives a double reduction.

- A test write. For over 1,000 products, say "write only these 5 and stop", check them as a customer, then continue.

## How to undo a bulk edit

A bulk edit is reversed with the file of old values the agent saves before the change. CloudCart has no general undo button, so this file matters most.

- Ask for the file. Before the change: "save the current prices to a CSV and tell me where the file is". For 100 rows or more the agent does it on its own.

- Restore the values. "Restore the prices from old-prices-backup.csv by SKU." The agent applies the old values with the same preview and the same "yes".

- Check one product. In the admin every product has a Change log (the clock icon in the product list): the date, the old and new value of each field and who made the change.

To tell the agent's work apart from your own, create a separate token per task with a clear name, for example "November price list". The token list shows when each was last used.

Important: daily backups (Settings → Backup & Restore, a paid module) are not for restoring prices. A full restore replaces the whole store with that day's copy and loses everything after it, including new orders.

## How long it takes to change 1,000 products

With the agent it takes minutes; by hand in the product editor, a working day. The Admin GraphQL API accepts up to 300 requests per minute per store address, shared by the mobile app, the CLI, agents and scripts.

| Task for 1,000 products | By hand in the editor | With an AI agent |

| Price by formula | about 8 hours (30 seconds per product) | a few minutes: the bulk operation for variants saves requests |

| Meta description on every product | 2 to 3 days of writing | 3 to 4 minutes for the writes, plus writing and your review |

| Hiding out-of-stock products | an hour of filters and checkboxes | under a minute: a built-in bulk operation |

Other API connections share the same limit, so run large changes in the evening. How much more time the agent saves in daily work is calculated in the article on [why an online store needs an AI agent](https://cloudcart.com/en/blog/ai-agent-online-store-why).

## After the bulk edit: email, ads and metrics

A price change brings orders when customers hear about it. The agent writes from the real products and new prices and reads orders without an export.

| Channel | Sentence to the agent | What to measure after 7 days |

| Email through Marketing Suite | "Draft an email to subscribers with the 6 best sellers in the sale." | Opens, clicks, orders |

| Meta and Google Ads | "Write 3 ad texts and 10 headlines of up to 30 characters with the new prices." | Cost per order, conversions |

| Store metrics | "Compare orders, revenue and average order value in Winter with last week." | Orders, revenue, average order value |

Send it from Marketing → Campaigns only to subscribers who agreed to receive emails, never to anyone who unsubscribed. See the guide to [an email campaign in CloudCart](https://cloudcart.com/en/blog/email-campaign-cloudcart-step-by-step). The order report needs only orders:read; weekly numbers to follow are in the article on [online store metrics](https://cloudcart.com/en/blog/ecommerce-kpi-metrics-ai-agent).

Important: most customers see the new price on their phone. Open 5 changed products on a mobile device and check the price, the old price, the variant on the category card and the add-to-cart button.

## 7 mistakes in bulk price and catalog changes

- CSV import to change prices. The import creates new products, so an edited file creates 1,000 duplicates.

- A full-access token. Prices need only products ; a narrower key limits the damage.

- "Just do it" without a preview. Ask for the first 5 and wait.

- Unclear VAT. Say whether the prices in the file include VAT and at which rate, and for which country.

- No file with the old values. Without it, undoing is manual, product by product, from the change log.

- A price change for a short sale. A discount with an end date reverts on its own.

- The token left in a chat or a file. Without an IP limit it works for anyone who has it. If in doubt, delete it under PAT Tokens: it stops at once.

> €1 for 3 months Try bulk edits in a real store for €1/month New stores pay €1/month for the first 3 months on any plan, with no code. Load your catalog, connect the agent and run your first sale before Black Friday. Create a store for €1 →

## Frequently asked questions

**How do I bulk edit prices on all products at once?**

With one sentence to an AI agent connected to the store through a personal access token with the products scope: "Raise all prices by 8% and round to .90, show me the first 5." The agent calculates each variant's price and writes after your "yes".

**How do I update prices from a supplier price list?**

Give the file to the agent and say which column is the SKU and which is the price: "Update prices by SKU and show me which ones are missing." The agent matches them to variant SKUs and writes after confirmation. For manual edits, use the Google Sheets app.

**How do I undo a bulk edit?**

With the file of old values the agent saves before the change: "Restore the prices from the file by SKU." For 100 rows or more the agent saves it on its own. Each product's change log also shows old and new values.

**Can a CSV import update prices of existing products?**

No. The CSV import in CloudCart always creates new products, so re-importing an edited file creates duplicates. Use it for the first catalog load, and the AI agent or Google Sheets for changes.

**What access does an AI agent need to change prices?**

A personal access token with "Custom Permissions" and the products scope for read and write. For quantities add inventory, and for discounts discounts.

**Discount or price change for Black Friday?**

For a short sale, a discount with a start and end date is the better choice: the old price stays and prices return on their own after the end. Changing the price itself makes sense when the new price stays for good. Under EU rules, an announced reduction must show the lowest price of the previous 30 days as the prior price.

Questions about bulk edits in your store: [support@cloudcart.com](https://cloudcart.commailto:support@cloudcart.com).
