What you need
- A Meta for Developers account and a Meta app (you create it below).
- Your MagicPost site served over HTTPS. The Run checks test on the Platforms page fails the redirect URI check for any address that does not start with
https://. - For each person who connects a Page: a role on that Page that includes the
CREATE_CONTENTtask. Pages where the person lacks it are not offered during connection.
Set up the Meta app
You do this once, as the administrator. The same Meta app can serve Facebook, Instagram and the official WhatsApp API.1
Open the Facebook Page setup panel in MagicPost
Go to Admin → Publishing → Platforms and click Add credentials on the Facebook Page card (the button reads Edit credentials once keys are saved). The panel shows the Redirect URI and the Permissions asked for, each with a copy button.The redirect URI has this form:Copy the exact value from the panel. Networks compare it character for character.
2
Create the app
In Meta for Developers, create an app with the use case for managing a Page, and connect it to your business portfolio.
3
Add Facebook Login
Add Facebook Login to the app and paste the redirect URI under Valid OAuth Redirect URIs. If the same app also serves Instagram, add the Instagram redirect URI there as well (
https://your-domain.com/publishing/instagram/callback).4
Request permissions
In App Review, request advanced access to each permission listed below.
5
Copy the keys
Open App settings → Basic and copy the App ID and App Secret.
6
Save them in MagicPost
Back in the setup panel, paste the App ID into Client ID and the App Secret into Client secret. Leave Custom redirect URI empty unless your site must be reached at a different address. Tick Available to users and click Save.
7
Run the checks
Click Run checks on the card. The Configuration checks window confirms the client ID, client secret, redirect URI, requested scopes, connect driver and publisher. Every row should pass.
Permissions MagicPost requests
The connect dialog asks for these six permissions together:pages_show_list, pages_read_engagement, pages_manage_posts, pages_manage_engagement, business_management, read_insights
pages_manage_engagement is what allows first comments. read_insights feeds the Page figures in Analytics.
MagicPost calls Graph API version
v23.0.Connect a Page
1
Open Channels
In the sidebar, under Publishing, click Channels.
2
Start the connection
In the Add a channel card, click Facebook Page. If the tile is dashed and marked Not in your plan, your plan does not include Facebook. See Plans.
3
Authorise in Facebook
Sign in to Facebook, choose the Pages to share and accept every permission. If you decline
pages_manage_engagement, the first comment field is not offered for that channel.4
Choose Pages
If you shared one Page, MagicPost connects it right away and confirms with a message ending in “is connected.” If you shared several, the Choose accounts to connect window opens with every Page ticked. Untick the ones you do not want and click Connect.
Post types and limits
Choose the type with Post type in the Settings for panel of the channel in the composer. The limits below are set inconfig/publishing.php, and the composer checks them before a post is queued.
How a post goes out
- Feed post. One image is published as a photo. Several images are uploaded unpublished and attached to a single post. A video is handed to Facebook by link when the file’s address can be reached from the internet, and uploaded from your server otherwise. A text post can carry a link, taken from the Link option or from the shared Link field in the First comment and link card.
- Reel. The video is uploaded through Facebook’s resumable upload session, then published. Each step is recorded, so a run that is cut short continues with the same upload.
- Story. An image or a video is published as a Page Story.
- Alt text. The alt text saved with an image in the Media library is sent with each photo, up to 1,000 characters.
First comments
Feed posts and Reels can carry a first comment, posted as a comment on the post right after it goes live. Write it in the First comment field of the First comment and link card, or per channel in the First comment for field of the channel’s settings. A per-channel comment overrides the shared one. A failed comment does not fail the post. The post stays published and the network’s answer is written to the application log under “First comment failed”.Check the connection
On the Channels page, open the channel’s actions menu (the three dots) and click Check connection. The Connection check window lists:- Authorisation: whether the connection expires and whether it renews itself.
- Page: confirms the connection to the Page by name.
- Visibility: a warning if the Page is unpublished, because then only its admins see what is posted to it.
Analytics
Facebook reports these figures to Analytics:
A Page without the insights permission still reports its follower count.
Tokens and reconnecting
MagicPost keeps the Page token Meta issues from a long-lived user token. That token has no expiry date of its own and is not renewed on a timer. It stops working when the person revokes the app, loses their role on the Page, or Meta ends the app’s data access after a long period without use. When that happens the channel shows Needs reconnect. Open the actions menu and click Reconnect. If you pick a different Page than the one you originally linked, MagicPost refuses with “That is a different account. Reconnect using the account you originally linked.” MagicPost also runs the connection check in the background, at most about once a day, for channels that have posts due in the next two days. A revoked token is therefore usually flagged before a scheduled post fails. This needs the scheduler to be running; see Cron and queue.Common errors
Facebook says the redirect URI is not allowed
Facebook says the redirect URI is not allowed
The address in Valid OAuth Redirect URIs must match the redirect URI shown in MagicPost exactly, including
https:// and the /publishing/facebook/callback path.I can connect, but a colleague cannot
I can connect, but a colleague cannot
The app is not yet approved for the permissions. Until App Review passes, only people with a role on the Meta app can connect a Page.
The first comment never appears
The first comment never appears
Check that the connecting person granted
pages_manage_engagement. Without it the field is not offered. If it was offered and the comment is still missing, look for “First comment failed” in the application log.The channel shows Needs reconnect
The channel shows Needs reconnect
Meta rejected the token (error codes 102, 190, 463 or 467). Reconnect the channel from the actions menu.
A post failed with a rate limit message
A post failed with a rate limit message
Meta throttled the app or the Page. MagicPost retries these automatically on its backoff schedule. See Failed posts.

