Save a page or a post
website_save_pageCreate or change a page of the draft, matched by path ("" is the home page, "about", "services/cleaning"); only what is passed changes, and sections replace all of the page's sections. A page is made of sections; a blog post (kind "post", path = its slug) has a Markdown body and a date, and lives at /blog/. nav puts the page in the menu with that label. Images are image file_ids from the file store; in Markdown write . Sections, each {"type": ...}: hero {heading, text, image, image_alt, buttons [{label, link}] (up to 2), layout "center" | "split"}; text {heading, body (Markdown)}; features {heading, text, items [{title, text}]}; image {image, alt, caption, size "normal" | "wide"}; gallery {heading, images [{image, alt, caption}]}; pricing {heading, text, plans [{name, price, period, description, features [..], button, highlight, label (above a highlighted plan; default "Most popular" in the site's language)}]}; testimonials {heading, items [{quote, name, role}]}; faq {heading, items [{question, answer (Markdown)}]}; cta {heading, text, button}; stats {heading, items [{value, label}]}; logos {heading, images [{image, alt}]}; contact {heading, text, email, phone, address, form (a form's slug), button_label}; booking {heading, text, meeting (a meeting type's slug), button_label}; newsletter {heading, text, newsletter (its slug), button_label}; posts {heading, count} lists the latest blog posts. Images are image file_ids from the file store, with alt text. A link is a page of the site ("/about"), https://..., mailto: or tel:. Optional on any section: id (for "#links") and background "plain" | "tinted" | "brand". Costs $0.01 per call; nothing if it fails.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"site": "<site>",
"path": "<path>"
},
"name": "website_save_page"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nav | No | The page's label in the menu; "" takes it out. | |
| body | No | Posts: Markdown. | |
| date | No | Posts. Default today. | |
| kind | No | page | |
| path | Yes | ||
| site | Yes | The site's name, as in cncto.co/w/<name>. | |
| image | No | A file_id: the image shown when the page is shared, and a post's cover. | |
| title | No | ||
| sections | No | Sections, each {"type": ...}: hero {heading, text, image, image_alt, buttons [{label, link}] (up to 2), layout "center" | "split"}; text {heading, body (Markdown)}; features {heading, text, items [{title, text}]}; image {image, alt, caption, size "normal" | "wide"}; gallery {heading, images [{image, alt, caption}]}; pricing {heading, text, plans [{name, price, period, description, features [..], button, highlight, label (above a highlighted plan; default "Most popular" in the site's language)}]}; testimonials {heading, items [{quote, name, role}]}; faq {heading, items [{question, answer (Markdown)}]}; cta {heading, text, button}; stats {heading, items [{value, label}]}; logos {heading, images [{image, alt}]}; contact {heading, text, email, phone, address, form (a form's slug), button_label}; booking {heading, text, meeting (a meeting type's slug), button_label}; newsletter {heading, text, newsletter (its slug), button_label}; posts {heading, count} lists the latest blog posts. Images are image file_ids from the file store, with alt text. A link is a page of the site ("/about"), https://..., mailto: or tel:. Optional on any section: id (for "#links") and background "plain" | "tinted" | "brand". | |
| nav_order | No | ||
| description | No | For search engines and link previews. |