Post to social media from Microsoft Power Automate
https://postwire.io/api/post with your PostWire API key in the Authorization header and a JSON body listing the networks. One action publishes to TikTok, Instagram, YouTube, LinkedIn, Facebook Pages, Bluesky, Mastodon, Telegram, Discord and X (paid plans), with a separate caption per network if you want one; send it to /api/schedule with run_at and it goes out later. The trigger can be anything a flow starts from: a new SharePoint list item, a row in an Excel table, a Teams message, a form response or a Recurrence schedule.Power Automate is where a Microsoft 365 team already keeps its content: the calendar in a SharePoint list, the approved copy in Excel, the sign-off in Teams. On Oct 26, 2026 its connector index listed X, LinkedIn V2 and YouTube connectors, no TikTok connector, and for Instagram one independent-publisher connector, Instagram Basic Display. An HTTP action to a posting API covers every network from the same flow.
Updated . Written from PostWire's own code; vendor prices read on Oct 26, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.
Post from Power Automate to social media, step by step
About fifteen minutes. PostWire's REST API is on its free plan: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card. On Power Automate's side, Microsoft's licensing FAQ says free and Microsoft 365 plans "can only access standard connectors"; if the designer marks the HTTP action Premium in your tenant, it needs Power Automate Premium ($15.00 per user a month, paid yearly, on Microsoft's pricing page on Oct 26, 2026).
- Create a free PostWire account and connect your networks
Open the dashboard and sign in with your email: a 6-digit code, no password, no card. Connect the accounts the flow should post to (Instagram, TikTok, YouTube, LinkedIn, Facebook Pages, Bluesky and the rest), each with the network's own sign-in.
- Create an API key
Under API & MCP press Create key and copy it (it starts with
pw_live_). The flow sends it in a header, never in the URL. - Start the flow from your content
Create an automated cloud flow and pick the trigger that should cause a post. The example below uses SharePoint's When an item is created on a list with the columns Caption, ImageUrl and PostAt. For a fixed rhythm, pick a scheduled cloud flow instead: Microsoft's own example is the Recurrence trigger with Interval 1 and Frequency Week for once a week.
- Add the HTTP action
Add HTTP as the next step and fill its fields: Method
POST· URIhttps://postwire.io/api/schedule· Headers two rows, one with your key · Body the JSON below.Method: POST URI: https://postwire.io/api/schedule Headers: Authorization Bearer YOUR_POSTWIRE_API_KEY Content-Type application/json Body: { "platforms": ["instagram", "linkedin", "facebook"], "text": "CAPTION", "photo_url": "IMAGE_URL", "run_at": "POST_AT" } - Swap the capitals for dynamic content
Place the cursor on
CAPTION,IMAGE_URLandPOST_ATin turn and pick the list's Caption, ImageUrl and PostAt from the dynamic content panel.run_attakes an ISO 8601 time up to 365 days ahead, or"next_slot"for the brand's next free queue slot. PostWire checks the connections and the media for every network when the flow sends it, not at posting time, so a missing image or an unconnected network fails the run now. - Test the flow and open the posts
Add an item to the list and open the flow's run. The HTTP action's output shows what PostWire answered: the schedule and its networks, or the field it refused and why. When the time comes, the post appears under History in the PostWire dashboard with each network's live link.
To publish at once instead of at a time, change the URI to https://postwire.io/api/post, drop run_at and add "idempotency_key" with the item's ID: an item the flow sends twice within 24 hours is then published once. Instagram needs an image or a video; for networks that take text alone (LinkedIn, Bluesky, Telegram, Mastodon, X) photo_url can go. For video, send video_url with a public link; YouTube also wants a title.
Where PostWire helps a Power Automate setup
Connector facts from Microsoft's connector reference, and Buffer's from Microsoft's connector page and Buffer's pricing page, read on Oct 26, 2026.
| Instagram and TikTok | Networks in one action | Price | |
|---|---|---|---|
| Buffer connector | Standard connector: "Access your pending and sent updates, social media profiles, and more" | The channels connected in Buffer | Free: 3 channels · Essentials $5/mo per channel, billed yearly |
| Microsoft's network connectors | No TikTok connector; Instagram Basic Display (Independent Publisher) | One connector per network | X, LinkedIn V2 and YouTube are Standard connectors |
| PostWire | Publishes live: photos, carousels, Reels, TikTok videos and photo posts | Every network listed (2 per post on Free) | Free: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card · Starter $9/mo for 3 businesses |
Checked on Oct 26, 2026 (2026-10-26) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.
Where PostWire is ahead
- Instagram and TikTok from a flow: the HTTP action publishes Reels, carousels and TikTok videos live.
- One action, every network: one request lists the networks, so a flow has one HTTP step instead of a connector per network.
- Priced per business, not per channel: Starter is $9 a month for 3 businesses with every network in each post.
- A caption per network with
per_platform, and a post published now is never sent twice withidempotency_key. - Shared files work as links: a OneDrive or SharePoint sharing link is turned into the file's download link.
- The answer comes back into the flow: each network's live link or its reason, ready for Parse JSON, a SharePoint column or a Teams message.
- Microsoft — Power Automate licensing FAQ (free and Microsoft 365 plans "can only access standard connectors"): learn.microsoft.com/en-us/power-platform/admin/power-automate-licensing/faqs
- Microsoft — Power Automate pricing (Power Automate Premium $15.00 user/month, paid yearly): www.microsoft.com/en-us/power-platform/products/power-automate/pricing
- Microsoft — connector reference (X, LinkedIn V2, YouTube, Buffer, Instagram Basic Display (Independent Publisher); no TikTok): learn.microsoft.com/en-us/connectors/connector-reference/
- Microsoft — X connector (Power Automate Standard; "Post a tweet"): learn.microsoft.com/en-us/connectors/twitter/
- Microsoft — LinkedIn V2 connector (Power Automate Standard; "Post an article V2"): learn.microsoft.com/en-us/connectors/linkedinv2/
- Microsoft — Facebook [DEPRECATED] connector: learn.microsoft.com/en-us/connectors/facebook/
- Microsoft — YouTube connector (Power Automate Standard; trigger "When I upload a video"): learn.microsoft.com/en-us/connectors/youtube/
- Microsoft — Buffer connector (Power Automate Standard): learn.microsoft.com/en-us/connectors/buffer/
- Buffer pricing (Free: up to 3 channels; Essentials $5/month per channel, billed yearly): buffer.com/pricing
- Microsoft — run a scheduled cloud flow (Recurrence, Interval and Frequency): learn.microsoft.com/en-us/power-automate/run-scheduled-tasks
- Microsoft — Apply to each ("requires an array"): learn.microsoft.com/en-us/power-automate/apply-to-each
- Microsoft — the HTTP action (method, uri, headers, body; shared with Azure Logic Apps): learn.microsoft.com/en-us/azure/connectors/connectors-native-http
Three bodies for the same HTTP action
The method, URI and headers stay the same; only the Body changes. Field names are from PostWire's OpenAPI file (/openapi.json), which also documents every error code.
A different caption per network, with per_platform:
{
"platforms": ["linkedin", "x", "bluesky"],
"text": "CAPTION",
"per_platform": {
"linkedin": { "text": "LINKEDIN_CAPTION" },
"x": { "text": "SHORT_CAPTION" }
}
}
A video to TikTok, YouTube Shorts and Instagram Reels, from a file shared with a link anyone can open. A OneDrive or SharePoint sharing link works as it is: PostWire turns it into the file's download link.
{
"platforms": ["tiktok", "youtube", "instagram"],
"text": "CAPTION",
"title": "TITLE",
"video_url": "PUBLIC_VIDEO_URL",
"privacy": "public"
}
The next free slot, for a flow that fires often: PostWire spreads the posts over the brand's posting hours instead of sending them all at once. timezone says how to read those hours when the brand has none saved.
{
"platforms": ["linkedin", "facebook"],
"text": "CAPTION",
"run_at": "next_slot",
"timezone": "America/New_York"
}Read the answer back into the flow
A flow can act on what PostWire answered, for example to write each post's link back to the SharePoint item or to post it in a Teams channel.
- Parse JSON on the HTTP action's body turns the answer into dynamic content. From
/api/post,resultsis a list with one entry per network:platform,ok,urlof the live post, anderrorwith acodewhen a network refused it (for examplemedia_requiredornot_connected). - Apply to each over
resultsthen handles one network at a time; Microsoft's page for the action says it "requires an array", whichresultsis. - A condition on
oksends the failures to whoever owns the list, with the network's own reason.
Power Automate's own social connectors vs one HTTP action
What Microsoft's connector index and connector pages listed on Oct 26, 2026, next to what the HTTP action to PostWire does:
| Network | Power Automate connector | HTTP action to PostWire |
|---|---|---|
| Instagram Basic Display (Independent Publisher) | Publishes a photo, a carousel of up to 10, or a Reel | |
| TikTok | Not in the connector index | Publishes the video, or a photo post of up to 35 images |
| YouTube | YouTube (Standard), with triggers such as "When I upload a video" | Publishes a video from a URL, with title and privacy |
| Facebook [DEPRECATED] | Posts to your Facebook Pages | |
| LinkedIn V2 (Standard): "Post an article V2" | Posts to your personal profile, with images or video | |
| X | X (Standard): "Post a tweet" | Posts on paid plans, in the same call as the other networks |
| Bluesky, Mastodon, Telegram, Discord | Not read for this page | The same request: add the network to platforms |
The gain is one action for every network: one flow, one key, one list of networks, instead of a connection and an action per network.
What to watch
- The key is in the flow. Anyone who can edit the flow can read the header. Create a key just for Power Automate and delete it in API & MCP if the flow is shared or retired.
- Quotes in the text. A double quote inside a caption breaks the JSON body, and the request is refused with a 400 shown in the run's output. Keep quotes out of the source column, or build the body with an expression that escapes them.
- Bursts. PostWire allows 60 API requests a minute per key on Free. A flow that loops over a whole table is better pointed at
/api/schedulewith"next_slot". - The free plan posts to 2 networks per post. List more in
platformsand the versions for the others are kept, not sent; paid plans publish to every network listed.
Questions people ask
Can Power Automate post to social media?
Yes. Its connector index lists X, LinkedIn V2 and YouTube connectors, and for any network a cloud flow can send an HTTP request to a posting API. With PostWire one HTTP action publishes to TikTok, Instagram, YouTube, LinkedIn, Facebook Pages, Bluesky, Mastodon, Telegram, Discord and X (paid plans).
Can Power Automate post to Instagram?
Not with a Microsoft connector: on Oct 26, 2026 the connector index listed only Instagram Basic Display, from an independent publisher. An HTTP action to PostWire's POST /api/post with an image or video URL publishes a photo, a carousel or a Reel.
Can Power Automate post to TikTok?
The connector index listed no TikTok connector on Oct 26, 2026. Send the video's public link in video_url to https://postwire.io/api/post from an HTTP action and PostWire publishes it on TikTok, and on YouTube and Instagram in the same request if you list them.
How do I schedule social media posts from a SharePoint list or Excel?
Start the flow with the list's or table's trigger for a new item or row, then add an HTTP action that POSTs to https://postwire.io/api/schedule with platforms, text, photo_url or video_url, and run_at set to the item's date column (ISO 8601, up to 365 days ahead) or "next_slot".
Do I need Power Automate Premium?
Microsoft's licensing FAQ says free and Microsoft 365 plans can only use standard connectors, and Power Automate Premium ($15.00 per user a month, paid yearly, on Oct 26, 2026) adds premium ones. Check how the designer labels the HTTP action in your tenant. PostWire's REST API itself is on its free plan.
Is there a PostWire connector for Power Automate?
Not as a listed connector. The HTTP action is the way in, and PostWire's OpenAPI file at https://postwire.io/openapi.json describes every field and answer.
Try it on one business, free.
The free plan is 1 business, 10 posts a month, 5 AI drafts a day (about 20 a month) and 2 networks per post — every network connects free, no card, no time limit. Paid plans start at $9 a month and have a 14-day refund; Pro can be tried free for 7 days and Agency for 14, with a card at checkout and nothing charged that day.