FlowsMotion — Facebook Video Automation

Client Guide · Requirements & how to operate the portal (end-to-end)
Cloudflare Pages · Cloudflare D1 · n8n · NCA Toolkit · MinIO · Meta Graph API
Blocking — must have to publish Required data entry Confirm / decide Already done

🚀 The Portal — where you'll work

Everything runs from a single web app. No installs, no servers to touch.

▶ Open the FlowsMotion Portal

Bookmark it. You'll use it for: adding videos, watching them download, and saving your Facebook page(s).

📘 Tutorial — how to operate it (step by step)

A. Add a video to the queue

Open the portal & click “Add Video”

On the top menu bar, the Add Video tab is selected by default. You'll see a form with these fields:

  • Video URL * — paste the link to the source video (TikTok, Instagram, Facebook, or a direct .mp4 link).
  • Platform — pick where the link is from (helps the downloader).
  • Title — a caption/label for your reference (optional but recommended).
  • Target FB Page — choose the page to publish to (set up in section C first).
  • Time Zone — defaults to PKT (Asia/Karachi).
  • Schedule — optional date/time; leave blank to publish as soon as ready.
💡 Paste the link, pick the page, hit Submit to Queue. That's it — the system takes over.

You'll get a confirmation

A green message appears: “✓ Added to queue (ID 12)”. The video is now saved and the download worker will pick it up automatically within ~1 minute.

B. Watch it download & publish

Click the “Download Queue” tab

You'll see a table of every video with live status pills:

Pending just added / waiting   Completed downloaded & published   Failed couldn't be fetched

What happens automatically (you do nothing)

Behind the scenes, every minute the worker:

  • Grabs the next Pending video.
  • Downloads it via the NCA Toolkit (works for TikTok / IG / FB / direct MP4).
  • Uploads it to secure storage (MinIO bucket flowsmotion-fb).
  • Flips the status to Completed and stores the link.
  • If a link is dead/broken, it's marked Failed so the queue keeps moving (it won't get stuck).
📊 Screenshot placeholder — the Queue table showing columns: ID · Title · Platform · Download · Upload · Storage · Created, with colored status pills.

Publishing to Facebook (once scheduler is live)

After a video is downloaded, the Publish Scheduler posts it to your Facebook Page using the Page token you provided. You'll see it appear on the Page timeline — no manual posting needed.

⏱ Publishing uses your selected timezone & schedule. If you left Schedule blank, it publishes as soon as the download finishes.

C. Save your Facebook Page (one-time setup)

Click the “FB Pages” tab

Fill in the form once per page you want to post to:

  • Page ID * — the numeric ID of your Facebook Page (e.g. 123456789012345).
  • Page Name — any label; this is what you'll pick in the Add-Video form's “Target FB Page” dropdown, so make it recognizable (e.g. “My Brand Page”).
  • Access Token * — your Facebook Page Access Token (see requirements below).
  • Time Zone — defaults to Asia/Karachi.

Click Save Page. It appears in the table below and becomes selectable in the Add-Video form.

🔑 Use a System-User / long-lived Page token so publishing doesn't stop after ~60 days. See the Blocking section for how to get one.

D. Everyday workflow (the 30-second version)

  1. Open the Portal.
  2. Add Video → paste link → pick page → Submit.
  3. Switch to Download Queue → watch it go PendingCompleted.
  4. Done. The video publishes to Facebook on its own.

❓ FAQ & troubleshooting

My video shows “Failed” — what do I do?

A Failed status means the downloader couldn't fetch that link (dead URL, private account, or YouTube — see note #6). Just re-add a working link. Failed rows don't block the rest of the queue.

Why won't my YouTube link work?

This server's IP is blocked by YouTube's bot protection (403). Use TikTok, Instagram, Facebook, or a direct .mp4 link instead. YouTube can be enabled later with a special token.

Nothing is publishing to Facebook yet?

The Publish Scheduler goes live once we have your Page Access Token + Page ID (the Blocking items below). Downloads work today; publishing activates after that.

Can I schedule a specific date/time?

Yes — use the Schedule field in the Add-Video form. Leave it blank to publish immediately after download.

Is my data safe?

Videos are stored in your private Cloudflare D1 database + MinIO bucket. Only your configured Facebook Page token can post. We never share your credentials.

🔴 Blocking — needed to enable Facebook publishing

Required 1. Facebook Page Access Token (long-lived)

Required 2. Facebook Page ID(s)

Required 3. Meta App configuration

🟠 One-time data entry — Facebook Page in the portal

The Publish Scheduler looks up the page by the name you pick in the Add-Video form's "Target FB Page" dropdown. So at least one page must be saved in the FB Pages tab:

FieldExampleNotes
Page NameMy Brand PageMust exactly match what you pick in the form dropdown
Page ID123456789012345from item #2 above
Access TokenEAAB…from item #1 above
Time ZoneAsia/Karachipublishing schedule timezone

Without a saved page, the scheduler finds the video "due" but the lookup returns nothing → publish is skipped. (Downloads still work regardless.)

🟡 Confirm / decide

4. MinIO bucketWorkflows use bucket flowsmotion-fb (auto-created). No action needed. 5. TimezoneSet to Asia/Karachi (PKT) per spec. Tell us if you need a different timezone. 6. YouTube as sourceThis server's IP is 403-blocked by YouTube. Use TikTok / Instagram / Facebook / direct-MP4, or we enable YT with a PO Token later. 7. Content rightsYou must own or have rights to publish the videos. Meta flags/bans accounts for repeated copyright strikes.

🟢 Already done (no action needed)

To go live with auto-publishing, send us:

Or enter the token + page yourself in the portal's FB Pages tab. Once the token is in place, we flip the Publish Scheduler on, run one live end-to-end test (download a sample → post to your real Page), and confirm it appears.