Ecommerce · Listing copy
WorkflowHome & lifestyle D2CProduct listing copy for every new SKU, in your brand voice
A new collection lands with 60 SKUs and placeholder titles. This playbook drafts every listing from your brand voice guide the moment a product is created, and nothing goes live until a merchandiser approves it.
Valnora & Elric team6 min read
- Format
- Playbook
- Steps
- 7
- Solution
- Workflow
- Parts used
- 4
Kora Home is a fictional home décor brand, used here as an illustration. Their buying team creates new products in Shopify with working titles like "Cushion cover jute 45" and a spec sheet in a shared drive. Two merchandisers then write every listing by hand. When a 60-SKU festive collection lands, half the products go live with a one-line description and no alt text, and the SEO fields stay blank for months.
This playbook drafts the full listing the moment a product is created, in the brand’s own voice, and leaves the final word with a merchandiser.
Step 1: Write the brand voice down
The model can only sound like you if your voice is written somewhere it can read. Create a Knowledge Base with:
- The voice guide. Short sentences or long, first person or not, words you use and words you never use.
- Banned and qualified claims. For example, no "eco-friendly" unless a certificate is on file, no "handmade" for machine-finished items.
- Category notes. What every cushion, rug or lamp listing must state: size, material, care, what is not included.
- Model listings. Two or three listings your team is proud of, per category.
This is the part that takes a day of work. It is also what makes the drafts useful instead of generic.
Step 2: Start one run per new product
Shopify has no built-in trigger in Agent Serve, so you use its webhooks. In Shopify, add a webhook for product creation and point it at the Webhook trigger of a workflow in the workflow builder. Each new product starts its own run.
The first block, Shopify Get Product, reads the full product: title, product type, tags, options, variants and the list of images. Ask your buying team to tag products with facts from the spec sheet, such as material:jute or size:45x45, so the copy has something true to work from.
Step 3: Draft the copy from the guide
From a new Shopify product to an approved listing
Workflow · Draft the listing
- 01Product webhookA Shopify product creation webhook points at the workflow’s Webhook trigger.
- 02Get productThe Shopify block reads the product, variants, options, tags and image list.
- 03Brand voice searchFinds tone rules, banned claims, material notes and the matching category guide.
- 04Draft copyWrites title, description, SEO title, meta description and alt text per image.
- 05ChecksLength limits, banned claims and required facts such as size and care.
People · Review and update
- 06Human in the loopThe run pauses with the draft beside the product; the merchandiser edits or approves.
- 07Update productThe approved copy is written back to Shopify; the product stays in draft.
- 08Listing logOne row per product: draft, edits, approver and time to approve.
A Knowledge search block finds the voice guide, the claims list and the category note that matches the product type. An agent block then writes six fields in one structured response:
- Title, following your pattern.
- Description, as short paragraphs or bullets, per your guide.
- SEO title, within the length you set.
- Meta description, usually 120 to 160 characters.
- Alt text for each image, from the attributes and image order.
- A list of facts it used, each linked to a tag or the spec.
Tell it plainly: "If a fact is not in the product data or the category note, leave it out and say what is missing." A missing care instruction should come back as a question, not a guess.
Step 4: Check before a person sees it
Cheap checks save reviewer time. Add a step that tests each draft against simple rules: length limits, required facts present, no word from the banned list. A failed check either sends the draft back to the agent block once with the reason, or marks it for the reviewer to fix.
Step 5: A merchandiser approves
What the solution produces
Draft listing for review (illustrative)
Record- Product
- KH-CUS-218 · created as "Cushion cover jute 45"
- Title
- Handwoven jute cushion cover, 45 × 45 cm, natural
- Description
- Woven by hand from undyed jute, with a cotton back and a concealed zip. Slightly textured, softens with use. Insert not included. Spot clean only.
- SEO title
- Jute cushion cover 45 × 45 cm | Kora Home
- Meta description
- Handwoven natural jute cushion cover with cotton back and concealed zip. 45 × 45 cm, insert not included. Spot clean only.
- Alt text, image 1
- Natural jute cushion cover on a grey linen sofa
- Checks
- Size present · care present · no banned claims · meta within 160 chars
Reviewer checklist shown in the approval (illustrative)
Checklist- Does the alt text match what the photo actually shows?
- Are size, material and care correct against the spec sheet?
- Any claim the brand guide does not allow, such as "eco-friendly" without a source?
- Approve, edit in place, or decline with a note for the next draft.
The Human in the loop block pauses the run and shows the draft with the reviewer checklist. The merchandiser edits any field in place, approves or declines with a note. Nothing reaches the store before this step.
Reviewers should look hardest at alt text. Do not assume the model has seen the photo; it is working from attributes. If the second image is a close-up of the zip, the reviewer fixes the alt text to say so.
Step 6: Write it back to Shopify
On approval, Shopify Update Product writes the title and description to the product. If your store needs SEO fields or image alt text that the block does not set, an API block calls Shopify’s Admin API with your access token stored as a workspace secret.
Keep the product in draft status. Publishing to the storefront stays with your team, alongside pricing and stock checks. The final step writes a row to a listing log in Tables: product, draft, what the reviewer changed, who approved and when.
Step 7: Learn from the edits
The listing log is the feedback loop. Once a month, read what reviewers changed most often. If they always shorten the first sentence or remove a certain adjective, add that to the voice guide. The drafts improve because the guide improves, not because anyone retrains a model.
Controls and governance
Approvals before action
Relays never send email or book meetings without an approval, under any autonomy setting. An approval covers the exact payload the reviewer saw and expires if nobody decides.
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
Audit trail
Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
Bring your own keys
Use your organisation’s own model provider keys at organisation or workspace level.
More on how Agent Serve handles access, data and audit on the security page.
Every run is in Logs, block by block, so you can see which guide passage a draft relied on. The workflow runs from a deployed version, so changes to the prompt are reviewed before they reach new products.
For product imagery to go with the copy, see UGC-style fashion images. For video, see product video ads.
Questions teams ask
Can it write copy for products we already have?
Yes, with a separate run over a list. A workflow lists products with a tag such as needs-copy and runs the same steps for each one in a Loop block. Every draft still waits for a person.
Does the model look at the product photos?
Do not assume it. Alt text is drafted from the product’s attributes and image order, and the reviewer checks it against the photo. That review is the point of the approval step.
Which model writes the copy?
You choose it in the agent block. Admins can limit model providers per permission group, and you can bring your own provider keys.