When to use this flow
Use this guide if the Facebook Pages you want to stream to are owned by a Facebook Business Account (Meta Business Manager / Business Suite) rather than a personal Facebook profile.
With this flow, Teradek Core authenticates as a system user belonging to your Business Account, not as a personal user. This means:
The binding does not expire (system user tokens are long-lived).
The binding survives when the original employee leaves your organization.
Streams cannot be sent to a personal Facebook timeline (see "What works and what doesn't" below).
If your Pages are only managed through a personal Facebook profile, use the regular Login with Facebook flow instead - you don't need this guide.
What you'll need before you start
An account with the Admin role in your Facebook Business Account. Employee accounts cannot install apps, create system users, or generate tokens.
A list of the Pages you intend to stream to. Each must be owned by (or formally shared with) your Business Account.
Overview of the steps
| # | What you do | Where |
|---|---|---|
1 | Business Settings → Requests | |
2 | Email notification | |
3 | Business Settings → Users → System Users | |
4 | Business Settings → Users → System Users → Add Assets | |
5 | Generate a long-lived token for the system user with the four required permissions | Same screen, "Generate New Token" |
6 | Core 3 → CDN Providers → Add Facebook (Business) |
Step 1 — Request access to the Company Core Business app
In Meta Business Suite → Business Settings → Accounts → Apps, click Add → Request Access to an App and enter the Teradek Core app ID:
2053937844619914
Confirm the request. Meta will notify the Company admins.
If your Business Settings doesn't show an "Apps" section, your Facebook account doesn't have an Admin role in the Business Account. Ask whoever owns the Business Account to either grant you Admin, or to perform steps 1–5 themselves and hand you the token from step 5.
Step 2 — Wait for the Company to approve the request
Company’s Business Account will receive a partner request. Approval is usually granted within one business day during US working hours.
You will receive an email from Facebook ([email protected]) titled "Your request was approved" when it's done. The app will also appear in Business Settings → Accounts → Apps.
If it's been more than 2 business days, reply to the support ticket that pointed you to this guide — include your Business Account ID (you can find it in Business Settings → Business Info) so we can locate the request.
Step 3 — Create a system user with the Teradek Core app preinstalled
In Business Settings → Users → System Users, click Add and create a new system user:
Name — anything descriptive (e.g.,
teradek-streaming). Pick something you can recognize later; you cannot rename a system user after creation.System User Role — Employee is sufficient. Please do not pick Admin unless you specifically want this system user to administer other parts of your Business.
Apps preinstalled — make sure Teradek Core is listed and selected.
Step 4 — Grant the system user access to your Pages
The system user has no Page access by default. You would need to add each Page individually.
With the new system user selected, click Assign Assets, pick Pages, then for every Page you want to stream to:
Tick the Page.
Enable the Full control toggle to grant all tasks at once.
Save.
Why every task matters. When you generate the token in the next step, Facebook only grants the permissions backed by tasks the system user already has on at least one Page. Skip a task here and the token will be silently issued without the matching permission — Teradek Core will then reject the token at binding time with a Missing permissions: ... error.
Step 5 — Generate a long-lived token for the system user
Still on the system user's page, click Generate New Token:
App — select Teradek Core.
Token Expiration — select Never. System user tokens are long-lived by design; choosing a finite expiry will cause your binding to break when it expires.
Available Permissions / Scopes — tick exactly these four:
business_managementpages_show_listpages_read_engagementpages_manage_postspublish_video
Do not add unrelated scopes — Teradek Core only needs these four, and additional scopes will trigger extra App Review questions on Facebook's side if you ever change Pages.
Click Generate Token.
Copy the token immediately. Facebook displays it exactly once. If you lose it you would need to repeat this step (which is harmless — old tokens stay valid).
Step 6 — Paste the token into the Teradek Core dashboard
In the Core 3 admin dashboard:
Go to CDN Providers → Add → Facebook (Business Account).
Paste the token into the System User Token field.
(Optional) Pick a workspace to attach the binding to. You can also do this later.
Click Save.
Behind the scenes, Core validates the token by calling Facebook's /me, /me/permissions, and /me/accounts endpoints. If anything is wrong — missing permission, no Pages assigned, or an expired token — Core rejects the binding and displays the underlying Facebook error. See Troubleshooting below.
Upon success, you'll see the binding listed with the system user's name, along with the full list of Pages and scheduled Events available as broadcast destinations.
What works and what doesn't with a Business Account binding
Destination | Supported? | Notes |
|---|---|---|
Facebook Page owned by your Business | Yes | The primary use case. |
Scheduled Facebook Live Event on one of those Pages | Yes | Events automatically appear in the destination picker. |
My Timeline (personal profile) | No | System users have no personal profile. The "My Timeline" option is intentionally hidden for Business Account bindings. If you need to stream to a personal profile, use the regular Login with Facebook flow instead. |
Facebook Group | Currently no | Group broadcasting requires a Page-scoped token that Facebook no longer issues to system users. |
Troubleshooting
"Missing permissions: pages_show_list, pages_read_engagement, ..."
Core received your token, but Facebook didn't include one or more of the four required scopes. The most common cause is that the system user was not granted the matching task on any Page in step 4.
Fix: Go back to step 4, make sure every required task is ticked on at least one Page, then regenerate the token in step 5. The old token can be ignored — it will simply remain unused.
"Invalid OAuth access token" or "#190 ..."
The token has been revoked or the Teradek Core app has been removed from your Business Account.
Fix: Check Business Settings → Apps — if Teradek Core is missing, restart from step 1. If it is present, the system user's token was revoked (someone clicked "Revoke token" in step 5's UI, or the system user was deleted). Regenerate the token in step 5.
"Subject does not have permission to create live video on this user"
You attempted to broadcast to "My Timeline" with a Business Account binding. System users have no personal timeline.
Fix: Pick a Page or an Event instead. If you genuinely need to stream to a personal profile, set up a second binding using the standard Login with Facebook flow.
The binding succeeds, but no Pages appear in the channel picker
Your system user has no Pages assigned.
Fix: Repeat step 4 for every Page you want to stream to. After assigning, the next time the destination picker is opened, the new Pages will appear (Core fetches the Page list on demand; you do not need to recreate the binding).
A Page that used to work has disappeared
The system user's access to that Page was revoked in Business Settings — most often because the Page was removed from your Business Account, or because someone unassigned the system user from it.
Fix: Restore the system user's access to the Page in step 4. You don't need to regenerate the token.
Rotating or revoking the token
Tokens generated this way do not expire, but you may want to rotate them periodically or revoke them if a Business admin leaves:
To rotate: Generate a new token (step 5), paste it into the existing Facebook binding in Core 3 using Replace Token, then revoke the old token in Business Settings.
To revoke entirely: Delete the binding in Core and revoke the token in Business Settings → System Users → Tokens. Deleting one without the other leaves a dangling state on the other side.







