In this phase, you are learning how to turn a plain-language product brief into a marketplace-ready listing using an AI agent, and, more importantly, how to put real guardrails around that agent instead of trusting it to behave on its own.
You will need to build a working n8n workflow that receives a brief, sends it to a language model with a carefully engineered prompt, and then checks what the model wrote before a human ever sees it.
The outcome you are aiming for is being able to explain, with evidence, what a well-written prompt does that a weak one does not, and what a separate compliance check catches that the prompt alone missed - not simply that the workflow runs.
The full workflow, from the very start:
The steps below are not only the five n8n nodes. They are everything you do, from opening this assignment for the first time to seeing a finished, checked listing come back. Steps 1 to 3 happen in this app and in the n8n editor, before any node runs. Steps 4 to 8 are the five n8n nodes themselves, running in the order shown in the tracker below.
Step 1, upload course files. Open the file guide below, download the files listed for this phase, and import File 8, the n8n Starter Workflow JSON, into your own n8n canvas. That file already contains five empty nodes - you are wiring them up, not building a workflow from a blank canvas. In plain terms: this step happens before any n8n node runs - you are only making sure the workflow file and the guide are open and ready.
Step 2, input your brief. Fill in the brief form below: upload a file, paste its text, or load one of the two samples. Every field you complete there is exactly what step 5, Parse Brief Fields, pulls apart once your brief reaches n8n. In plain terms: this is you handing over the raw facts about your product - the more complete this form is, the more the AI has to work with later.
Step 3, connect n8n. In n8n, open the Webhook trigger node and copy its Production URL. Paste that URL into the webhook field near the top of this app. Until you do this, clicking Generate Listing has nothing real to talk to. In plain terms: this is the one wire that connects this app to your workflow - skip it, and Generate Listing has nowhere to send your brief.
Step 4, Brief In (the Webhook node). A webhook is simply a URL that waits. Nothing runs until a request reaches it - the moment this app sends your brief there, the workflow wakes up and starts running with that data. It is the entry point of the whole workflow and does no thinking of its own. In plain terms: think of it as a doorbell - nothing runs until this app presses it, and it does no checking or thinking on its own.
Step 5, Parse Brief Fields. This node takes the one large request the webhook received and pulls each field (SKU, product name, category, channel, market, materials, specs, positioning) out into its own clean variable, so the next node can use them individually. In plain terms: a Set node does not think or call any AI - it just relabels and reshapes incoming data into clearly named fields, the way you might copy values from a messy form into a tidy spreadsheet row.
Step 6, Listing Generation Agent. This is where your prompt engineering happens, the heart of the assignment. This node sends the brief and your system prompt to a language model and asks for a title, five bullets, and a description. A weak prompt here produces a generic listing that no guardrail downstream can fix. In plain terms: this step calls an AI model (the same kind of technology behind ChatGPT), handing it your data and your instructions in one request.
Step 7, Compliance Check. This node re-checks the listing the model wrote against your restricted-language list, after the model has already written it. It exists to catch what your prompt did not. In plain terms: this is a second, independent check written as plain code, not another AI call, so it cannot be talked out of flagging a problem the way a model sometimes can.
Step 8, Return Result. This node bundles the listing and the compliance result into one response and sends it back to this app, where it renders as the result you see below. In plain terms: this is the finish line - it does not check or change anything, it only packages up what the earlier steps produced and sends it back.
Checklist and required evidence.
Before you screenshot anything, confirm in n8n:
You imported the starter workflow (08_n8n_Starter_Workflow.json) and it shows five connected nodes: Webhook, Parse Brief Fields, Listing Generation Agent, Compliance Check, and Return Result.
Your OpenAI or Anthropic credential is selected on the Listing Generation Agent node.
You replaced every [REPLACE] placeholder in that node prompt with the Kanvas brand voice, the Amazon AE channel rules, and at least three hard rules, and added the same restricted words to the Compliance Check node prohibited list (or to this app Restricted language and claims list under step 3, if your workflow reads that list from the request instead).
The workflow is Activated, and its production webhook URL (not the one-shot test URL) is pasted into the n8n connection field under step 3.
The Webhook trigger Respond setting is Using Respond to Webhook Node, with the Return Result node at the very end of the chain.
Required evidence (screenshots):
Your sample product brief input (step 1, Add your product brief).
Your prompt or agent configuration (step 3, Customize the AI prompt, and the Listing Generation Agent node in n8n if that is where you wrote it).
The generated Amazon AE listing (step 8, Your generated listing).
Your edge-case input, together with a short written statement of where the agent failed, flagged an issue, or needed you to step in.
Step by step, in this app:
In step 1, click "Try sample: Planter Set" to load the golden brief (or upload or paste your own). Screenshot the filled-in fields - this is your input evidence.
In step 3, screenshot your prompt. For the baseline-versus-optimized comparison, click "Load baseline prompt" first and generate, then click "Reset to default prompt" and generate again with the same brief, so you have a BEFORE and an AFTER version to show.
Click "Generate Listing." Once step 8 shows a result, screenshot the generated listing - this is your output evidence. For proof of exactly what left this app and what n8n sent back, open "View request sent to n8n" and "View raw response from n8n" under that same card and screenshot those too.
Back in step 1, click "Try edge case: Candle" and generate again. Screenshot this input - it is deliberately written with wellness and therapeutic claims your prompt should refuse to repeat.
Look at step 7 (Compliance & quality check) on this new result. If your prompt let any of those claims through, the Automated language check will list them under prohibited_hits, and the AI compliance review may flag the listing on its own. Screenshot whichever of these fired.
Scroll to the Brief claim audit at the bottom of step 7. With the default prompt, this section shows the agent's own judgment on every risky claim it found in your original edge-case brief text, including claims worded differently from anything on the restricted list, each one shown in red with a label for what happened to it: rewritten to safe language, removed entirely, or kept because the agent judged it compliant. Screenshot this section - it is the clearest evidence that not every risky claim in a brief gets caught the same way, since some are quietly reworded before the listing is even checked, while others slip through unchanged.
Write two or three sentences stating plainly what happened: did your prompt keep the claims out on its own, did the Compliance Check node catch something your prompt missed, did the Brief claim audit show a claim being silently reworded, or did something slip through untouched. Name the exact words or claims involved, and what you would add to your prompt or your restricted-language list to close that gap.
Which course file you need, and which phase it belongs to.
Phase 2
File 6, Channel_Listing_Requirements.pdf - Amazon AE formatting rules. Fills STEP 2 of the prompt in step 3 of this app.
File 7, Brand_Voice_Guidelines.pdf - how Kanvas writes. Fills STEP 1 of the prompt in step 3 of this app.
Phase 3
File 8, n8n_Starter_Workflow.json - the workflow you import into n8n and build on.
File 9, n8n_Quickstart_Guide.pdf - walks you through building that same workflow, node by node.
File 10, Sample_Product_Brief_FILLED.docx - a clean brief. Use it to test the normal case.
File 11, Sample_Product_Brief_EDGE_CASE.docx - a brief written to trip the guardrails. Use it to test the edge case.
File 13, Legal_Concerns_Memo.pdf - hard rules and the prohibited-words list. Fills STEP 3 of the prompt, and the Restricted language and claims list box, both in step 3 of this app.
Paste your n8n webhook URL below before generating.
Steps 1-3 - before n8n runs, done in this app
01Upload course files
02Input your brief
03Connect n8n
Steps 4-8 - the n8n workflow, five nodes you build
04Brief In
05Parse Fieldsin n8n
06Listing Agent (LLM)in n8n
07Compliance Check
08Return Result
1Add your product brief
Upload a Word document, PDF, text file, or image of your brief, or paste the content directly. We'll automatically extract the key product details and use the remaining information as context.
Paste the brief text instead
Don't have a brief ready?
Try one of the sample cases below.
Empty until you upload, paste, or load a sample - nothing below is real data yet.
Live preview (for educational purposes only)
This is not a real Amazon listing. It updates as you fill in the fields above, so you can see your raw brief laid out before the AI (step 6) or the compliance check (step 7) ever touches it.
Parsed brief (JSON)
This is the brief above, reshaped into the named fields the workflow works with. Not a screenshot: it updates as you type, upload, paste, or load a sample.
2Customize the AI prompt
Define how the AI should generate your listing. You can adjust the prompt, regenerate the output, and compare how different prompts affect the result.
Capstone comparison: Use the baseline prompt to generate your BEFORE result, then reset to the optimized prompt and generate the AFTER result using the same product brief.
Restricted language & claims
Add words or phrases that should never appear in the generated listing. These safeguards help prevent unsupported therapeutic, wellness, environmental, safety, or comparative claims.
3n8n connection
In n8n, make sure the Webhook (trigger) node's "Respond" setting is "Using 'Respond to Webhook' Node" (not "Immediately"), and that a Respond to Webhook node at the end of the workflow returns the listing JSON - otherwise this page only receives an acknowledgement instead of the generated listing.
Running n8n on your own computer? Use http://localhost:5678/... or http://127.0.0.1:5678/... as the address. This page is served over HTTPS, and browsers only trust a plain http:// address when it points at your own machine, so a webhook address on another device on your network (one starting with, for example, 192.168 or 10.) will be silently blocked by the browser. If your n8n instance cannot be reached at localhost, expose it with a tunnel such as ngrok or Cloudflare Tunnel and paste the https address that tunnel gives you instead.
4Brief In
The Webhook node, Brief In, is the entry point of the n8n workflow. The moment you click Generate Listing above, it receives your brief, the prompt from step 2, and the restricted-language list in one request, and passes them forward. It does no thinking of its own.
5Parse Fields
The Parse Fields node relabels your brief into clean, individually named fields, so the information you filled in above (SKU, product name, category, channel, market, materials, specs, positioning) reaches the AI as organized data rather than one raw block of text.
6Listing Agent (LLM)
The Listing Agent node sends your brief and your prompt to a language model, which writes the title, five bullet points, and description that make up the draft listing. A weak prompt here produces a generic listing that no later step can fully fix.
7Compliance & quality check
Two layers of validation: The generated listing is checked against restricted-language rules and reviewed by the AI agent for potential compliance issues. In plain terms: a code node lets you run a short script you write yourself, separate from the AI - here, that script is a second, independent pair of eyes checking the AI's own output rather than just trusting it.
Automated language check
Not yet checked
AI compliance review
Not yet checked
Brief claim audit
Not yet checked
8Your generated listing
Your listing will appear here
Complete your product brief and generate a listing to see the AI-generated result.
View request sent to n8nView raw response from n8n (for your capstone screenshot)
Amazon AE requirements check
The generated listing is automatically checked against the Amazon AE channel requirements to identify any missing or non-compliant elements.
Generate a listing to see the checklist.
Activity log
A record of listing generations and workflow activity from this session.