{
    "schema_version": "1.0",
    "exported_at": "2026-08-16T13:32:31+00:00",
    "source": "https://invitationbuddy.com/workflows/content-marketing-workflow",
    "workflow": {
        "name": "Content Marketing Workflow",
        "slug": "content-marketing-workflow",
        "version": "1.0.0",
        "tagline": "Research, draft, optimise and publish a marketing article end to end",
        "summary": "A complete content pipeline: topic research, keyword analysis, AI drafting, SEO optimisation, human review, publishing and performance follow-up.",
        "description": "Turn a topic into a published, optimised article without the usual week of back-and-forth. The workflow covers the full path — research, outline, draft, optimise, review, publish, measure — and names exactly which tool does what at each stage.\n\nIt is deliberately semi-automated: the AI does the research synthesis and the first draft, a human owns the edit and the final approval. That split is what keeps the output publishable.",
        "category": "Content Creation",
        "type": "Multi Tool",
        "difficulty": "beginner",
        "automation_level": "semi_automated",
        "pricing": "freemium",
        "language": "en",
        "trigger": {
            "type": "manual",
            "detail": null
        },
        "input_types": [
            "text",
            "url"
        ],
        "output_types": [
            "blog",
            "image",
            "summary"
        ],
        "author": null,
        "company": null,
        "last_updated": "2026-07-03"
    },
    "overview": {
        "purpose": "Turn a topic into a published, optimised article without the usual week of back-and-forth. The workflow covers the full path — research, outline, draft, optimise, review, publish, measure — and names exactly which tool does what at each stage.\n\nIt is deliberately semi-automated: the AI does the research synthesis and the first draft, a human owns the edit and the final approval. That split is what keeps the output publishable.",
        "business_value": "Cuts the cost of a researched article from roughly a day of writer time to about ninety minutes of review, while keeping a human accountable for every published claim.",
        "expected_outcome": "One publish-ready article of 1,200–2,000 words with a target keyword, internal links, a hero image and a measurement plan attached.",
        "problems_solved": [
            "Blank-page paralysis at the start of every brief",
            "Inconsistent tone across writers and freelancers",
            "SEO treated as an afterthought instead of an input",
            "No repeatable process, so quality swings article to article"
        ],
        "ideal_users": [
            "Content marketers running a regular publishing cadence",
            "Solo founders producing their own content",
            "Agencies standardising output across accounts",
            "SEO teams that need volume without dropping quality"
        ],
        "benefits": [
            "Repeatable quality — the same steps every time",
            "SEO built into the outline rather than retrofitted",
            "The human review point is explicit, not assumed",
            "Every step names its tool, so the process survives staff turnover"
        ],
        "limitations": [
            "Factual claims still need a human check — the draft will state things confidently that are wrong",
            "Competitive keyword research needs a paid SEO tool to be worth much",
            "Does not replace subject-matter expertise on technical topics",
            "Image generation rights vary by provider — check before publishing"
        ],
        "success_metrics": [
            "Time from brief to publish-ready draft",
            "Organic sessions per article at 90 days",
            "Editor changes required per draft",
            "Cost per published article"
        ]
    },
    "metrics": {
        "estimated_minutes": 95,
        "estimated_cost": 2.4,
        "cost_currency": "USD",
        "estimated_tokens": 48000,
        "success_rate": 92,
        "automation_percent": 70,
        "human_review_percent": 30
    },
    "industries": [
        "SaaS",
        "Marketing",
        "Media",
        "E-commerce"
    ],
    "tags": [
        "Beginner Friendly",
        "High ROI",
        "Human Review",
        "Prompt Chaining"
    ],
    "ai_skills": [
        "Text Generation",
        "Summarization",
        "Image Generation"
    ],
    "tools": [
        {
            "name": "ChatGPT",
            "role": "primary",
            "required": true,
            "url": "https://invitationbuddy.com/ai-directory/chatgpt"
        },
        {
            "name": "Claude",
            "role": "supporting",
            "required": true,
            "url": "https://invitationbuddy.com/ai-directory/claude"
        },
        {
            "name": "Jasper",
            "role": "supporting",
            "required": false,
            "url": "https://invitationbuddy.com/ai-directory/jasper"
        },
        {
            "name": "Copy.ai",
            "role": "supporting",
            "required": false,
            "url": "https://invitationbuddy.com/ai-directory/copy-ai"
        }
    ],
    "models": [],
    "integrations": [
        {
            "name": "OpenAI",
            "kind": "ai_provider",
            "auth_type": "api_key",
            "required": true
        },
        {
            "name": "Google Docs",
            "kind": "productivity",
            "auth_type": "oauth",
            "required": true
        },
        {
            "name": "WordPress",
            "kind": "marketing",
            "auth_type": "api_key",
            "required": false
        },
        {
            "name": "Canva",
            "kind": "design",
            "auth_type": "oauth",
            "required": false
        },
        {
            "name": "Slack",
            "kind": "communication",
            "auth_type": "oauth",
            "required": false
        }
    ],
    "prerequisites": [
        {
            "kind": "api_key",
            "label": "OpenAI or Anthropic API key",
            "detail": "Any current frontier model works; the prompts are not provider-specific.",
            "required": true
        },
        {
            "kind": "account",
            "label": "SEO research tool",
            "detail": "Surfer, Semrush or Ahrefs — needed for real keyword volume.",
            "required": false
        },
        {
            "kind": "account",
            "label": "CMS with an API",
            "detail": "WordPress, Webflow or similar for the publish step.",
            "required": true
        },
        {
            "kind": "credits",
            "label": "Image generation credits",
            "detail": "Only if you generate the hero image rather than sourcing it.",
            "required": false
        }
    ],
    "steps": [
        {
            "number": 1,
            "title": "Topic and audience research",
            "description": "Establish what the audience already knows, what the top-ranking pages cover, and where the gap is. This is the step people skip, and it is why most AI content reads generic.",
            "tool": "Perplexity",
            "model": "GPT-4o",
            "prompt": "You are a content strategist. Research the topic \"{{topic}}\" for an audience of {{audience}}.\n\nReview these competitor pages: {{competitor_urls}}\n\nProduce:\n1. What every competitor covers (the table stakes)\n2. What NONE of them cover (the gap)\n3. Three angles that would differentiate our piece\n4. The five questions a reader most wants answered\n\nBe specific. Do not pad. If the gap is small, say so.",
            "input": "Topic, target audience, 3 competitor URLs",
            "output": "Research brief with angle and gap analysis",
            "expected_result": "A one-page brief naming the angle no competitor has covered.",
            "estimated_minutes": 15,
            "difficulty": "beginner",
            "automation": "semi",
            "manual_review": false,
            "tips": [
                "Feed it real competitor URLs, not just the topic — the gap analysis is only as good as the input",
                "Ask for the questions readers ask, not the questions competitors answer"
            ],
            "warnings": [
                "Verify any statistic it surfaces against the original source before it reaches the draft"
            ]
        },
        {
            "number": 2,
            "title": "Keyword and SERP analysis",
            "description": "Pick one primary keyword and a handful of secondaries with real volume, and note the search intent the SERP is actually rewarding.",
            "tool": "Surfer SEO",
            "input": "Topic, target market",
            "output": "Primary keyword, 5-8 secondaries, intent classification",
            "expected_result": "A keyword set with volume, difficulty and the intent the current top three satisfy.",
            "estimated_minutes": 10,
            "difficulty": "beginner",
            "automation": "semi",
            "manual_review": false,
            "tips": [
                "Match the intent the SERP shows, not the intent you wish it had",
                "If the top results are all product pages, an article will not rank — change the format"
            ]
        },
        {
            "number": 3,
            "title": "Outline generation",
            "description": "Turn the brief and keyword set into a section-by-section outline, with the argument each section makes.",
            "model": "Claude Sonnet",
            "prompt": "Using this research brief and keyword set, write a section outline for an article of about {{word_count}} words.\n\nBrief: {{brief}}\nPrimary keyword: {{primary_keyword}}\nSecondary keywords: {{secondary_keywords}}\n\nFor each section give:\n- The H2\n- The single point that section makes\n- Which keyword it naturally serves\n- Roughly how many words\n\nThe outline must build an argument, not list topics. No section should be skippable.",
            "input": "Research brief + keyword set",
            "output": "H2/H3 outline with per-section intent",
            "expected_result": "An outline your editor would approve without restructuring.",
            "estimated_minutes": 8,
            "difficulty": "beginner",
            "automation": "auto",
            "manual_review": false
        },
        {
            "number": 4,
            "title": "Draft generation",
            "description": "Generate the draft section by section against the outline. Section-by-section beats one long generation: tone holds, and you can regenerate one part without losing the rest.",
            "model": "Claude Sonnet",
            "prompt": "Write the section \"{{section_heading}}\" of an article titled \"{{title}}\".\n\nThe point this section makes: {{section_point}}\nBrand voice: {{voice_guide}}\nTarget length: {{words}} words\n\nRules:\n- Lead with the point, then support it\n- Concrete examples over abstract claims\n- No filler phrases (\"in today's fast-paced world\", \"it's important to note\")\n- Do not repeat what earlier sections covered: {{previous_sections}}",
            "input": "Approved outline + brand voice guide",
            "output": "Full draft",
            "expected_result": "A complete draft in your brand voice, ready for a human edit.",
            "estimated_minutes": 12,
            "difficulty": "beginner",
            "automation": "auto",
            "manual_review": false,
            "tips": [
                "Generate one section per call and pass the previous headings in — it stops the model repeating itself",
                "Keep the voice guide short and specific; a long one dilutes"
            ]
        },
        {
            "number": 5,
            "title": "SEO optimisation pass",
            "description": "Check keyword placement, heading structure, internal links, meta title and description, and image alt text.",
            "tool": "Surfer SEO",
            "input": "Draft + keyword set",
            "output": "Optimised draft + meta fields",
            "expected_result": "A draft scoring in the target range, with meta fields written.",
            "estimated_minutes": 10,
            "difficulty": "beginner",
            "automation": "semi",
            "manual_review": false,
            "warnings": [
                "Do not stuff to hit a content score — a readable article that scores 78 beats an unreadable one that scores 95"
            ]
        },
        {
            "number": 6,
            "title": "Human review and fact check",
            "description": "A person reads the whole piece, verifies every factual claim and statistic against its source, and makes the edit. This step is not optional.",
            "input": "Optimised draft",
            "output": "Approved article",
            "expected_result": "An article a named person is willing to put their name on.",
            "estimated_minutes": 30,
            "difficulty": "beginner",
            "automation": "manual",
            "manual_review": true,
            "tips": [
                "Check every number and every attributed quote",
                "Read it aloud — that catches the AI cadence faster than reading silently"
            ],
            "warnings": [
                "Skipping this step is how organisations publish confident falsehoods under their own brand"
            ]
        },
        {
            "number": 7,
            "title": "Publish",
            "description": "Push to the CMS with meta fields, hero image, canonical URL, internal links and schema.",
            "tool": "WordPress",
            "input": "Approved article + assets",
            "output": "Live URL",
            "expected_result": "Article live with correct metadata and internal links in place.",
            "estimated_minutes": 5,
            "difficulty": "beginner",
            "automation": "auto",
            "manual_review": false
        },
        {
            "number": 8,
            "title": "Measure and iterate",
            "description": "Schedule a 30/60/90-day check on impressions, position and conversions, and feed what you learn back into the outline prompt.",
            "tool": "Google Search Console",
            "input": "Live URL",
            "output": "Performance report",
            "expected_result": "A scheduled report and a decision: leave, refresh or expand.",
            "estimated_minutes": 5,
            "difficulty": "beginner",
            "automation": "auto",
            "manual_review": false
        }
    ],
    "prompts": [
        {
            "title": "Topic and audience research",
            "kind": "user",
            "body": "You are a content strategist. Research the topic \"{{topic}}\" for an audience of {{audience}}.\n\nReview these competitor pages: {{competitor_urls}}\n\nProduce:\n1. What every competitor covers (the table stakes)\n2. What NONE of them cover (the gap)\n3. Three angles that would differentiate our piece\n4. The five questions a reader most wants answered\n\nBe specific. Do not pad. If the gap is small, say so.",
            "variables": [
                "topic",
                "audience",
                "competitor_urls"
            ],
            "model_hint": "GPT-4o"
        },
        {
            "title": "Outline generation",
            "kind": "user",
            "body": "Using this research brief and keyword set, write a section outline for an article of about {{word_count}} words.\n\nBrief: {{brief}}\nPrimary keyword: {{primary_keyword}}\nSecondary keywords: {{secondary_keywords}}\n\nFor each section give:\n- The H2\n- The single point that section makes\n- Which keyword it naturally serves\n- Roughly how many words\n\nThe outline must build an argument, not list topics. No section should be skippable.",
            "variables": [
                "word_count",
                "brief",
                "primary_keyword",
                "secondary_keywords"
            ],
            "model_hint": "Claude Sonnet"
        },
        {
            "title": "Draft generation",
            "kind": "user",
            "body": "Write the section \"{{section_heading}}\" of an article titled \"{{title}}\".\n\nThe point this section makes: {{section_point}}\nBrand voice: {{voice_guide}}\nTarget length: {{words}} words\n\nRules:\n- Lead with the point, then support it\n- Concrete examples over abstract claims\n- No filler phrases (\"in today's fast-paced world\", \"it's important to note\")\n- Do not repeat what earlier sections covered: {{previous_sections}}",
            "variables": [
                "section_heading",
                "title",
                "section_point",
                "voice_guide",
                "words",
                "previous_sections"
            ],
            "model_hint": "Claude Sonnet"
        }
    ],
    "use_cases": [
        {
            "title": "Weekly blog cadence",
            "description": "Publish two researched articles a week with one part-time editor instead of a full content team.",
            "industry": "SaaS",
            "outcome": "Consistent cadence without new headcount"
        },
        {
            "title": "Agency client delivery",
            "description": "Standardise output quality across accounts so every client gets the same process.",
            "industry": "Marketing",
            "outcome": "Predictable quality across writers"
        },
        {
            "title": "Product launch content",
            "description": "Spin up a cluster of supporting articles around a launch in days rather than weeks.",
            "industry": "E-commerce",
            "outcome": "Launch coverage ready on time"
        },
        {
            "title": "Content refresh",
            "description": "Run steps 1, 2 and 5 against existing articles that have slipped in the rankings.",
            "industry": "Media",
            "outcome": "Recovered organic traffic"
        }
    ],
    "faq": [
        {
            "question": "How long does this actually take end to end?",
            "answer": "About 95 minutes of wall-clock time per article once the prompts are tuned, of which roughly 30 is human review. The first two or three take longer while you calibrate the voice guide."
        },
        {
            "question": "Can I automate the human review step?",
            "answer": "You can automate the checks — readability, keyword placement, broken links — but not the judgement. Someone has to verify the factual claims, because the draft will state wrong things fluently."
        },
        {
            "question": "Which model should I use for drafting?",
            "answer": "Any current frontier model produces a usable draft. The bigger lever is outline quality and the voice guide, not the model choice."
        },
        {
            "question": "Do I need a paid SEO tool?",
            "answer": "For step 2, effectively yes — free keyword data is too coarse to pick between close options. The rest of the workflow runs without one."
        }
    ]
}