Answer (practical, ready to drop into a Zap)
Summary / Recommendation
Use a concise system prompt + a variable-filled user prompt in your Zap action to generate SEO briefs that are CMS-ready. Send the prompt to ChatGPT’s API (or the ChatGPT Zap action) with placeholders for keyword, intent, audience, length, and CMS type. Ask for a JSON or Markdown payload so it can be written straight into your CMS or passed to a following Zap step.
Why this works
Specifying format + required fields removes ambiguity. Returning structured JSON or named sections makes the output machine-readable, reduces post-processing, and keeps quality consistent across keywords and authors.
Core prompts (tested templates)
1) System prompt (set once in the Zap):
You are an SEO editor that writes short, actionable briefs for content writers. Always produce the exact JSON object specified in the user prompt with fields: title, slug, meta_description, word_count_target, primary_keyword, related_keywords, brief_outline (array of {heading, summary, suggested_word_count, cms_section}), intro, conclusion, internal_links (array), suggested_images (array of {filename, alt_text}), and notes_for_writer. Do not include any extra text outside the JSON.
2) User prompt template (Zap → ChatGPT input; replace variables in {{double-braces}}):
Create an SEO content brief for keyword: "{{primary_keyword}}". Search intent: {{search_intent}}. Target audience: {{audience}}. Tone: {{tone}}. Competitor URLs: {{competitor_urls}}. Target word count: {{word_count}}. CMS: {{cms}} (options: WordPress/Contentful/Notion). Include these deliverables in the JSON: title (clickable + keyword), slug (lowercase, hyphenated), meta_description (<=155 chars), primary and 6 related keywords, a 3–6 item brief_outline with H2/H3 headings and 40–120 word summary per heading, intro (40–80 words) and conclusion (30–60 words), internal_links (2 suggested site URLs with anchor text), suggested_images (2–3 filenames + alt text), and a short notes_for_writer (SEO and UX dos & don’ts). Prefer long-tail variants and include a recommended H1 and 3 H2s. Return JSON only.
Example of final (short) JSON output model
{"title":"How to Use {{primary_keyword}} to Improve X","slug":"use-{{primary_keyword}}-improve-x","meta_description":"Quick guide to {{primary_keyword}} that helps X—tips and examples.","word_count_target":1200,...}
Decision criteria (which prompt to use)
- Use the full template when you need CMS-ready output and low QA overhead.
- Use a simplified template (only headings/meta) for high-volume testing or drafts.
- Request JSON when your Zap will parse the content; request Markdown if you want to paste into editors.
Best-for / Avoid-if
- Best for: teams that publish programmatically, multi-author workflows, content ops with consistent templating.
- Avoid if: you need highly creative long-form first drafts or very niche technical accuracy without human review.
Dependence notes
- Budget: more tokens or longer word_count targets cost more; keep outlines concise if budget-limited.
- Skill level: non-technical users should ask for Markdown; devs should request JSON.
- Workflow stage: use detailed briefs at ideation/planning; use shorter templates for rapid content generation.
- Team size & QA: small teams should include explicit writer notes and stricter internal_link rules.
- Output quality: always include a human review step for fact-checking and tone.
Practical checklist before running Zap
1) Add the system prompt once in the ChatGPT action. 2) Map variables from trigger (keyword, intent, audience, word_count, cms). 3) Choose output format: JSON for API writes, Markdown for manual paste. 4) Test with 5 diverse keywords (topical, long-tail, branded) and inspect the JSON. 5) Add a QA/manual-approve step for first 50 articles. 6) Monitor CTR & rankings and iterate brief templates every 30–60 days.
If you use ChatGPT in Zapier, set the action to return the raw JSON and map fields into your CMS step. Good starting tool: chatgpt (default, easy integration).
Compare ChatGPT and Gemini