posts

create, list, update, and manage social media posts across all connected platforms.

generate_post

generate on-brand post content using ai based on the workspace's brand dna and voice profiles. optionally creates a draft post automatically.

> write a linkedin post about our new api launch
  using antwork.generate_post

  [done] post generated and draft created
  [info] postId: "abc123", 1 variant generated
parameters
topicstringrequired
what the post should be about (e.g., "product launch", "industry tips")
platformsstring[]optional
target platforms. if omitted, uses all connected platforms
goalstringoptional
post goal: "Educate", "Engage", "Promote", or "Entertain"
languagestringoptional
language for the content (e.g., "English", "Spanish"). defaults to brand language
num_variantsnumberoptional
number of text variants to generate (1-3, default: 1)
auto_create_draftbooleanoptional
if true, creates a draft post with the first variant (default: true)

create_campaign

generate a multi-post content campaign using ai. creates a series of posts around a theme, each with a different angle (announcement, how-to, behind-the-scenes, testimonial, cta).

> create a 5-post campaign about our product launch this week
  using antwork.create_campaign

  [done] campaign generated: 5 posts created as drafts
  [info] postIds: ["abc", "def", "ghi", "jkl", "mno"]
parameters
topicstringrequired
campaign theme (e.g., "product launch week", "holiday promotion")
num_postsnumberoptional
number of posts to generate (2-10, default: 5)
platformsstring[]optional
target platforms. if omitted, uses all connected platforms
goalstringoptional
campaign goal: "Educate", "Engage", "Promote", or "Entertain"
languagestringoptional
language for content. defaults to brand language
auto_create_draftsbooleanoptional
if true, creates draft posts for all generated content (default: true)

create_post

create a new draft post in your workspace. supports multi-platform targeting and scheduling.

> create a linkedin post about our new api launch
  using antwork.create_post

  [done] post created
  [info] postId: "V99wcx7vjNo..."
parameters
textstringrequired
the post content
platformsstring[]optional
target platforms (e.g. ["linkedin", "x"])
hashtagsstring[]optional
hashtags without the # prefix
goalstringoptional
post goal (e.g. "Educate", "Engage", "Promote")
scheduled_foriso 8601optional
schedule datetime (e.g. "2026-04-01T10:00:00Z")

list_posts

list all posts in your workspace with optional filtering by status.

> show me my draft posts
  using antwork.list_posts

  [done] 5 draft posts found
  [info] filtered by status: draft
parameters
statusstringoptional
filter by status (draft, scheduled, published, failed)
limitnumberoptional
max results to return (default: 20)

get_post

retrieve a single post by id with full details.

> get the details of post V99wcx7vjNo
  using antwork.get_post

  [done] post retrieved
  [info] status: draft, platforms: linkedin, x
parameters
post_idstringrequired
the post id

update_post

update an existing post.

> change that post to target twitter instead
  using antwork.update_post

  [done] post updated
  [info] updatedFields: platforms
parameters
post_idstringrequired
the post id to update
textstringoptional
new post text
platformsstring[]optional
updated platform list
hashtagsstring[]optional
updated hashtags without # prefix
goalstringoptional
updated goal
statusstringoptional
"draft" or "scheduled"
scheduled_foriso 8601optional
schedule datetime

delete_post

permanently delete a draft post.

> delete that draft post
  using antwork.delete_post

  [done] post deleted
  [info] postId: "V99wcx7vjNo..."
parameters
post_idstringrequired
the post id to delete

publish_post

immediately publish a draft post to all targeted platforms.

> publish my latest post now
  using antwork.publish_post

  [done] post published
  [info] published to: linkedin, x
parameters
post_idstringrequired
the post id to publish

schedule_post

schedule a draft post for future publication.

> schedule that post for tomorrow at 9am
  using antwork.schedule_post

  [done] post scheduled
  [info] scheduled for 2026-04-01T09:00:00Z
parameters
post_idstringrequired
the post id to schedule
scheduled_foriso 8601required
when to publish

retry_failed_post

retry a post that failed to publish.

> retry that failed linkedin post
  using antwork.retry_failed_post

  [done] post retried
  [info] publishing to: linkedin
parameters
post_idstringrequired
the failed post id to retry

duplicate_post

duplicate an existing post, optionally changing platforms or text.

> duplicate that post but target instagram instead
  using antwork.duplicate_post

  [done] post duplicated
  [info] new postId: "Xa2bcd9eFg..."
parameters
post_idstringrequired
the source post id to duplicate
platformsstring[]optional
override platforms for the new post
textstringoptional
override text for the new post

search_posts

search posts by keyword, status, platform, or date range. matches against post text and topic title.

> find all posts about product launch from last week
  using antwork.search_posts

  [done] 4 posts found matching "product launch"
  [info] 2 published, 1 scheduled, 1 draft
parameters
querystringrequired
search keyword to match against post text (case-insensitive)
statusstringoptional
filter by status: "draft", "scheduled", "published", or "failed"
platformstringoptional
filter by platform (e.g., "linkedin", "x")
date_fromiso 8601optional
filter posts from this date (e.g., "2026-03-01")
date_toiso 8601optional
filter posts until this date (e.g., "2026-03-31")
limitnumberoptional
max posts to return (default: 20, max: 50)