Post to Instagram from Zapier
Schedule Instagram Reels, photos, carousels and Stories from any Zap with Webhooks by Zapier. Set collaborators, tags and a first comment, pick the publish time, and send the same post to TikTok, YouTube Shorts and 14 more platforms in the same request.
Webhooks by Zapier · Free plan · Official Instagram API
Zapier's Instagram app or ShortSync?
Zapier on its own
- Zapier's Instagram for Business app publishes photos, carousels and videos as Reels. It's a good fit for posting right away.
- It needs a Business or Creator account linked to a Facebook Page, with permission to post on that Page.
- It posts when the Zap runs. There's no publish time, Stories or first comment.
Zapier with ShortSync
- Connect Instagram to ShortSync once with Instagram Login. No Facebook Page.
- Schedule the publish time in the request, and post Stories, Trial Reels and a first comment.
- Post the same video to TikTok, YouTube Shorts and 14 more platforms in one request.
- Start Zaps when the post is live or fails, with Catch Hook.
Set it up in Zapier
Connect Instagram to ShortSync once, then two HTTP requests per post. Publish now, schedule it, or save a draft to check first.
- 1
Create a ShortSync API key
In ShortSync, connect the account once, then open Settings → API & MCP, click Create API key and pick the workspace. Every Webhooks by Zapier step below sends it as an Authorization header: Bearer followed by your key.
- 2
Find your Instagram connection id
Add a Webhooks by Zapier step with the GET event on the connections URL and your Authorization header. Test it once and copy the id of your Instagram account.
GET https://api.shortsync.app/v1/connections
- 3
Upload the file
Add a Webhooks by Zapier step with the Custom Request event: method POST, the uploads URL, and headers Authorization, Content-Type: application/json and an Idempotency-Key. In Data, send source_url mapped from your trigger (a public direct-download link).
POST https://api.shortsync.app/v1/uploads { "source_url": "https://example-bucket.s3.amazonaws.com/clips/recipe.mp4" } - 4
Create the Instagram post
Add another Custom Request with POST on the posts URL. Map upload_id from the upload step and the caption (up to 2,200 characters) from your trigger, and set Instagram's options in the target. A video posts as a Reel and an image as a photo post. Use publish_mode immediate, scheduled with scheduled_for, or draft.
POST https://api.shortsync.app/v1/posts { "upload_id": "<upload_id from the upload step>", "publish_mode": "scheduled", "scheduled_for": "2026-11-10T16:00:00Z", "caption": "5-minute miso soup. Save it for later #recipe", "first_comment": "Full recipe: link in bio", "targets": [ { "connection_id": "<Instagram connection id>", "platform_options": { "instagram": { "share_to_feed": true, "share_to_story": true, "collaborators": ["partner_account"] } } } ] } - 5
Start a Zap when it's live
Start a second Zap with Webhooks by Zapier: Catch Hook, add its URL as a webhook in Settings → API & MCP with post.published and post.failed, and click Send test event so Zapier learns the fields. The event carries data.post.url, the post's Instagram link.
Instagram settings you can send
Put these in platform_options.instagram on the Instagram target.
| Field | What it does |
|---|---|
| share_to_feed | Show the Reel in the main feed too (default on). |
| share_to_story | Also post it as a Story. Reels and single images. |
| story_only | Post only as a Story: a video up to 60 seconds or an image. |
| trial_reel | Post as a Trial Reel, shown to non-followers first. |
| collaborators | Usernames to invite as collaborators. |
| user_tags | Usernames to tag in the post. |
| location_id | Location to tag. |
| is_paid_partnership | Show the Paid partnership label. |
| is_ai_generated | Add Instagram's AI info label. |
| alt_text, alt_texts | Alt text for an image, or per image in a carousel. |
Instagram workflows to build
Schedule posts from Google Sheets or Airtable
New row with a video link, caption and date, then the upload and post steps with publish_mode scheduled.
Write captions with ChatGPT, then review
Add a ChatGPT step that writes the caption from your topic, then create the post as a draft to check in ShortSync.
Post new files from Dropbox or Google Drive
Trigger on a new file in a Dropbox or Google Drive folder, use its direct-download link as source_url, and post it as a Reel and a Story.
Get told when a post fails
Catch Hook on post.failed, then email or Slack yourself data.post.error.message.
Good to know
- Webhooks by Zapier is a premium Zapier app, so it needs a paid Zapier plan.
- Instagram's API only posts to professional accounts (Business or Creator). Switching is free in the Instagram app.
- source_url must be a public direct-download link. Google Drive share links need the uc?export=download form.
- Carousels take up to 10 images or videos; group them with POST /uploads/carousel-group first.
More ways to automate
Frequently asked questions
Post to Instagram from Zapier
Free plan, API key in a minute, official platform APIs.
Official APIs and approved publishing partners
Prefer a walkthrough? Book a demo with Hilma