create_cms_post
Create a new CMS blog post.
Args:
project_id: The project ID.
title: Post title.
slug: URL-safe slug for the post.
content: Post body as HTML (optional if content_blocks is set).
content_blocks: JSON string of the block tree (same shape as get_cms_post data.content_blocks). If set, stored as-is and content HTML is ignored.
excerpt: Short excerpt/summary shown in post listings (also flips the post to using a custom excerpt).
featured_image: URL of the featured image.
featured_image_alt: Alt text for the featured image (counts toward the "images with alt texts" SEO check).
keyword: Focus keyword for the post.
categories: Comma-separated category names/slugs (e.g. "Technology,News"). Matching categories are fetched and sent as category objects.
tags: Comma-separated tags (e.g. "beginner,seo"). Tags are free-form and are created on the fly.
seo_meta_title: Custom SEO for search engines (defaults to the post title). Keep under 70 characters.
seo_meta_desc: Custom meta description for search engines. Keep under 160 characters — drives the "meta description" SEO check.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| tags | No | ||
| title | Yes | ||
| content | No | ||
| excerpt | No | ||
| keyword | No | ||
| categories | No | ||
| project_id | Yes | ||
| seo_meta_desc | No | ||
| content_blocks | No | ||
| featured_image | No | ||
| seo_meta_title | No | ||
| featured_image_alt | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |