Meta Platforms Setup ​
Configure Facebook, Instagram, and Threads integrations through the Meta for Developers portal.
IMPORTANT
All three platforms (Facebook, Instagram, Threads) use the same Meta App. You only need one app configured with multiple products.
Use Cases to Select ​
In your Meta App Dashboard, select these use cases:
| Use Case | Purpose |
|---|---|
| Access the Threads API | Publishing posts to Threads |
| Manage messaging & content on Instagram | Publishing posts/stories to Instagram |
| Manage everything on your Page | Publishing to Facebook Pages |
| Authenticate and request data from users with Facebook Login | Social login for your app |
Approval Strategy ​
Submit the first Meta review for publishing and media workflows only. Inbox, DM, comment moderation, reply management, and analytics permissions should be submitted as separate follow-up reviews with their own screen recordings and reviewer test steps.
Required Permissions ​
Social Login (Authentication) ​
| Permission | Purpose |
|---|---|
email | Get user's email for account creation |
public_profile | Get name, profile picture |
Facebook Pages (Publishing) ​
| Permission | Purpose |
|---|---|
pages_show_list | List pages the user manages; dependency for Page publishing permissions |
pages_read_engagement | Read page metadata and engagement; dependency for pages_manage_posts |
pages_manage_posts | Publish posts to pages |
pages_manage_metadata | Subscribe to Page webhooks and manage Page settings |
Facebook Pages (Inbox + Engagement Follow-Up) ​
| Permission | Purpose |
|---|---|
pages_read_user_content | Read comments on your posts |
pages_manage_engagement | Reply to comments, like comments |
pages_messaging | Read/send Messenger conversations |
Instagram (Publishing) ​
| Permission | Purpose |
|---|---|
instagram_basic | Get Instagram Business/Creator account info |
pages_show_list | List connected Facebook Pages |
pages_read_engagement | Required dependency for Instagram publishing permissions |
instagram_content_publish | Publish photos/videos/carousels |
Instagram (Analytics Follow-Up) ​
| Permission | Purpose |
|---|---|
instagram_manage_insights | Read analytics |
Instagram (Inbox + Engagement Follow-Up) ​
| Permission | Purpose |
|---|---|
instagram_manage_comments | Read/reply to comments |
instagram_manage_messages | Read/send Instagram DMs |
Threads (Publishing) ​
| Permission | Purpose |
|---|---|
threads_basic | Get profile info |
threads_content_publish | Publish text/image/video posts |
Threads (Analytics Follow-Up) ​
| Permission | Purpose |
|---|---|
threads_manage_insights | Read analytics |
Threads (Replies Follow-Up) ​
| Permission | Purpose |
|---|---|
threads_read_replies | Read replies to threads |
threads_manage_replies | Reply to threads |
Platform Limitations ​
WARNING
These are platform-imposed limitations, not TendSocial limitations.
| Platform | Can Post To | Cannot Post To |
|---|---|---|
| Pages, Groups | Personal profiles | |
| Feed posts, Reels, Carousels | Stories, Personal accounts | |
| Threads | Text, Images, Videos, Replies | (Most features available) |
Instagram-Specific Limitations ​
- Only Business or Creator accounts are supported (not personal accounts)
- Stories cannot be published via API
- DMs are limited to a 24-hour response window for user-initiated messages only
Callback URLs ​
Configure these URLs in your Meta App settings:
OAuth Redirect URIs ​
https://api.tendsocial.com/api/company/social-accounts/callback/FACEBOOK_PAGE
https://api.tendsocial.com/api/company/social-accounts/callback/INSTAGRAM_BUSINESS
https://api.tendsocial.com/api/company/social-accounts/callback/THREADS
https://api.tendsocial.com/api/auth/facebook/callback2
3
4
The callback URI must match the value passed to /api/company/social-accounts/connect/:platform exactly. In production, set OAUTH_REDIRECT_BASE_URL=https://api.tendsocial.com so callback exchange uses the same URI registered in Meta.
Deauthorize Callback URL ​
https://api.tendsocial.com/api/webhooks/meta/uninstallSet this in: App Settings → Basic → Deauthorize Callback URL
Data Deletion Request URL ​
https://api.tendsocial.com/api/webhooks/meta/deleteSet this in: App Settings → Basic → Data Deletion Request URL
Environment Variables ​
FACEBOOK_APP_ID=your_app_id
FACEBOOK_APP_SECRET=your_app_secret2
App Review ​
To use these permissions in production with users outside your development team, you must submit for App Review:
- Create screen recordings demonstrating each permission's use
- Provide clear privacy policy and terms of service URLs
- Complete Data Use Checkup
- Submit Business Verification (for some permissions)
For the initial review, demonstrate Facebook Page publishing, Instagram Business publishing, and Threads publishing only. Do not request Messenger, Instagram DM, comment moderation, or reply management permissions unless the recording shows those workflows end to end.
See Meta App Review Documentation for details.
Webhook Verification ​
Meta verifies webhook endpoints by sending a GET request with:
hub.mode=subscribehub.verify_token= your configured tokenhub.challenge= string to return
Your endpoint must return hub.challenge to verify ownership.