Skip to main content

Zapier Integration Guide

Wire any of Zapier's 7,000+ apps into Instagram, YouTube, TikTok, LinkedIn, X, Facebook, Threads, Pinterest, Reddit and Bluesky with one Webhooks step.

Why Webhooks, not a native app?

A native IndReelForge Zapier app is on the roadmap. Today, Webhooks by Zapier gives you full access to every endpoint with zero waiting — and it works on the free Zapier tier.

Prerequisites​

StepWhat to do
1. Create a profileDashboard → Profiles → New Profile. The profile name is your user field.
2. Connect socialsOpen the profile, click Connect next to each network.
3. Generate an API keyDashboard → API Keys → New Key (2FA required). Copy it once.

Configure the Webhooks Step​

Step 1 — Add the action​

In the Zap editor click +. Search for Webhooks by Zapier and select it.

Step 2 — Choose Custom Request​

Pick Custom Request as the action event (gives full control over headers and body).

Step 3 — Set Method and URL​

FieldValue
MethodPOST
URLhttps://api.indreelforge.com/api/upload

For photo carousels use /api/upload_photos. For text posts use /api/upload_text.

Step 4 — Set the Authorization header​

In the Headers section:

KeyValue
AuthorizationApikey YOUR_INREELFORGE_API_KEY
Keep keys out of Zap exports

When you share or duplicate a Zap, header values travel with it. Store the API key in Storage by Zapier and reference it as a variable so the literal key never lands in another account.

Step 5 — Set Data Pass-Through to false​

Set Data Pass-Through? to false — otherwise Zapier sends every field from the trigger, not just the ones you specify.

Step 6 — Add the form fields​

KeyValueNotes
usermy-brandYour profile name
titleCaptionMap from trigger step
platform[]instagramAdd one row per platform
platform[]tiktokRepeat the same key
videoFile URLMap from trigger, or use video_url

Click Test to confirm a 200 response.


Post to Multiple Platforms​

Add platform[] multiple times — one row per network. IndReelForge fans the upload out to every listed platform in a single API call:

platform[] = tiktok
platform[] = instagram
platform[] = youtube

One Zap task. One upload record. Three published posts.


Use a Remote URL Instead of a Binary​

Zapier has a 25 MB step payload cap. For large videos, use video_url instead:

KeyValue
video_urlhttps://your-storage.com/video.mp4

IndReelForge fetches and processes the file server-side — much faster and avoids Zapier's payload limit.


Example Zaps​

New row in Google Sheets → Publish​

Editors add posts to a Google Sheet. Zapier triggers on each new row, reads the video URL and caption, then fires one Webhooks step that publishes to every platform listed in the row.

Google Sheets (new row) → Webhooks (POST /api/upload)

Notion publish-checkbox → Fan-out​

A Notion database column called Publish becomes the trigger. When the checkbox flips, Zapier sends the page properties to IndReelForge and writes the upload_id back to a Published column.

Notion (page property updated) → Webhooks (POST /api/upload) → Notion (update upload_id)

Calendly booking → Announce on socials​

A new Calendly booking triggers a celebratory post. GPT formats a message, Zapier hits the IndReelForge upload_text endpoint, and the post lands on X, LinkedIn and Threads in seconds.

Calendly (new booking) → OpenAI (format message) → Webhooks (POST /api/upload_text)

Stripe payment → Social proof post​

A new paid subscription on Stripe triggers a milestone post (anonymised). Zapier composes a message and publishes it to every social channel — instant social proof.

Stripe (new subscription) → Formatter (build message) → Webhooks (POST /api/upload_text)

Auto-Schedule with Queue​

Add add_to_queue=true to your data fields — IndReelForge picks the next pre-configured time slot automatically:

KeyValue
add_to_queuetrue

Common Gotchas​

IssueFix
Zapier 25 MB payload limitUse video_url instead of binary uploads
Free plan can't post to TikTokUpgrade to Basic+
Every trigger field is being sentSet Data Pass-Through to false
API key visible in shared ZapStore in Storage by Zapier, reference as variable
Want multiple platformsAdd platform[] as separate rows with the same key