Skip to main content
On your own instance the Meta app is yours: register it in Meta for Developers, then put its keys in your environment.
NOTE: Please be advised that Instagram and Facebook can use the same app (no need to create two separate apps)
There are two ways to connect to an Instagram account: by using a Facebook Business or through a standalone flow that connects directly to an Instagram account. Both methods will require a Meta for Developers account.

Setting up Meta Application

The following steps will guide you through the setup of a Meta application that can be used for connecting Instagram to PostQueen.
1

Create a new app

Select a business portfolio, then create a new app in Meta for developers.Please be advised that for public applications, you will need to verify your business.
Business Portfolio
Create app
2

Select app type

Select “Other” and click next
Other app use cases
3

Select business

Then select business
Select business
4

Add details and create app

Add all your details and click Create App
Create an app details page

Facebook Business Option

If you have a Facebook Business page that is linked to your Instagram account, you can connect to it by setting up the Login for Business flow.
1

Set up Login for Business

Set up login for business
Set up login for business
2

Set up Redirect URI

Set up a redirect URI back to the application
Valid OAuth Redirect URIs field in Client OAuth settings
Your Instagram OAuth2 Redirect URI:
  • Production: https://postqueen.example.com/integrations/social/instagram
  • Local development: http://localhost:4200/integrations/social/instagram
  • Docker: http://localhost:4007/integrations/social/instagram
3

Set up permissions

Advanced permissions screen
Go to advanced permission and request access for the following scopes:
  • instagram_basic
  • pages_show_list
  • pages_read_engagement
  • business_management
  • instagram_content_publish
  • instagram_manage_comments
  • instagram_manage_insights
4

Copy your credentials

App ID and App Secret on the basic settings screen
Go to basic permissions copy your App ID and App Secret and paste them in your .env file
Instagram should now be working!

Instagram Standalone Option

If you want to connect directly to your Instagram account without having to use a Facebook Business, use the standalone option.
Please note that standalone option requires a professional Instagram account.
The permissions are not the ones listed above. Instagram asks for its own four here:
  • instagram_business_basic
  • instagram_business_content_publish
  • instagram_business_manage_comments
  • instagram_business_manage_insights
1

Set up Instagram

The Add products to your app section of the Meta app creation screen, with Instagram among the products
Set up Instagram.
2

Set up Instagram Business Login

Set up Instagram Business Login
Click on the button to set up Instagram Business Login
3

Set up Redirect URI

Set up redirect URI
Your Instagram Standalone OAuth2 Redirect URI:
  • Production: https://postqueen.example.com/integrations/social/instagram-standalone
  • Local development: https://redirectmeto.com/http://localhost:4200/integrations/social/instagram-standalone
  • Docker: https://redirectmeto.com/http://localhost:4007/integrations/social/instagram-standalone
Instagram will not send a visitor back to a plain http address, so when your FRONTEND_URL is not https she wraps the callback through redirectmeto.com on its way home. That wrapped address is the literal string she sends to Instagram, which makes it the one you register. Local development and Docker both fall into this case. Register the bare localhost URI instead and the login stops on Instagram with a redirect mismatch.The Facebook Business flow above does not do this. It sends your FRONTEND_URL through unchanged, so those redirect URIs stay bare.
4

Copy Instagram App ID and Secret

Instagram App ID and Secret
From your Instagram API setup screen copy the Instagram App ID and Instagram App Secret and paste them in your .env file
5

Add Instagram Standalone channel in PostQueen Application

Go to the PostQueen web interface, and click on the “Add Channel” button. Select “Instagram (Standalone)” from the list of available channels. You should be redirected to the Instagram login screen to authorize the application.Approve all four permissions on that screen. If the granted list comes back short, she stops before the channel is created and says Not enough scopes, when choosing a provider, please add all the scopes.

Adding App Roles

If you are having trouble connecting to your Instagram accounts, adding them as App Roles may help.
1

Go to the App Roles page

Facebook App developers dashboard
2

Add a role

Click on “Add People”
App Roles page
3

Add an Instagram Tester

Select the “Instagram Tester” option, and type in the handles of all the Instagram accounts you would like to connect to. Then, click “Add”.
Add people window
4

Accept the invitations

Go to your Instagram account, and accept the tester invitation in the Apps and Websites section of the profile settings.
Apps and Websites section of the profile settings
The channel is in the left sidebar with its avatar and name. That is the whole confirmation: if it is in the list, she can post to it.

Troubleshooting

”Insufficient developer role” error

This means the Instagram account you are trying to connect has not been added as a tester on the Meta app. Walk through the Adding App Roles section above for that exact account: add it as an Instagram Tester, then accept the invitation from within the Instagram app’s settings.

Channel connects, but posts fail with permission errors

The advanced permissions on the Meta app must be approved (or your account must be a developer/tester on the app). Submit the app for review with the required scopes. Until then, only roles you have added can publish.

Next steps

What she can post to Instagram

Limits, post types and settings

Configuration reference

Every variable she reads

Connect errors

Invalid state, invalid_grant and the rest

Another channel

Every network, and what each one asks for