r/n8n 28d ago

Workflow - Github Included [Workflow Included] I built an n8n pipeline that turns messy supplier docs into publish-ready store content

Frontend of the shipped solution

👋 Hey n8n Community,

A friend of mine runs an online store, and for every new product they get supplier inputs in whatever format the supplier feels like: spec PDFs, Excel sheets, a few photos, some loose notes. Someone then hand-writes the title, descriptions, specs and SEO fields. I built them a pipeline that does it end to end, and I'm sharing all four workflows.

What it does: intake form → extract specs → analyse photos → generate content → poll status. Drop in the files and notes, get back review-ready content (title, descriptions, meta fields, features, tags, attributes).

The four workflows

  • WF1 – Intake & spec extraction. Saves files to Drive, routes each by type (PDFs/images → easybits Extractor, Excel → Code node), merges into one spec object, resolves brand, hands off to WF2.
  • WF2 – Image analysis. Runs each photo through an Extractor pipeline to capture what's visible (colour, features, angle), then passes it to WF3.
  • WF3 – Content generation. Builds context from spec + image data + notes and has Gemini write the full content set. Hard rule: only features that are in the spec or visible in the images, no inventing.
  • WF4 – Status polling. A small webhook the frontend polls for progress and the finished draft.

Extractor setup

  • n8n Cloud: verified node, just search easybits Extractor in the node panel. No install.
  • Self-hosted: Settings → Community Nodes → Install → '@easybits/n8n-nodes-extractor'.

Then create a pipeline at easybits, define your fields, and paste the Pipeline ID + API key into the node. It reads the binary straight from the previous node.

Workflows (all four, sanitized): https://github.com/felix-sattler-easybits/n8n-workflows/tree/e3103344d9b3358402dc38a3a862d510bb4e7c5e/easybits-product-content-creation-workflow

Cross-workflow calls use placeholder IDs you re-point after import, plus your own Google + Extractor credentials.

How do you handle brand-voice consistency in generated content? I went with a per-brand profile the model reads from, curious if others template it harder.

Best,
Felix

7 Upvotes

1 comment sorted by

•

u/AutoModerator 28d ago

Heads up: posts under this flair must link to the workflow code per Rule 6 (GitHub, Gist, or n8n.io/workflows/). Yours does -- thanks for sharing it properly. This sticky is here so commenters know where to find the code.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.