Facebook Scheduler

Facebook scheduler for products publishing to every Page

Publish to every Facebook Page your product or your team posts to from one calendar, with Page tokens and roles resolved per Page so one client revoking access does not stop the rest.

Last updated: July 2026

One API key. No per-account fees. 15 platforms.

API key authScheduled publishing15 platforms
Quick start
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Facebook campaign",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["FACEBOOK"],13    data: {14      FACEBOOK: { text: "Scheduled from bundle.social." }15    }16  })17});
Official APIs500k+ connected accountsDirect engineer support

What native Facebook publishing leaves to your team

Facebook Pages, Reels, Stories, links, and media posts all come with Meta permissions and Page access rules.

What bundle.social handles

Schedule Facebook content inside the campaigns, approvals, and reports your team already uses.

Keep Facebook in the same workflow as every other channel

Juggling Page tokens, app review status, and per-client dashboards shouldn't be in anyone's job description. Put Facebook back in the same place as the rest of the campaign.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Create an API key

Generate an organization API key in the dashboard and use it with the x-api-key header.

02

Connect accounts

Connect each social account once. bundle.social keeps the account mapping ready for future posts.

03

We resolve Page tokens at publish time

Facebook publishing runs on a Page access token derived from the user token, and Page roles can change after connection. You send one request; bundle.social resolves the current Page token and tells you to reconnect only when the Page relationship is genuinely broken.

Product architecture

Build social media workflows without rebuilding every platform

Facebook scheduler for Pages, Reels, and local campaigns

Multi-location platforms, SaaS products, and the agencies and franchise groups they serve plan Facebook as a set of Pages, often dozens, each belonging to a different location or client. Page posts, Reels, Stories, links, images, and video all hang off Meta permissions and Page access rules that decide which of those Pages can publish at all.

bundle.social runs Facebook planning and publishing from one calendar. Draft per Page, attach media once, schedule around campaign timing, and track delivery status without logging into each Page individually.

Page access is the part that quietly breaks

Facebook publishing depends on a Page role held by whoever connected the account, and those roles change when a client reorganizes permissions or a team member leaves. The connection can keep looking healthy while a scheduled post has nowhere valid to publish.

bundle.social resolves current Page access when a post runs and asks for a reconnect only when the Page relationship is genuinely broken. For multi-location and franchise teams, each Page stays mapped to its own workspace, so local content does not have to be coordinated through one shared login.

The same promotion runs on Facebook, Instagram, and Google Business

Facebook is usually planned with Instagram, and for local brands with Google Business Profile as well. The same promotion needs a Page post, a Reel, and a local update, each with its own copy and timing, and the results have to be compared in one place.

Those channels share one calendar with shared media, per-channel fields, comments, and analytics where the accounts expose them. The same workflow is available through the API when publishing has to be automated for many Pages at once.

Let your own users connect their Facebook accounts

Facebook connections are abandoned on the business scope modal more than anywhere else, because it asks a non-technical user a question they cannot answer. The portal can skip that modal for Facebook login paths.

You generate a hosted portal link, your user connects their own Facebook account through it, and bundle.social stores and refreshes the token. The link carries your branding, expires on a window you set between 5 minutes and 48 hours, and means you never implement Facebook Graph API OAuth yourself. Publishing from your own code instead of the dashboard uses the same connected accounts.

Capabilities

Facebook scheduling with the workflows your team already uses

Facebook fits into the same scheduling, media, and status workflow as every other channel.

Facebook in your cross-platform calendar

Plan and schedule Facebook content alongside Instagram, LinkedIn, X, TikTok, and every other channel without switching between native dashboards.

Channel-specific field control

Facebook content still uses the options and fields the platform supports. No generic template that loses native capabilities.

Team review and approvals

Marketing teams can draft, review, and approve Facebook content in the shared calendar before anything publishes.

Media library for campaigns

Upload visuals, videos, and documents once and attach them to Facebook posts using upload IDs across your content plan.

Post status tracking

See whether each Facebook post is scheduled, processing, posted, or failed without checking the native platform dashboard.

Analytics where available

Pull Facebook performance data and import post history for connected accounts where the platform API and permissions allow it.

Developer example

Schedule Facebook content

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Facebook campaign",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["FACEBOOK"],13    data: {14      FACEBOOK: { text: "Scheduled from bundle.social." }15    }16  })17});

Supported content

Page postsReelsStoriesLinksImagesVideos

Honest limitations

  • Meta app review, page permissions, and account rules still apply.

Guarantees

Developer-first infrastructure

Visible post status

Track scheduled, processing, posted, retrying, and error states per post.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day, sometimes the same hour.

FAQ

Questions developers ask before building

Why do Facebook Pages drop out one at a time?

Publishing runs on a Page access token derived from the user token of whoever connected the account, and the Page role behind it can change whenever the client reorganizes access. With thirty client Pages this is a recurring operational fact rather than an incident. bundle.social reports it per Page, so a lost role and a bad media asset do not look like the same failure.

Can we send one campaign to fifty Pages with local variations?

Yes, and that is the workflow worth using. Identical content across fifty Pages is easy and performs badly, because both Facebook ranking and the local audience reward specificity. Per-Page variation of branch name, offers, hours, and imagery is what makes multi-location publishing work.

Why did a scheduled Reel fail when the same content worked as a Page post?

Because a Page post accepts up to 10 items, a Reel exactly one video, and a Story exactly one item. A template built for Page posts and applied across many locations produces one rejected Reel per location. bundle.social validates per post type before publish so that mistake does not replicate.

Why use bundle.social for Facebook instead of Meta Business Suite?

Because Business Suite is built around one operator and Facebook publishing breaks per Page. Page tokens derive from whoever connected the account, and Page roles change on the client's side, so Pages drop out one at a time. bundle.social resolves the current Page token at publish, validates media per post type so a Reel is not sent a carousel, and reports failures per Page instead of as one generic error.

Can our own users connect their own Facebook accounts?

Yes. You generate a hosted portal link carrying your own branding, and bundle.social stores and refreshes the Facebook token, so a reconnect is something your user can do without a support ticket.

Can Facebook run in the same calendar as our other channels?

Yes, and the per-platform differences stay per platform. One scheduled post can target several channels at once, with a FACEBOOK object carrying only the fields Facebook needs.