ContentFlows/Documentation

Troubleshooting & token guides

Step-by-step instructions for connecting LinkedIn, Facebook, and Instagram to ContentFlows. Each platform requires you to get an access token from their developer portal and paste it into your dashboard.

How tokens work in ContentFlows

Each token gives ContentFlows permission to publish on your behalf. Tokens are stored in AWS Secrets Manager — encrypted, never logged, and isolated to your account. ContentFlows never stores your social media password.


LinkedIn

ContentFlows uses the LinkedIn UGC Posts API to publish posts on your behalf. You need an access token with the w_member_social permission scope.

Prerequisites

  • A LinkedIn account (personal profile) — posts will be published from this account
  • A free LinkedIn developer account — you create one automatically when you create an app

Step-by-step

1

Go to the LinkedIn Developer Portal

Open linkedin.com/developers/apps and log in with your LinkedIn account. Click Create app.
2

Fill in the app details

  • App name: anything — e.g. “ContentFlows Publisher”
  • LinkedIn page: you must link a LinkedIn Company Page. If you don't have one, create a basic company page first (free).
  • App logo: upload any square image
Click Create app.
3

Request the 'Share on LinkedIn' product

On the app page, click the Products tab. Find Share on LinkedIn and click Request access. This is usually approved instantly.
4

Add your redirect URI

Go to the Auth tab. Under OAuth 2.0 settings, add this redirect URL:
https://www.linkedin.com/developers/tools/oauth/redirect
Click Update to save.
5

Generate an access token

Go to linkedin.com/developers/tools/oauth/token-generator.
Select your app, tick the w_member_social scope (and r_liteprofile if available), then click Request access token. LinkedIn will ask you to authorize the app — click Allow. Your access token appears on screen. Copy it — it won't be shown again.
6

Paste the token into ContentFlows

In your ContentFlows dashboard, go to Integrations. Paste the token into the LinkedIn field and click Save.
Note: LinkedIn access tokens expire after 60 days. You will need to repeat steps 5–6 every two months. Set a calendar reminder.

Facebook

ContentFlows publishes to a Facebook Page (not a personal profile). You need a Page access token with pages_manage_posts permission.

Prerequisites

  • A Facebook account that is an Admin of a Facebook Page
  • If you don't have a Facebook Page yet, create one at facebook.com/pages/create (free, takes 2 minutes)

Step-by-step

1

Open the Meta for Developers portal

Go to developers.facebook.com/apps and log in with your Facebook account. Click Create App.
2

Select app type and fill in details

Choose Business as the app type, then fill in:
  • App name: e.g. “ContentFlows”
  • App contact email: your email
Click Create App.
3

Add the Facebook Login product

On the dashboard, find Facebook Login in the product list and click Set up. No extra configuration is needed.
4

Get a token from the Graph API Explorer

Open the Graph API Explorer.
  • In the top-right dropdown, select your app
  • Click Generate Access Token
  • In the permissions popup, check: pages_manage_posts, pages_read_engagement
  • Click Generate Access Token and authorize
This gives you a User access token. You need one more step to get a Page access token.
5

Exchange for a Page access token

In the Graph API Explorer, with your user token active, make this request:
GET /me/accounts
Click Submit. In the JSON response, find your Page and copy its access_token value.
6

Extend the token (optional but recommended)

Short-lived tokens expire in ~1 hour. To get a long-lived token (60 days), paste your Page token into the Access Token Debugger and click Extend Access Token.
7

Paste the token into ContentFlows

In your ContentFlows dashboard, go to Integrations. Paste the long-lived Page access token into the Facebook field and click Save.
Tip: To avoid re-doing this every 60 days, you can generate a never-expiring Page token using a System User in Meta Business Manager. Contact support if you need help with this.

Instagram

Instagram publishing uses the Facebook Graph API — so your Instagram account must be a Professional account (Business or Creator) linked to a Facebook Page. Personal Instagram accounts cannot publish via API.

Prerequisites

  • An Instagram Business or Creator account (not a personal account)
  • That Instagram account linked to a Facebook Page you manage
  • A Meta developer app with instagram_content_publish permission

Convert to a Professional account (if needed)

1

Switch account type in the Instagram app

On your phone, go to your Instagram profile → tap the ☰ menu → SettingsAccountSwitch to Professional Account. Choose Business or Creator.
2

Link Instagram to your Facebook Page

Still in Instagram Settings, go to AccountLinked AccountsFacebook. Log in to Facebook and select your Page.

Get an Instagram access token

3

Open the Graph API Explorer

Go to developers.facebook.com/tools/explorer. Select your app and generate a token with these permissions:
instagram_basic, instagram_content_publish, pages_read_engagement, pages_manage_posts
4

Find your Instagram Business Account ID

In the Graph API Explorer, run:
GET /me/accounts
In the response, find your Page. Copy its id. Then run:
GET /{page-id}?fields=instagram_business_account
(replace {page-id} with your Page ID). Copy the id from the instagram_business_account object.
5

Get a Page access token for the linked Page

Run GET /me/accounts again and copy the access_token for the Page linked to your Instagram account. This is the token ContentFlows needs.
6

Paste the token into ContentFlows

In your ContentFlows dashboard, go to Integrations. Paste the Page access token into the Instagram field and click Save.
Note: Instagram and Facebook use the same underlying token (a Facebook Page access token). If you have already connected Facebook, you may be able to use the same token for Instagram — ContentFlows handles the Instagram-specific API calls automatically.

Common issues

Token is invalid or expired

Access tokens expire. LinkedIn tokens last 60 days; Facebook/Instagram Page tokens can be long-lived (60 days if short-lived, or never-expiring if generated via a System User). Generate a new token and update it in the Integrations tab.

Insufficient permissions on LinkedIn

Your LinkedIn app does not have the Share on LinkedIn product approved, or the token was generated without the w_member_social scope. Go back to step 3 of the LinkedIn guide and ensure the product is approved, then regenerate the token.

You must be an admin of the Facebook Page

The Facebook account you used to generate the token is not an Admin of the target Page. Ask the Page admin to either generate the token themselves, or add you as an Admin at facebook.com → Page settings → Page roles.

Instagram: this account is not a Business or Creator account

Personal Instagram accounts cannot use the Content Publishing API. Follow the steps above to convert to a Professional account first.

Instagram: account not linked to a Facebook Page

Your Instagram Professional account is not connected to a Facebook Page. Go to Instagram Settings → Account → Linked Accounts → Facebook and complete the link.


Still stuck?

Contact support with the error message you are seeing and which platform you are trying to connect. Include the step number from this guide where you got stuck.