How-to guides
Practical guides for things social media APIs make hard: scheduling TikTok posts, cross-posting video, publishing Instagram carousels, automating with n8n, and more.
Schedule
Hold posts and publish at a precise time, even when the platform API does not support scheduling natively.
-
How to Auto-Post YouTube Shorts via API
Auto-publish YouTube Shorts at scale with Postproxy. Title, privacy, tags, category, AI-disclosure, and how scheduling actually works.
YouTube Shorts auto-publishing means dealing with the YouTube Data API: OAuth refresh tokens that silently revoke if the project isn't verified, a chunked resumable upload that has to survive flaky networks, and a Shorts heuristic that quietly demotes anything that isn't strictly 9:16 and ≤60 seconds. Most DIY pipelines die in week three when the refresh token expires unattended.
-
How to Auto-Publish Pinterest Pins via API
Auto-pin every new blog post or piece of content to Pinterest. Real Postproxy params: board_id, destination_link, title, cover_url.
Pinterest is one of the highest-intent referral channels for blogs and creator sites — but the manual flow (open Pinterest, click create, upload image, retype the title, paste the link, choose the board) is the kind of repetitive task that gets dropped first when you're busy. The API exists; the friction is wiring it up: every pin needs a board_id, OAuth has to keep refreshing, and the docs don't cover the per-board routing pattern most content workflows want.
-
How to Schedule & Auto-Post to Threads via API
Schedule and auto-post to Threads through Postproxy — one request handles the container/publish flow, retries, rate limits, and reply chains. Working code with Node, Python, and curl.
Meta's Threads API shipped in mid-2024 with a small, scattered docs surface and few SDKs. The publish flow is a two-step container/publish dance similar to Instagram, with its own quirks: separate app review, separate access token, separate rate limits, a hard cap on daily posts per user, and undocumented edge cases around media containers expiring.
-
How to Schedule Instagram Reels via API
Instagram's Graph API doesn't accept future timestamps for Reels. Here's how to schedule Reels with Postproxy — container handling, processing waits, and exact-time publishing.
Instagram's Graph API publishes a Reel through a two-step container flow: create a media container, wait for it to finish processing, then publish. There is no scheduled_publish_time on the publish call. To go live at 8:00 AM Saturday, something on your side has to wake up Saturday morning, check the container is still ready, and fire the publish.
-
How to Schedule TikTok Posts via API
TikTok's Content Posting API has no native scheduling. Here's how to schedule TikTok posts with Postproxy — exact-time and queue-based, with the real request shapes.
TikTok's Content Posting API publishes immediately on every call. There is no scheduled_publish_time field, no draft state, no delayed-publish endpoint. If you want a TikTok post to go out at 9am next Tuesday, you have to keep your own server running, hold the request, and fire it at the right moment yourself.
-
How to Post to a LinkedIn Company Page via API
Posting to a LinkedIn company page requires different OAuth scopes and a different author URN than personal posts. Here's the full pattern with Postproxy.
LinkedIn's API treats personal profiles and company pages as completely separate things. Posting on behalf of a company requires the w_organization_social scope, an organization-administrator OAuth flow, and a different author URN format (urn:li:organization:{id} instead of urn:li:person:{id}). Get any of these wrong and you get a 403 with a vague message.
Cross-post & repurpose
Push the same media to many platforms in one call, and adapt one source into platform-specific formats.
-
How to Cross-Post a Video to Every Social Platform via API
One MP4 to TikTok, Instagram Reels, YouTube, X, LinkedIn, Threads, Facebook, Pinterest, and Bluesky in a single API call. Spec table and code included.
Cross-posting one video to nine platforms means nine different OAuth flows, nine different upload endpoints, nine different aspect-ratio rules, nine different caption-length limits, and nine different async status pipelines. Half of them require a container-then-publish dance. The other half want a chunked upload. Doing this from scratch is a quarter of an engineering team for a quarter.
-
How to Publish an Instagram Carousel via API
Instagram carousels need N child containers, one carousel container, and a publish call. Postproxy collapses it to one POST.
Publishing an Instagram carousel via the Graph API means: create one child container per slide (up to 10), wait for each to finish processing, create a parent container with is_carousel_item=true children IDs, wait again, then publish. Any half-failure leaves orphan containers, and the 50-pending-container ceiling is easy to hit when retries pile up.
-
How to Repurpose YouTube Videos to Shorts, Reels, and TikTok
Turn one long-form YouTube video into vertical clips for Shorts, Reels, and TikTok. ffmpeg recipe + Postproxy publishing in one workflow.
A long-form YouTube video is 16:9 and 5-30 minutes. Shorts, Reels, and TikTok all want 9:16 and ≤60 seconds (Shorts) or short-form vertical (Reels, TikTok). Repurposing means cropping, picking timestamps, re-encoding, and then dealing with three different upload APIs that each have container-then-publish flows, status polling, and bespoke aspect-ratio rules.
Bulk & data sources
Drive scheduled publishing from spreadsheets, databases and CMS records.
-
How to Schedule Social Media Posts from Airtable
Drive a multi-platform publishing pipeline from an Airtable base — automation script, status writeback, and review workflow.
Airtable is a strong content calendar — views, filters, attachments, multi-user editing — but it cannot post to social platforms. Connecting it requires either Zapier (per-task pricing, slow), Make (better, still glue), or an Airtable Automation script. The script needs to handle OAuth for every platform, retry on failure, and track which rows have already been published.
-
How to Schedule Social Media Posts from Google Sheets
One row in a Google Sheet, one scheduled post across every platform. Apps Script + Postproxy.
Marketers want to plan four weeks of content in a spreadsheet. Native social platforms don't accept spreadsheets. The realistic options are: paste each post manually, build a custom CSV importer, or wire Sheets to a publishing API.
Automation & agents
Wire publishing into n8n, Zapier, Make, MCP servers and AI agents.
-
How to Automate Social Media with OpenClaw
Install the Postproxy skill from ClawHub, configure the API key in ~/.openclaw/.env, and let OpenClaw publish to 11 platforms from chat.
OpenClaw can browse, run commands, and message you anywhere — but it has no built-in way to post to social media. Hand-rolling per-platform API calls in a skill means OAuth, media upload rules, and rate limits for every network.
-
How to Automate Social Media Posting with n8n
Use the official Postproxy n8n integration to publish to TikTok, Threads, Pinterest, and 6 more platforms from any workflow.
n8n's built-in social nodes are uneven: X is fine, LinkedIn personal works, Facebook is partial. TikTok, Threads, Pinterest, and Bluesky have no first-party nodes — you fall back to HTTP Request, hand-rolled OAuth, and duplicated retry logic in every workflow.
-
How to Let AI Agents Publish to Social Media via MCP
MCP gives Claude Code, Cursor, and other LLM agents the ability to publish posts. Here's how to wire the Postproxy MCP server.
AI agents can write social posts, but they cannot publish them without a tool boundary. The Model Context Protocol (MCP) defines that boundary — a standard interface for LLMs to call external systems. Until you wire an MCP server, your agent is stuck describing the post it wants to send.
Inbox & engagement
Reply to comments, send and receive DMs, and manage Google Business reviews through the same API.
-
How to Set Instagram Ice Breakers via API
Manage the suggested questions Instagram shows when a user opens a new DM thread — set up to 4 ice breakers, receive taps as webhooks, and auto-respond by payload.
Ice breakers are the highest-intent entry point into Instagram DMs — the user literally picks a question — but Meta buries them in the Messenger Profile API, and taps arrive as postbacks, not messages, so most integrations never see them.
-
How to Track ig.me and m.me Link Referrals via API
Attribute Instagram and Messenger DM conversations to campaigns with ig.me/m.me ref parameters — referral webhooks, chat metadata, and replying before the first message.
DMs convert better than any landing page, but they're an attribution black hole — a conversation that started from your bio link, a QR code, and a paid ad all look identical in the inbox unless you capture Meta's referral events.
-
How to Let AI Agents Answer DMs and Comments via MCP
Give Claude or any MCP client the tools to read and answer Instagram DMs, moderate comments, and reply to Google reviews — engagement tools on the Postproxy MCP server.
An LLM can draft a perfectly good reply to a customer DM; it just has no way to read the inbox or hit send. Without a tool boundary, "AI handles our engagement" means a human copy-pasting both directions.
-
How to Auto-Respond to Google Reviews with AI
Wire a webhook, an LLM, and one POST into a Google review auto-responder — star-rating-aware drafts, human approval for negative reviews, multi-location routing.
Response rate to reviews is a local-SEO signal and a customer expectation, but writing individual replies to every "Great service!" across multiple locations is exactly the work nobody does consistently. Templates read like templates; silence reads worse.
-
How to Build a Unified Social Media Inbox via API
One chat and message schema across Facebook Messenger, Instagram DMs, Telegram, and Bluesky — list conversations, receive webhooks, and reply from a single inbox API.
A support inbox that covers Messenger, Instagram, Telegram, and Bluesky normally means four integrations: two Meta webhook subscriptions and app review, a Telegram bot server, and an AT Protocol chat client — each with its own message shape, auth, and failure modes.
-
How to Auto-Hide & Moderate Comments via API (Instagram, Facebook, Threads)
Build automatic comment moderation — hide spam and abuse, unhide false positives, delete when needed — with one comment moderation API across Instagram, Facebook, and Threads.
Spam hits your comments minutes after every post — crypto links, slur bots, "DM me for collab". The platforms' native filters miss most of it, and manually hiding comments across three apps doesn't survive any real posting volume.
-
How to Auto-Reply to Instagram Comments via API
Reply to Instagram comments programmatically — comment webhooks in, replies out, with author signals for routing. One Comments API for Instagram, Facebook, and Threads.
Instagram comment volume scales faster than any team. The Graph API can reply, but only after you've passed app review, built comment webhook ingestion, and mapped Meta's comment ID formats — infrastructure that has nothing to do with what your replies say.
-
How to Turn Instagram Comments into DMs via API (Private Replies)
Build the "comment LINK to get the guide" flow with the private reply API — comment webhook in, DM out. Works on Instagram and Facebook, no ManyChat needed.
The "comment a keyword, get a DM" funnel is the highest-converting pattern on Instagram right now, but Meta locks it behind messaging permissions, comment webhooks, and the Private Replies mechanism — so most teams rent it from ManyChat instead of owning the flow.
-
How to Reply to Google Business Reviews via API
List and reply to Google Business Profile reviews programmatically — multi-location filtering, star-only reviews, webhooks for new reviews, and reply management.
Google's Business Profile API for reviews is a maze of account/location resource paths, separate OAuth scopes, and an approval process aimed at agencies. All you want is: new review arrives, your system replies.
-
How to Send Instagram DMs via API
Send and receive Instagram direct messages programmatically — chats, the 24-hour messaging window, attachments, reactions, and inbound webhooks via the Postproxy API.
Meta's Instagram messaging API requires app review for messaging permissions, a webhook subscription to receive anything, and your own tracking of the 24-hour window before every send. Most teams give up before the first message goes out.
-
How to Send Facebook Messenger Messages via API
Send and receive Facebook Messenger messages programmatically — Page chats, PSIDs, the 24-hour window, attachments, reactions, and read receipts via the Postproxy API.
Meta's Send API wants an approved app with pages_messaging, a webhook subscription per Page, and PSID bookkeeping before your Page can answer a single customer. The messaging logic is the easy part; Meta's scaffolding is the project.
Ready to get started?
Start with our free plan and scale as your needs grow. No credit card required.