Automatically generate SEO-optimized content based on competitor Gap Analysis
{
"@context": "https://wr.io/workflow",
"@type": "Process",
"owner_type": "user",
"@id": "seo-content-generator",
"name": "SEO Content Generator",
"description": "Automatically generate SEO-optimized content based on competitor Gap Analysis",
"version": "1.0.1",
"entry_point_id": "start",
"inputs": [
{
"name": "keyword",
"type": "string",
"label": "Target Keyword",
"required": true
},
{
"name": "audience",
"type": "string",
"label": "Target Audience",
"default": "General"
},
{
"name": "tone",
"type": "string",
"label": "Content Tone",
"default": "Expert",
"options": [
"Expert",
"Controversial",
"Data-driven",
"Casual"
]
}
],
"steps": [
{
"@type": "Step",
"@id": "start",
"name": "Start",
"step_type": "start",
"form_id": "start",
"transitions": [
{
"target_id": "serpAnalysis"
}
]
},
{
"@type": "Step",
"@id": "serpAnalysis",
"name": "Google SERP Analysis",
"step_type": "service",
"action": "search.serpAnalysis",
"params": {
"keyword": "{{input.keyword}}",
"limit": 10,
"extract_headers": true
},
"transitions": [
{
"target_id": "gapAnalysis"
}
]
},
{
"@type": "Step",
"@id": "gapAnalysis",
"name": "Content Gap Analysis",
"step_type": "service",
"action": "ai.gapAnalysis",
"params": {
"competitorMap": "{{steps.serpAnalysis.competitorMap}}",
"keyword": "{{input.keyword}}",
"audience": "{{input.audience}}"
},
"transitions": [
{
"target_id": "drafting"
}
]
},
{
"@type": "Step",
"@id": "drafting",
"name": "Draft Generation",
"step_type": "service",
"action": "ai.drafting",
"params": {
"keyword": "{{input.keyword}}",
"gaps": "{{steps.gapAnalysis.gaps}}",
"audience": "{{input.audience}}",
"language": "en",
"tone": "{{input.tone}}"
},
"transitions": [
{
"target_id": "criticRefinement"
}
]
},
{
"@type": "Step",
"@id": "criticRefinement",
"name": "Critic & Polishing",
"step_type": "service",
"action": "ai.criticRefinement",
"params": {
"draft": "{{steps.drafting.draft}}",
"language": "en",
"tone": "{{input.tone}}"
},
"transitions": [
{
"target_id": "saveDraft"
}
]
},
{
"@type": "Step",
"@id": "saveDraft",
"name": "Saving Draft",
"step_type": "service",
"action": "storage.saveFile",
"params": {
"key": "{{sys.owner_identifier}}/feed/_drafts/{{input.keyword | slugify}}.md",
"content": "{{steps.criticRefinement.polishedDraft}}",
"content_type": "text/markdown"
},
"transitions": [
{
"target_id": "distribution"
}
]
},
{
"@type": "Step",
"@id": "distribution",
"name": "Distribution Pack Generation",
"step_type": "service",
"action": "ai.distributionPack",
"params": {
"article": "{{steps.criticRefinement.polishedDraft}}",
"keyword": "{{input.keyword}}",
"language": "en"
},
"transitions": [
{
"target_id": "publishFeedItem"
}
]
},
{
"@type": "Step",
"@id": "publishFeedItem",
"name": "Register in Feed (Draft)",
"step_type": "service",
"action": "feed.publish",
"params": {
"username": "{{sys.owner_identifier}}",
"title": "{{input.keyword | capitalize}}",
"type": "Article",
"visibility": "private",
"slug": "{{input.keyword | slugify}}",
"r2_path": "{{sys.owner_identifier}}/feed/_drafts/{{input.keyword | slugify}}.md"
},
"transitions": [
{
"target_id": "end"
}
]
},
{
"@type": "Step",
"@id": "end",
"name": "End",
"step_type": "end",
"transitions": []
}
],
"outputs": {
"serpResults": "{{steps.serpAnalysis.results}}",
"gaps": "{{steps.gapAnalysis.gaps}}",
"gapSummary": "{{steps.gapAnalysis.summary}}",
"rawDraft": "{{steps.drafting.draft}}",
"polishedDraft": "{{steps.criticRefinement.polishedDraft}}",
"criticScore": "{{steps.criticRefinement.score}}",
"criticChanges": "{{steps.criticRefinement.changes}}",
"draftPath": "{{steps.saveDraft.key}}",
"feedItemId": "{{steps.publishFeedItem.id}}",
"feedItemSlug": "{{steps.publishFeedItem.slug}}",
"distribution": {
"linkedin": "{{steps.distribution.linkedin}}",
"twitter": "{{steps.distribution.twitter}}",
"reddit": "{{steps.distribution.reddit}}"
},
"metadata": {
"wordCount": "{{steps.drafting.metadata.wordCount}}",
"structure": "{{steps.drafting.metadata.structure}}"
}
}
}| Instance ID | Status | Updated At | Current Step | Actions | |
|---|---|---|---|---|---|
| ff4281fa-e265-40ea-b189-4852dfde741a | Error | 9d ago | Draft Generation | ||
| e3600424-3400-4b4b-89ea-57599a665c97 | Error | 9d ago | Google SERP Analysis | ||
| 47e46722-da7b-4e86-8411-5602d380aa02 | Error | 9d ago | Process Initialized | ||
| 3ae6c774-17b9-4490-9756-5856afea3bf8 | Error | 9d ago | Process Initialized | ||
| f26949fb-c1ba-4f76-8369-52e75200f590 | Error | 9d ago | Process Initialized |
