02 / content production · articles & blog
Writing a blog article.
Turns a one-line request into a published article, without losing accuracy or tone on the way. Articles are the most requested piece of work on the board, so this is the flow ContentWorks runs end to end from your side of the fence: you ask, you approve, nothing goes live without your yes.
How it runs
Trigger
A one-line request on the board … e.g. "an article on sauna health benefits" … or an email that gets carded for you.
SLA
Claimed within 1 working day; staged for your review within 3 working days.
Owner
ContentWorks, start to finish.
What happens, in plain terms
- A brief gets built … the keyword, the angle, the structure, and real search data behind it, so the article is aimed at something people actually search for.
- The article gets written against that brief … hook, proof-backed sections, and the questions people actually ask, answered directly.
- It's checked before you ever see it. Every claim is checked against what your products can actually do, banned terms and medical claims are stripped out, and the writing is scored on whether it's worth publishing at all, not just whether it's technically correct.
- A hero image gets picked or made to sit at the top of the post.
- It lands in your review queue as a Google Doc, ready for your comment.
- Once you approve it, it's checked one more time and moved into WordPress as a draft … never published live automatically.
Every product claim in the article traces back to real product data … nothing about what a sauna or steam shower does is ever invented to make a sentence sound better.
05 / content production · social posting
Posting to Facebook & Instagram.
Takes an approved image-and-caption pair from a folder through to a live post on Facebook and Instagram, with a human check at every single stage. The tools get a post queue-ready … nothing goes out on its own.
Step by step
- Check the content is ready. Every post needs an on-brand, finished image and a caption that reads right for its channel … not a rough draft of either.
- Run the publisher as a preview first (a "dry run"). It lists exactly what's about to go out and flags anything it's skipping … a video file, a missing image, an empty caption.
- Run it for real once the preview looks right. This pushes the posts into Facebook and Instagram's drafting queue via Sociamonials.
- Mind the batch size. Sociamonials only pulls in roughly 10 posts at a time. Push a batch, refresh inside Sociamonials, then push the next batch … don't try to force more through in one go.
- Log in to Sociamonials and refresh the source for the channel you just pushed. New drafts appear within a few minutes.
- Check every new draft before it's queued: the caption matches what was approved, it's attached to the right account, and any extra carousel images are added by hand (the feed only carries the main image).
- Add it to the queue … this is the step that actually sets it live. Nothing before this point has gone out.
If something's wrong
- →A draft doesn't show up after refreshing … give the feed a few minutes and refresh again. Still nothing, flag it to ContentWorks.
- →An item is silently skipped … usually a date issue on the post. Don't try to fix the file by hand … flag it to ContentWorks, there's a tool for that.
- →More than 10 items to push at once … push what fits, refresh, then push the rest. Don't force a bigger batch through.
The Sociamonials login is held securely by ContentWorks. Never post anything you haven't personally checked … that review step is the entire point of this SOP.
07 / on approval · wordpress publish
Publishing a blog post to WordPress.
A tool that takes a finished Google Doc and creates a draft blog post on the Vidalux WordPress site … with the images, their alt text, categories, tags, author and meta description all set automatically. Your job is to prepare the Doc correctly. It never publishes live; a person always reviews the draft and hits Publish.
The 3 golden rules
1
Every image needs alt text. Right-click the image in Google Docs → Alt text → type a clear description in the Description box. If any image has no alt text, the tool stops and won't publish.
2
Categories, tags and the author must already exist in WordPress. The tool does not create new ones. If you type a category, tag or author that doesn't exist, it stops and tells you which one … you then either create it in WordPress or fix the spelling in the Doc.
3
The top of the Doc must have the metadata block, followed by a line with just ---, then the article.
Step by step
- Write or paste the finished article into a Google Doc.
- Put the metadata block at the top (copy it from below and fill it in).
- Put a line containing only --- directly under the block. Everything below --- is the article.
- Place the images where they should appear in the article, and set each image's alt text (golden rule 1).
- Don't repeat the article title as the first line of the body … the title comes from the metadata block, so it'd show twice.
- Make sure the Categories, Tags and Author you typed already exist in WordPress (golden rule 2).
- Share the Doc, or send the link to whoever runs the publish, with wp publish <doc-link>. Tip: ask for a wp dry-run <doc-link> first … it checks everything and reports problems without creating anything.
- The result is a draft in WordPress. Open it, give it a final look, then Publish.
The metadata block … copy this to the top of every Doc
Title:
Categories:
Tags:
Author: Andrew Ellis
Slug:
Meta description:
---
- Title … the post headline (required).
- Categories … one or more, separated by commas. Must already exist in WordPress.
- Tags … one or more, separated by commas. Must already exist in WordPress.
- Author … must match a real WordPress user. Default is Andrew Ellis (leave as-is unless told otherwise).
- Slug … the URL ending, lowercase with hyphens (e.g. steam-shower-leaks). Optional … if blank, WordPress makes one from the title.
- Meta description … 1–2 sentences for Google search results (around 155 characters). Use … not three full stops.
Keep the block as plain text (not a heading, not bold).
If it "stops" … what the messages mean
The tool is strict on purpose: if something's missing it stops and lists it, and nothing is uploaded or created. Common ones:
- →"…image(s) missing alt text…" … Open the named image in the Doc, add Alt text → Description, save.
- →"category '<name>'" (missing) … Create that category in WordPress, or fix the spelling in the Doc.
- →"tag '<name>'" (missing) … Create that tag in WordPress, or fix the spelling in the Doc.
- →"author '<name>'" (missing) … Use a real WordPress author name (default: Andrew Ellis).
Quick pre-flight checklist
- Metadata block at the top, then a --- line, then the article.
- Title filled in.
- Categories and Tags exist in WordPress and are spelled correctly.
- Author is a real WordPress user (default: Andrew Ellis).
- Every image has alt text (Description).
- Article title is not repeated as the first body line.
- (Recommended) Ask for a wp dry-run first to catch problems.
Canonical copy maintained by ContentWorks … email dan@contentworks.ai to change a step.
10 / catalogue · product feed export
Exporting the product feed.
Produces a current, complete CSV of the whole catalogue, so any rewrite, metadata pass or audit runs against real data rather than a stale feed.
Owner
Andy / the Vidalux team.
Trigger
ContentWorks requests a current feed, or before any bulk catalogue work starts.
Steps
- Log into WordPress admin on the Vidalux store.
- Open the CSV Import Suite plugin.
- Select the export profile that includes every product field … title, meta, descriptions, price, specs, stock code.
- Run the export and download the CSV.
- Drop the file into the shared "CW … Vidalux Feeds" Drive folder, with the export date in the filename.
Quality check
Open the file and confirm the row count matches the live catalogue, and the key spec columns (kW, dimensions, jets) aren't blank. Blank spec columns are a known gap in the export … flag them so they're fixed at source before bulk work runs against the file.
If the export is missing fields or columns come through blank, stop and flag it before any downstream work starts … don't run rewrites against a thin feed.
12 / outreach · guest post production
Writing & placing a guest post.
Turns one accepted placement … a host site that's said yes to a topic … into a finished, genuinely useful article that earns its Vidalux backlink rather than having one bolted on.
How it runs
Trigger
A target on the outreach Sheet moves to "accepted" … the host has agreed a topic.
Owner
ContentWorks, start to finish.
What happens, in plain terms
- The confirmed details are pulled from the Sheet … host site, agreed topic, how many links, and which page they should point to. Nothing gets written until every one of these is actually confirmed, never guessed.
- Every product claim in the draft is checked against the real product data before the article is written … an unverified claim is left out, not softened into something vaguer that might still be wrong.
- The finished piece is checked a second time for tone, accuracy and brand fit.
- A person reads it through to confirm it reads as a genuine contribution to that host's audience, not an advert with a link stapled on.
- It's sent to the placement contact exactly the way they asked for it … a Doc, an email, their own submission form.
- The Sheet row is kept current … sent, then placed with the live link once it's confirmed live, or marked dead if the host goes quiet.
If a topic edges toward a medical claim, or the host turns out to sell a competing product, the piece stops before it's written and gets flagged rather than pushed through.
13 / support · thunderai email assistant
The AI email assistant.
The Vidalux AI email assistant lives inside Thunderbird as an add-on called ThunderAI. It reads a customer's email and writes a grounded draft reply, pulled live from the full Vidalux knowledge base … products, warranties, delivery, policies. Nothing is ever sent automatically … a person always reviews and sends.
The 3 golden rules
1
It's always a draft. Nothing reaches a customer until a person reviews it and presses send.
2
It only knows the Vidalux knowledge base. If it doesn't know something, it politely defers rather than making an answer up … that question then gets logged and added to the knowledge base.
3
Set it up once per machine, then copy the settings across rather than retyping them.
Day-to-day use
- Get a grounded draft. Open the customer's email, click the AI button, "Reply to this email". A grounded draft appears in seconds.
- Refine it by chatting to it. Type a follow-up like "make it warmer" or "mention free UK delivery" and it rewrites the draft, keeping the facts intact. Repeat as many times as needed.
- Send it. "Use this answer" drops the draft into a normal, editable reply. Make any final tweaks by hand, then send.
When it doesn't know the answer
It defers rather than guesses … something like "let me get a member of the team to confirm." That's correct behaviour: it won't invent a fact the knowledge base doesn't hold. That exact question gets logged and added automatically, so it'll know next time. Handle that one reply yourself in the meantime.
If something looks off
- →Connection error when drafting … the setup needs a quick re-check on that machine. Flag it to ContentWorks.
- →Account setup hangs … a sign-in window is often waiting behind the main one; check for a hidden pop-up.
- →Anything else … flag it to ContentWorks rather than falling back to an older tool … its knowledge won't be current.
The connection details that ground it in the Vidalux knowledge base are held securely by ContentWorks and set up once per machine.
14 / support · brain correction logging
Logging a knowledge correction.
Captures every wrong or incomplete answer the AI gives … from an email reply, chatbot, or anywhere else … as a structured correction, reviewed weekly and patched only once a human has approved it. Nothing is ever auto-applied to the knowledge base.
Split ownership
Spotting & logging
VA-ready … anyone can log a correction the moment they spot one.
Weekly review & patch
ContentWorks-run … reviewing, approving and applying the fix to the source knowledge stays with Dan.
Your part … logging it
- Spot a wrong or incomplete AI answer.
- Open the Brain Corrections Log Sheet and add a row: what type of error it is, which product it relates to, what the AI said, what the correct answer actually is, and where you saw it.
- If you don't know the correct answer yourself, write "Needs Andy" in that field rather than leaving it blank … either way, never leave the row without a note.
ContentWorks' part … reviewing & patching
Every week, unchecked rows are read and turned into draft fixes. Every fix is shown to you for confirmation before it touches the knowledge base … nothing is applied without an explicit yes. A fix is never applied that contradicts something you've previously confirmed, without asking you first.
A delayed correction beats a wrong one committed to the knowledge base … if in doubt, it waits for you rather than guessing.