10-Jul-2026 — Publishing to Facebook and Instagram: the Meta approval process
This page was updated on 25 August 2026 to match how publishing works now, including walks and social events.
This guide explains what Meta needs before your group or area website can publish to your Facebook Page and Instagram account, and how that same connection powers the on-site Instagram feed. It is written to be followed step by step, because the process is genuinely confusing the first time and Meta's own documentation assumes you already know how their pieces fit together.
Each NGX site manages its own social media. There is no shared central Meta app that all groups hang off: create (or use) a Meta app for this website, connect this site's Page, then publish from this site.
NGX does the fiddly technical parts for you. The usual path is: enter your Meta App ID and App Secret, click Connect Facebook, authorise, pick your Page, and NGX fills in the Page token and linked Instagram account. You can still paste a system-user token under Advanced if you prefer.
The Facebook and Meta screens below are linked so you can click through rather than hunting for them. You will need to be logged in as a Page admin.
Read this first - the single most important point
You do not need Meta's full App Review to start publishing to a Facebook Page and Instagram account that your group or area runs.
Meta has two levels of access:
- Standard Access - lets the app act on Pages and Instagram accounts that the people connected to it already administer. It needs no App Review. This is enough to get publishing working for your own Page and Instagram account.
- Advanced Access - only needed when the app acts on Pages and accounts it does not administer. That is not the model for NGX sites: each site connects its own Page. That path also needs Business Verification and App Review.
Most of the pain people hit is from assuming the whole thing needs App Review from day one. It does not. Get it working with Standard Access first, prove it end to end, and only take on App Review if you truly need to post to Pages you do not administer.
flowchart TD
A["Posting to a Facebook Page and Instagram account your group or area administers?"] -->|Yes| B["Standard Access"]
B --> C["No App Review needed<br/>Add the products and permissions, connect from NGX"]
A -->|"Need to post to Pages you do NOT administer"| D["Advanced Access"]
D --> E["Business Verification + App Review<br/>with a screencast per permission"]
C --> F["Connect Facebook in NGX, then publish albums or events"]
E --> F
style B fill:#E8F5EE,stroke:#9BC8AB,stroke-width:2px,rx:12,ry:12,color:#404143
style D fill:#FBEEDD,stroke:#E0B784,stroke-width:2px,rx:12,ry:12,color:#404143
What this unlocks
Once connected, three things use the same Facebook Page token and linked Instagram account:
- Share album to social media on an album: pick images, write a caption, publish a multi-photo Facebook post and an Instagram carousel. Share is only offered to content administrators, and only on albums where Allow Share To Social Media is ticked.
- Walks and social events as Page posts linking back to the event on this site. These are not Facebook Events: Meta's API does not allow any app to create a Facebook Event. Posts reach the same feed, but there is no RSVP list and no entry on the Page's Events tab.
- Instagram site feed on the public site: recent media loaded via the Instagram Graph API (the old separate Instagram access token is no longer used).
Before you start: the accounts and assets you need
You will need all of the following. Gather them before touching the developer console. Open Facebook while logged in as a Page admin (log in if you are not).
- A personal Facebook account that is an admin of the group or area's Facebook Page. Check Your Pages. Meta's note on Page roles is useful if you are not sure who has access.
- The group or area's Facebook Page (a Page, not a personal profile and not a Facebook Group - Meta does not allow posting to Groups). Create one at Create Page only if you do not already have one. The Professional dashboard is the usual desktop home for a Page.
- An Instagram professional account (Business or Creator, not personal), linked to that Facebook Page. Convert a personal account using Set up a professional Instagram account (that step is usually in the Instagram app). The Page link itself is Page settings → Linked accounts. Meta's help for the same screen is Connect a professional Instagram account to a Facebook Page.
- A Meta Business Portfolio that owns, or has the Page and Instagram account added to it (recommended). Open Business settings, then Pages and Instagram accounts. Meta's notes: about business portfolios, add a Facebook Page, add an Instagram account.
- A Meta for Developers account. Register at developer registration if you have not already (same Facebook login). Your apps are listed at My Apps.

Page settings → Linked accounts: Instagram connected to the group's professional account.

The same Instagram professional account in the Business Portfolio, owned by the group's Page.
Who needs which access
Meta's screens mix words like permissions, features, roles and Page roles. In practice:
| Who | What they need it for |
|---|---|
| Facebook Page admin (or someone who can manage posts on the Page) | NGX Connect Facebook only lists Pages that person manages. Check Your Pages and Page roles |
| Meta app admin / developer | Create the app, add Facebook Login and Instagram, grant the six permissions, set the OAuth redirect URI. Start from My Apps |
| NGX site administrator | Enter the App ID and App Secret, click Connect Facebook, switch on the publish toggles, and Save, on System Settings → External → Social Media |
| NGX content administrator | Use Share on an album where Allow Share To Social Media is ticked |
| NGX walk administrator | Use Walks → Admin → Social Media Publishing, and Share on social media on a walk or social event page |
The Instagram account must be a professional account linked to that Page (Linked accounts). Publishing and the site feed both use the Page token plus that linked Instagram account.
Route 1 - Get it working now (Standard Access, no App Review)
This is the path for your Page and Instagram account on your NGX site.
Step 1 - Create a Meta app
- Open Create App directly, or go to My Apps and choose Create App (top right). If Meta asks you to register first, complete developer registration. Meta's walkthrough is Create an Instagram app and Create an app.
- Pick a Business style app (or add Facebook Login for Business if the wizard offers use cases). Use cases such as Manage everything on your Page and Manage messaging & content on Instagram are the ones that pull in publishing.
- Give it a name and attach it to the Business Portfolio if prompted. You can create or pick a portfolio at Business settings.

Meta for Developers → My Apps. Create App is top right. Each site has its own app; stay in Development while you test as the app admin.
Step 2 - Add the products
Open the app from My Apps, then add:
- Facebook Login or Facebook Login for Business
- Instagram (content publishing as Meta labels it)
Meta's current app dashboard groups these as use cases (for example Manage messaging & content on Instagram and Manage everything on your Page), with Facebook Login for Business in the left nav. Use cases are customised from the app Dashboard after you open the app. Meta's note on customising them is Use case customisation.

App use cases: Instagram content and Page publishing, with Facebook Login for Business in the sidebar.
Step 3 - Add permissions on the app
Open the app from My Apps. In the left nav, open App Review → Permissions and features (wording varies; newer apps put this under the use case instead). See Meta's permissions reference and access levels. Request Standard Access for:
pages_show_list, pages_read_engagement, pages_manage_posts, instagram_basic, instagram_content_publish, business_management
If Connect Facebook fails with Invalid Scopes: pages_manage_posts (or another name), that permission is not yet available on this app - add it in the dashboard first, then try again. The login dialog only accepts scopes the app has been given.
Also under Facebook Login for Business → Settings in that same app (left nav after you open it from My Apps), add a Valid OAuth Redirect URI that matches this site: the site’s origin plus the System Settings path, for example:
https://www.your-group-site.org.uk/admin/settings/system-settings
Use your real site hostname (whatever members use in the browser), not a developer machine address. NGX sends Facebook the current page origin plus that path, so the URI on the Meta app must match it exactly. Meta describes this screen in Facebook Login for Business and customise the Page use case.
Copy the App ID and App Secret from App settings → Basic (left nav in the app dashboard). Meta's description of that screen is Basic settings. The browser address looks like https://developers.facebook.com/apps/ then your App ID then /settings/basic/.

App settings → Basic: App ID and App Secret to paste into NGX, plus the site domain.
Step 4 - Optional: system-user token (Advanced path)
If you prefer not to use Connect Facebook, you can generate a long-lived or non-expiring system-user Page token in Business settings → System users, then paste it under Advanced in NGX. Meta's notes are System users. That is optional; Connect Facebook is the usual path.
Step 5 - Connect in NGX
In the NGX admin site, go to System Settings → External → Social Media:
- Enter the Facebook App ID and Facebook App Secret from Meta App settings → Basic (open the app from My Apps).
- Click Connect Facebook, authorise with Facebook when the login dialog opens, and choose the Page if more than one is returned. Only Pages from Your Pages for that Facebook user will appear.
- Tick Publish walk albums to Facebook and Publish walk albums to Instagram when they appear, use Test Facebook / Test Instagram if shown, then Save.
Alternatively open Advanced: paste an access token instead, paste a Page or system-user token from System users, click Find my Pages, choose the Page, enable the toggles, and Save.

System Settings → External → Social Media: App ID, App Secret, Connect Facebook, album publish toggles and Test buttons.

Advanced option: paste a Page or system-user access token and Find my Pages, if you prefer not to use Connect Facebook.
Once the Page is connected, the same tab also has Publish walks and social events. That block is covered in step 7. Switch those toggles on only when you are ready to post walks and events, then Save again.

Publish walks and social events: Page posts rather than Facebook Events, optional Instagram, republish on change, post style and caption template.
Step 6 - Share a test album
Share does not appear merely because an album has images.
On the album's Album Settings tab:
- Tick Allow Share To Social Media (off by default, so ordinary visitors never see Share). Content administrators then get the Share panel on that album.
- Show Links To Social Posts (on by default) shows links to the Facebook and Instagram posts on the album after a successful publish.
Walk photo albums created from a walk page turn Allow Share To Social Media on automatically when album publishing is already enabled for the site. Other albums leave it off until you tick it.
Until publishing is enabled in Social settings, the Share panel explains that setup is still needed. After Connect and Save, a content administrator picks images, writes a caption, and publishes. Check the post on the Page via the Professional dashboard or Business Suite posts, and on Instagram.
Instagram carousels need 2–10 images. The panel warns when a selected image sits outside Instagram's aspect-ratio range (roughly 4:5 to 1.91:1). On publish, NGX crops those images to the nearest supported shape; the album originals are not changed.
The same album cannot be posted twice to the same network. Instagram allows about 25 published posts in any rolling 24 hours.

Share this album on a walk photos page. Until publishing is enabled in Social settings, the panel explains that setup is still needed.
Step 7 - Publish walks and social events
These go out as Page posts, not Facebook Events. Meta's API will not create a Facebook Event for any app.
In System Settings → External → Social Media, with the Page connected:
- Tick Allow walks and social events to be published to Facebook and, if you want Instagram too, Allow walks and social events to be published to Instagram.
- Optionally tick Post again when a published event is rescheduled or cancelled.
- Choose a Post style: Link with preview card, or Photos with the link in the text.
- Edit the Post text template if you like. Placeholders are
{title},{description},{date},{time},{startLocation},{distance},{grade},{leader}and{url}. A line whose placeholders are all empty is left out. - Save.
Instagram captions cannot contain clickable links, so the link back to the event appears as plain text. An event with no image cannot be posted to Instagram at all and is skipped; Facebook can still go out as a link with a preview card.
Walk administrators then publish from Walks → Admin → Social Media Publishing (page title Publish walks and social events to Facebook). Choose a date range, select events, preview the exact wording and photos, and Publish selected. The same action is on a walk or social event page as Share on social media.
After a publish, the posts appear on the Page feed (Professional dashboard, Business Suite posts) and, if enabled, on Instagram.

Walks → Admin → Social Media Publishing. These are Page posts linking back to the event on the site, not Facebook Events.
Instagram site feed
The public Instagram card on the website no longer uses a separate Instagram Basic Display access token. After Connect Facebook (with a linked Instagram professional account on Linked accounts), the feed reads via the Graph API using the same Page token. The Instagram site feed panel only controls the profile link, account name, and Show Instagram Feed.

Instagram site feed: profile link, account name and Show Instagram Feed. Media comes from the same Facebook Page connection as publishing.
Web Url, so Meta can fetch images
On System Settings → Area & Group, set Web Url to the public site URL members use.
Meta must fetch album images over HTTPS. When you publish from a machine whose address is localhost, NGX substitutes that Web Url so Facebook and Instagram can load the photos. On a live site (including staging), Meta fetches from the site you are actually on, so Web Url is not substituted there.
If images are rejected, check that Web Url is the public HTTPS address, and that the photos are reachable without logging in. Meta's Sharing Debugger shows what Facebook sees when it fetches a URL.
Permissions reference
| Permission | What it does | Access level for your own Page | Needs App Review? |
|---|---|---|---|
pages_show_list |
Lists the Pages you manage | Standard | No |
pages_read_engagement |
Reads Page details | Standard | No |
pages_manage_posts |
Publishes posts to a Page | Standard | Only for Pages you do not administer |
instagram_basic |
Reads the linked Instagram account and media | Standard | No |
instagram_content_publish |
Publishes to Instagram | Standard | Only for accounts you do not administer |
business_management |
Business assets / system users where used | Standard | No |
The permission names are listed in Meta's permissions reference. Standard versus Advanced is explained under access levels.
Who does what
NGX does for you:
- Connect Facebook OAuth (or Advanced paste-token) and Page discovery.
- Finds the Instagram account linked to that Page automatically.
- Stores the connection, token health check, and Test buttons.
- Publishes albums from the Share panel, and walks or social events as Page posts.
- Crops Instagram images that sit outside the allowed aspect-ratio range.
- Loads the public Instagram feed via the Graph API when the Page is connected.
You do once, on the Meta side (for this site):
- Register as a developer if needed, then create the Meta app from My Apps, add products and permissions, set the OAuth redirect URI.
- Link the Instagram professional account to the Facebook Page via Linked accounts. Convert first if it is still personal: set up a professional Instagram account.
- Add the Page and Instagram account to the Business Portfolio if you use one (Pages, Instagram accounts).
- Provide privacy policy / data deletion URLs only if you later need Advanced Access.
- Record screencasts only for App Review.
You do in NGX:
- Enter the App ID and Secret, Connect Facebook, switch on the publish toggles, and Save.
- Tick Allow Share To Social Media on albums that should offer Share.
- Publish albums as a content administrator, and walks or events as a walk administrator.
Meta controls:
- Issuing tokens and permissions, Business Verification, and App Review timing.
Common reasons connection or publish fails
- Invalid Scopes (for example
pages_manage_posts) - the permission has not been added for this Meta app yet. Open the app from My Apps and add it under the use case or App Review → Permissions and features. - OAuth redirect URI on the Meta app does not match this site’s System Settings URL (origin +
/admin/settings/system-settings). Set it under Facebook Login for Business → Settings after opening the app from My Apps. - The Instagram account is personal, not Business/Creator, or is not linked to the Page. Convert it (set up a professional account), then connect it on Linked accounts.
- Empty Page list after Connect Facebook - the Facebook user is not a Page admin for that Page. Check Your Pages and Page roles.
- The app is in Live mode without Advanced Access for permissions you do not own assets for - stay in Development while testing as the app admin (the mode is shown on My Apps).
- App Secret missing or wrong in NGX settings. Copy it again from App settings → Basic after opening the app from My Apps.
- Images rejected by Meta - Web Url empty or wrong on localhost, or the photos are not publicly fetchable. Check what Facebook sees with the Sharing Debugger.
- Share missing on an album - Allow Share To Social Media is off, or you are not a content administrator.
- Instagram skipped for an event - that event has no image.
Useful Meta links
These open the Facebook or Meta screen you would otherwise have to find. You will need to be logged in.
Facebook Page
- Facebook · Log in
- Your Pages
- Create a Page
- Professional dashboard (the usual desktop home for a Page, including recent posts)
- Page settings
- Linked accounts (connect Instagram to the Page)
- Page roles
- Instagram · Log in
- Set up a professional Instagram account (usually in the Instagram app)
- Connect Instagram to a Facebook Page
Meta Business Suite
- Meta Business Suite
- Business settings
- Pages
- Instagram accounts
- People
- System users
- Content / posts
- About business portfolios · Add a Facebook Page · Add an Instagram account
Meta for Developers
- Meta for Developers
- Register as a developer
- My Apps
- Create App
- Sharing Debugger (what Facebook sees when it fetches a URL)
Once the app exists, open it from My Apps. The left nav then has App settings → Basic (App ID and App Secret), Facebook Login for Business → Settings (Valid OAuth Redirect URI), and the use case or App Review → Permissions and features. The browser address looks like https://developers.facebook.com/apps/ then your App ID, then /settings/basic/ or /fb-login/settings/.