📱 Publish Facebook Reels from a video URL with a webhook and Graph API
⚡ 28 views · 📱 Social Media & Email Marketing
💡 Pro Tip — If you’ve run into Facebook’s Graph API permission restrictions, ScraperNode is a community node that scrapes pages, groups, posts, and comments directly — no app review needed.
Description
Quick Overview
This workflow exposes a webhook that takes a public video URL and caption, uploads the video to a Facebook Page as a Reel via the Facebook Graph API’s three-phase upload, and responds with the created Reel’s video ID and link.
How it works
- Receives a POST webhook request containing
video_url,caption, and optionalvideo_stateplusscheduled_publish_time. - Starts a Facebook Reels upload session on the target Facebook Page using the Facebook Graph API.
- Instructs Facebook’s upload service to pull the video directly from the provided URL.
- Waits briefly for Facebook to process the uploaded video.
- Finishes the upload by setting the caption and creating the Reel as a draft, scheduled post, or published post.
- Returns the new
video_idand ahttps://www.facebook.com/reel/<video_id>link in the webhook response.
Setup
- Create a Meta app and generate a Facebook Page access token with the required permissions for publishing Reels.
- Add an n8n HTTP Header Auth credential that sends
Authorization: Bearer <PAGE_ACCESS_TOKEN>and use it for all Facebook HTTP requests. - Replace
YOUR_FACEBOOK_PAGE_IDwith your Facebook Page ID. - Call the webhook URL with JSON including a publicly reachable
video_url, optionalcaption, and optionalvideo_state(DRAFT,SCHEDULED, orPUBLISHED) plusscheduled_publish_timewhen scheduling.
🔗 Nodes Used
HTTP Request, Webhook
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File