Skip to navigation

Social publishing and reviews

Move from connected accounts to drafts, review, and publication.
View as Markdown

1. Choose your destination

Call social_getSocialMediaAccounts in the intended teamspace. Select the returned account IDs for the channels you want to use. Platform names alone are not account identifiers.

Prepare a LinkedIn and Instagram version of our launch announcement for the connected Acme accounts. Keep both as drafts.

2. Prepare channel-specific content

Read the brand kit, write the copy, and prepare any required media. Use persistent asset IDs where the tool expects media references. Check the current tool schema for each platform’s supported content and options; do not assume one payload works unchanged across all channels.

For LinkedIn document carousels, supply the PDF URL in additional.linkedin.document.url and send media: []. Use a fresh file_url from a ready PDF asset. The document field takes a URL, not an asset UUID.

3. Create and verify a draft

Use social_createSocialMediaPost with action: "draft". For example, these tool arguments create a text-only draft after you replace the account placeholder with a discovered ID:

{
"message": "Meet our new dashboard: a clearer view of your campaign results.",
"action": "draft",
"account_ids": ["ACCOUNT_ID_FROM_DISCOVERY"],
"media": []
}

Include your resolved space_id as well when targeting a teamspace. Save the response identifiers and retrieve the result through social_getSocialMediaDrafts. Use social_updateSocialMediaDraft for revisions to an existing draft.

Tags help organize drafts and posts. Discover them with social_listSocialMediaTags; create a missing tag with social_createSocialMediaTag before applying its returned identifier.

4. Collect review

Use social_createSocialMediaReviewBundle to group selected drafts for review. If your connection exposes social_addDraftsToSocialMediaReviewBundle, you can add more drafts to an existing bundle. Keep the bundle identifier and returned review link.

Put these three drafts into one review bundle and give me its review link. Leave the drafts unpublished.

Creating a review bundle is not the same as publishing its drafts. Share the returned link with the intended reviewers through your normal review process.

5. Schedule or queue

social_createSocialMediaPost supports draft, schedule, and add_to_queue. Queueing uses the account’s publishing queue; it is not an explicit publish-now action.

For a scheduled post, provide the target accounts and date in YYYY-MM-DD HH:MM format. Confirm the effective scheduling timezone before submitting; the create schema has no separate timezone field. Updating an existing scheduled post supports separate date, time, and timezone fields through social_updateSocialMediaPost.

Verify the resulting status and scheduled time with social_getSocialMediaPosts.

A successful request does not by itself prove a platform has published the post. Report the returned state and any platform error, then recheck the post when necessary.

Manage existing content

Retrieve the resource before changing it. Use the draft update/delete tools for drafts and the post update/delete tools for posts. After a timeout, search existing drafts or posts before retrying creation to avoid duplicates.