Update calendar topic
update_calendar_topicSaves edits to one content calendar topic of a site, the same as editing it in the Calendar. Send only the fields to change; the others keep their values. The scheduled day controls when the daily automation writes the article and, with automatic publishing on, when Keytomic publishes it. The automation writes articles only on the site’s automation days (the settings section of get_project lists them), one topic without an article a day, so a topic on another day gets no article. The review status is a label and does not change the automation. A topic that has an article, or whose article is being written, cannot be edited (topic_has_article). When the workspace can open only some topics for now, only those can be edited (topic_not_in_plan). The primary keyword, the keyword metrics and the article stay as they are. Returns the updated topic. Spends no credits.
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": {
"projectId": "<projectId>",
"topicId": "<topicId>"
},
"name": "update_calendar_topic"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | URL slug for the article, such as how-to-bake-sourdough. null clears it. | |
| title | No | The topic title, which becomes the article title. | |
| intent | No | Search intent the article answers. | |
| status | No | Review status of the topic: pending, approved or needs_revision. It is a label for the team that the Calendar does not show; the daily automation does not read it and writes the article on its scheduled day for every status. | |
| topicId | Yes | Topic to edit, from list_calendar_topics. | |
| blogType | No | Article type, such as listicle, how_to or direct_answer. null clears it. | |
| entities | No | People, products, places and concepts the article names. Replaces the whole list. | |
| projectId | Yes | Site to act on, from list_sites. | |
| funnelStage | No | Funnel stage the article serves. | |
| scheduledDay | No | Scheduled day, YYYY-MM-DD, as the Calendar shows it (UTC). On this day the daily automation writes the article and, with automatic publishing on, publishes it. Pick tomorrow (UTC) or a later day: the automation writes each day’s article at 00:00 UTC and never goes back to a past day. null removes the day, so the automation does not write the article until a day is set again. | |
| targetAudience | No | Readers the article is for. null clears it. | |
| topicalCluster | No | Topic group the article belongs to. null clears it. | |
| aiCitationAngle | No | What makes the article worth citing in AI answers. null clears it. | |
| authorProfileId | No | Author of this article, from the settings section of get_project. null removes the override, so the site’s default author applies. | |
| secondaryKeywords | No | Keywords the article also covers, besides the primary keyword. Replaces the whole list. | |
| businessValueAngle | No | How the article helps the business. null clears it. | |
| customInstructions | No | Instructions the writer follows for this article only, up to 1000 characters. null clears them. |