All tools
ToolWrite
Create article draft
create_article_draftCreate a private article draft from the evidence and context the user authorizes.
When to use it
You need to create, inspect, revise, cite, or add images to article drafts.
Typical workflow
List or read drafts, make complete replacement edits with optimistic concurrency, and insert visual blocks at stable markers.
What it returns
Draft metadata, editable draft bodies, update timestamps, embeds, or image blocks.
Avoid using it when
You need to publish, schedule, delete, or email a post; those are human-only.
Advanced input contract
Agent hosts use this JSON Schema to validate the exact input shape.
View JSON Schema
{
"type": "object",
"properties": {
"folderId": {
"type": "string",
"format": "uuid",
"description": "Optional authorized Writing Project folder. Omit to preserve the legacy global Writing Studio destination."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"subtitle": {
"type": "string",
"maxLength": 240
},
"draftType": {
"type": "string",
"enum": [
"article",
"essay",
"report",
"newsletter",
"thesis_article",
"thesis_update",
"earnings_reaction",
"catalyst_update",
"portfolio_letter",
"private_memo",
"research_note"
],
"description": "Defaults to article for a targeted Writing Project and thesis_article for the legacy global Writing Studio."
},
"linkedCompanyId": {
"type": "string",
"format": "uuid"
},
"linkedTicker": {
"type": "string",
"maxLength": 12
},
"visibility": {
"type": "string",
"enum": [
"private",
"unlisted"
],
"default": "private"
},
"content": {
"type": "object",
"description": "Preferred formatted body: canonical TipTap content envelope or raw TipTap doc JSON. Legacy Prism quill-delta remains accepted for compatibility. Use contentText Markdown for generated prose."
},
"contentText": {
"type": "string",
"description": "Plain-text fallback that Prism converts into article editor content. Markdown pipe tables become structured table artifact embeds; Markdown ##/### headings become Writing Studio H2/H3 blocks; simple **bold** spans become bold rich text. Use the title field for the article title instead of a body # heading."
},
"disclosureText": {
"type": "string",
"maxLength": 2000
},
"coverImageUrl": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"title"
],
"additionalProperties": false
}