Skip to Content
GuidesMulti-platform posting example

Multi-platform posting example

A complete walkthrough of posting the same content to Instagram, Twitter/X, and LinkedIn simultaneously — with per-platform content overrides, pre-flight validation, and result inspection.


The scenario

User intent: “Post our product launch announcement to Instagram, Twitter, and LinkedIn at the same time. Use platform-appropriate captions and schedule it for tomorrow at 3 PM UTC.”

Base content: “Announcing VoxBurst 2.0 — the fastest way to schedule social media across every platform.”

  • Twitter version: Short, punchy, with hashtags (max 280 chars)
  • LinkedIn version: Professional, with context and a CTA (up to 3,000 chars)
  • Instagram version: Visual-first caption with the image, first comment with hashtags

The complete flow

List accounts to find the right IDs

list_accounts()

Response:

[ { "id": "acc_instagram_abc", "platform": "instagram", "username": "voxburst", "connected": true }, { "id": "acc_twitter_def", "platform": "twitter", "username": "voxburst_x", "connected": true }, { "id": "acc_linkedin_ghi", "platform": "linkedin", "username": "VoxBurst Official", "connected": true } ]

Validate the content on all target platforms

validate_content( content: "Announcing VoxBurst 2.0 — the fastest way to schedule social media across every platform.", platforms: ["INSTAGRAM", "TWITTER", "LINKEDIN"] )

Response:

{ "valid": true, "platforms": { "INSTAGRAM": { "valid": true, "errors": [], "warnings": [{ "code": "NO_MEDIA", "message": "Instagram feed posts require at least one image or video" }] }, "TWITTER": { "valid": true, "errors": [], "warnings": [] }, "LINKEDIN": { "valid": true, "errors": [], "warnings": [] } } }

The Instagram NO_MEDIA warning is expected — we’re adding media in the next step. No errors, so proceed.

Create the post targeting all three accounts

create_post( content: "Announcing VoxBurst 2.0 — the fastest way to schedule social media across every platform.", accountIds: [ "acc_instagram_abc", "acc_twitter_def", "acc_linkedin_ghi" ], contentType: "IMAGE", mediaUrls: ["https://cdn.voxburst.io/launch/v2-announcement.jpg"], scheduledFor: "2026-06-02T15:00:00Z", platformOverrides: { "TWITTER": { "content": "VoxBurst 2.0 is live 🚀 Schedule content across every platform in one shot. #ProductLaunch #SocialMedia" }, "LINKEDIN": { "content": "Today we are launching VoxBurst 2.0 — built for teams that publish across multiple platforms every day.\n\nWhat's new:\n• 3× faster scheduling\n• Per-platform content overrides\n• Real-time publish status\n\nIf you manage social media at scale, this changes the workflow. Try it free — link in comments." } }, firstComment: "#VoxBurst20 #ProductLaunch #SocialMediaTools", firstCommentDelay: 60 )

Response:

{ "id": "post_launch_xyz", "status": "scheduled", "scheduledFor": "2026-06-02T15:00:00Z", "platforms": [ { "platform": "instagram", "accountId": "acc_instagram_abc", "status": "pending" }, { "platform": "twitter", "accountId": "acc_twitter_def", "status": "pending" }, { "platform": "linkedin", "accountId": "acc_linkedin_ghi", "status": "pending" } ], "createdAt": "2026-06-01T09:30:00Z" }

All three platforms are queued. Each will publish at 15:00 UTC using its own content.

Inspect results after the scheduled time

get_post(postId: "post_launch_xyz")

Response (after publishing):

{ "id": "post_launch_xyz", "status": "partial", "publishedAt": "2026-06-02T15:00:08Z", "platforms": [ { "platform": "instagram", "status": "published", "platformPostUrl": "https://www.instagram.com/p/ABC123/", "publishedAt": "2026-06-02T15:00:06Z", "error": null }, { "platform": "twitter", "status": "published", "platformPostUrl": "https://x.com/voxburst_x/status/1234567890", "publishedAt": "2026-06-02T15:00:07Z", "error": null }, { "platform": "linkedin", "status": "failed", "platformPostUrl": null, "publishedAt": null, "error": "LinkedIn API rate limit exceeded. Retry after 60 seconds.", "retryCount": 0 } ] }

Instagram and Twitter published. LinkedIn failed (transient rate limit).

Retry the failed platform

retry_post(postId: "post_launch_xyz")

Response:

{ "id": "post_launch_xyz", "status": "publishing", "retriedPlatforms": [ { "platform": "linkedin", "retryCount": 1, "nextRetryAt": "2026-06-02T15:02:00Z" } ], "skippedPlatforms": [] }

LinkedIn is re-queued. Instagram and Twitter are untouched — they already published successfully.

Confirm all three are live

get_post(postId: "post_launch_xyz")
{ "id": "post_launch_xyz", "status": "published", "platforms": [ { "platform": "instagram", "status": "published", "platformPostUrl": "https://www.instagram.com/p/ABC123/" }, { "platform": "twitter", "status": "published", "platformPostUrl": "https://x.com/voxburst_x/status/1234567890" }, { "platform": "linkedin", "status": "published", "platformPostUrl": "https://www.linkedin.com/feed/update/urn:li:share:987654321/" } ] }

All three published. Post status is now published.


What the agent told the user

“Your launch announcement is live across all three platforms:

  • Instagram: instagram.com/p/ABC123
  • Twitter / X: x.com/voxburst_x/status/1234567890
  • LinkedIn: linkedin.com/feed/update/urn:li:share:987654321

LinkedIn initially hit a rate limit but retried successfully. The first comment with hashtags will appear on Instagram 60 seconds after the post.”


Key patterns demonstrated

  • Single create_post call targets multiple accounts — one post ID, multiple platform destinations
  • platformOverrides lets each platform get optimized content without separate API calls
  • Partial failure is the normal recovery path — retry only the failed platforms
  • status: "partial"status: "published" after retry: the natural recovery arc
  • First comment is set at creation time — VoxBurst fires it automatically after publishing
Last updated on