SarudoResearch Path
FeaturesHow It WorksPricing↗ SwitchReseller↗ SwitchDocsAbout
Get Started
Sarudo logo — AI Employee platformSarudo

AI Employees for Modern Businesses

Product

  • Features
  • How It Works
  • Documentation
  • Pricing
  • WordPress plugin
  • Reseller Program
  • FAQ

Company

  • About
  • Careers
  • Blog
  • Contact

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy
  • SLA
  • Acceptable Use
  • Data Processing

© 2026 Sarudo. All rights reserved.

hello@sarudo.com
What is Sarudo?Onboarding ProcessSetting Up TelegramYour First InteractionWhat Your AI Employee Can DoSecurity & PrivacyYour First Conversation with SarudoWhat's Under the HoodBackups & Data Export
Telegram Commands ReferenceManaging ConversationsFile SharingApproval WorkflowTips for Effective CommunicationMulti-User Access
Email Setup & ConfigurationSending & Drafting EmailsReading & Searching InboxEmail Approval FlowEmail Use Cases
Voice Call SetupMaking Outbound CallsCall TranscriptionAI-Powered ConversationsCall History & RecordingsVoice Providers & Options
What Meetings Can DoUploading a RecordingAutomatic TranscriptionAction Items & AttendeesFollowing Up on Action Items
Managing Your CalendarReminders & NotificationsScheduling for OthersDaily Briefings
How Sarudo LearnsStoring & Retrieving KnowledgeDocument IngestionSemantic SearchKnowledge CategoriesContradiction HandlingSettings vs Knowledge
Web SearchWebsite BrowsingCompetitor ResearchYouTube & Video AnalysisLocal Business SearchImage Search
SEO Tools OverviewKeyword ResearchTrending Topics & Blog Gap AnalysisSERP Analysis & Competitor TrackingPutting It Together — A Content Research Workflow
Creating DocumentsPDF OperationsFormat ConversionOCR & Text ExtractionPresentationsDiagrams & Visuals
Built-in TemplatesCustom TemplatesRendering DocumentsBulk Mail Merge
CRM OverviewManaging ContactsCompanies & OrganizationsDeals & PipelineActivity TrackingFollow-ups & RemindersHow Deletion Works
Email EnrichmentDomain & Company LookupEmail FinderLinkedIn Enrichment
Automation OverviewCreating WorkflowsPre-Built TemplatesManaging WorkflowsBuilt-in AutomationsWorkflow Reliability FeaturesDry-Run Mode
How the Pipeline WorksStage 1 — Monthly ResearchStage 2 — Daily DrafterStage 3 — Publish LoopSupported CMS TargetsTuning the Pipeline
Social Media SetupDrafting PostsScheduling & PublishingSocial Post CalendarApproval WorkflowPublishing to Your Own Blog
Stripe Integration SetupCreating Checkout LinksSending InvoicesPayment TrackingProcessing Refunds
Notion IntegrationGoogle Sheets IntegrationAirtable IntegrationWebhook EventsBrowser AutomationMedia ProcessingGoogle Docs IntegrationBrowser Automation — Local vs Cloud
  1. Docs
  2. >
  3. Content Calendar Pipeline
  4. >
  5. Supported CMS Targets

Supported CMS Targets

Which CMSes the publish webhook ships with out-of-the-box support for, what fields each expects, and how custom webhooks work.

Last updated: April 22, 2026
cmswordpressghostwebflowshopifywebhookpublishintegration

Supported CMS Targets

The publish webhook ships with adapters for four common CMSes plus a generic custom-webhook option. WordPress uses the REST API (`POST /wp-json/wp/v2/posts`) with Application Password basic auth. Ghost uses the Admin API (`POST /ghost/api/admin/posts/`) with a JWT signed from your admin API key. Webflow uses the CMS Collections API (`POST /v2/collections/{cid}/items`) with a bearer token. Shopify uses the Admin API (`POST /admin/api/2024-10/articles.json`) with an admin access token. For any CMS not in that list, the custom-webhook adapter lets you point the publisher at your own HTTP endpoint with a JSON payload you define.

WordPress

For WordPress, you provide the site URL (e.g. myblog.com/wp-json/wp/v2/posts), a username, and an Application Password generated inside the WordPress user settings. Application Passwords are preferred over your real login password because they are per-application, revocable at any time, and scoped so that compromising one does not compromise the whole account. The adapter maps article content to the post body, title to post title, slug to post slug, meta description to excerpt, and hero image to the featured image via the media upload endpoint.

Ghost

For Ghost, you provide the admin API URL (typically yoursite.ghost.io/ghost/api/admin or a self-hosted equivalent) and an Admin API key issued from the Ghost integrations panel. The adapter signs a short-lived JWT from the key on every publish, which is the security model Ghost's admin API uses. Article content is converted to Lexical (Ghost's native editor format) with headings, paragraphs, and the hero image as a feature_image field. Ghost supports multiple authors — the adapter defaults to the author the Admin API key is associated with, which is typically the integration user.

Webflow

For Webflow, the setup is a little more involved because Webflow CMS content lives inside a specific Collection, which you need to create in your Webflow Designer first (or reuse an existing one — a "Blog Posts" collection is the common shape). You provide the collection ID, a Webflow API token with CMS write access, and optionally the slug pattern your site uses. The adapter creates a draft item in the collection with name=title, slug, body (rich text), meta description, and main image. You then publish the item from Webflow's UI — or set the adapter to auto-publish drafts if you trust the pipeline enough to skip that extra gate.

ℹ️

Webflow's CMS API creates items in draft state by default. If you want posts to go live immediately, configure `publish_on_create: true` in the adapter settings — but be aware this disables the Webflow UI gate, so your only publish gate becomes the "approved" email reply itself.

Shopify

For Shopify, you provide the store URL (yourstore.myshopify.com), an admin access token, and the blog ID to post into (Shopify supports multiple blogs per store — most have just one called "News"). The adapter maps title, body_html (converted from the structured sections), tags, and featured image. Shopify expects HTML rather than a structured-content format, so the adapter renders the article to clean HTML before posting. One quirk: Shopify articles are tied to a specific blog, not to the store globally, so if you have multiple blogs and want to target a specific one, make sure the blog_id you configure matches.

Custom Webhook

For any CMS not in the four built-in adapters, or for a self-hosted blog, or for a headless setup where you want to handle the publish yourself, the custom-webhook option lets you point the publisher at an arbitrary HTTPS endpoint. The payload is a JSON object with keys: title, slug, keyword, meta_description, body_sections (an array of {type, content} objects for heading/paragraph/list/quote/image), hero_image_url, hero_image_attribution, and any custom fields you add on the row. You handle the CMS-specific logic inside your own endpoint — the publisher's job ends once it receives a 2xx response.

Custom webhook payload shape

What your endpoint receives on publish.

You say:
(No prompt — publish fires automatically on approval)
Sarudo responds:
POST https://myapi.example.com/publish Content-Type: application/json {"title": "How an AI employee saves a 5-person agency 15 hours a week", "slug": "ai-employee-saves-small-agency-15-hours-a-week", "keyword": "ai employee for small agency", "meta_description": "Most small agencies lose hours to the same three workflows. Here is what an AI employee takes over on day 1 — and what it still cannot do.", "body_sections": [{"type": "heading", "content": "Where 5-person agencies actually lose hours"}, {"type": "paragraph", "content": "..."}], "hero_image_url": "https://images.unsplash.com/...", "hero_image_attribution": "Photo by Anna Smith on Unsplash"}

When to Set Up Stage 3

Stage 3 is the last thing your AI employee configures, and only when you actually want publishing automation. On a fresh setup, the pipeline is deployed with Stages 1 and 2 active but Stage 3 in a "manual" mode — drafts get approved, the publisher logs the approval, but no webhook fires. That gives you time to set up the CMS side without blocking the rest of the pipeline. When you are ready, provide the CMS type, the API URL, and the credentials to your AI employee, and it switches Stage 3 into active mode. From that point, every "approved" reply publishes.

Related Articles

Stage 3 — Publish Loop
How the publish loop watches for approval replies, fires the CMS webhook, and closes the loop with the final URL.
Tuning the Pipeline
Voice, cadence, approval expectations, failure handling, and the knobs you can turn without rebuilding the workflows.
How the Pipeline Works
The three stages of the content calendar pipeline at a glance — monthly research, approval-gated daily drafts, and automated publish.
Previous
Stage 3 — Publish Loop
Content Calendar Pipeline
Next
Tuning the Pipeline
Content Calendar Pipeline

On This Page