Permission-by-permission walkthrough
pages_show_list
Render the page picker after login so the user can choose which Page to connect.
Steps to reproduce
- Click "Continue with Facebook" on the home page.
- Sign in with a Facebook account that manages a Page.
- Grant the requested scopes on the consent dialog.
- You are redirected to /dashboard; the page picker lists every Page you manage.
Expected behaviour
A list of Pages with name, category and connect button appears. No data is written until the user explicitly connects a Page.
pages_manage_metadata
Subscribe the chosen Page to webhooks so the Reply Agent receives inbox and comment events.
Steps to reproduce
- After picking a Page on the Workspace tab, open Settings → "Page webhook subscriptions".
- Click the green "Subscribe" button — the indicator dot turns emerald within a second.
- The status line now reads "Subscribed · fields: feed, messages, messaging_postbacks", confirming the POST to /{page-id}/subscribed_apps succeeded.
- Clicking "Unsubscribe" reverses the call cleanly.
Expected behaviour
CloudAIAgents calls POST /{page-id}/subscribed_apps with subscribed_fields=feed,messages,messaging_postbacks. DELETE on the same edge undoes it. No other page metadata is read or written.
pages_read_engagement & pages_manage_engagement
Reply Agent reads comments to triage them and optionally posts a reply or hides spam.
Steps to reproduce
- On the connected Page, post a public comment under any post.
- Within ~30 seconds, the comment appears in CloudAIAgents Dashboard → Inbox.
- Click the AI-suggested reply, edit if needed, click “Send”.
- The reply appears under the same comment on Facebook.
Expected behaviour
No actions are taken without an explicit human click in this default mode. The Compliance Agent screens the draft first.
pages_manage_posts
Content Agent publishes drafts that the user has approved.
Steps to reproduce
- In the Dashboard, open Content → New Post.
- Type a prompt (e.g. "Announce a 20% summer sale").
- Click Generate; review the AI-suggested caption.
- Click "Schedule" → choose a time → "Approve & Publish".
- Within a minute, the post appears on the connected Page.
Expected behaviour
POST /{page-id}/feed is called with the approved message. We log the request and the resulting post id for audit.
read_insights
Insight Agent compiles the weekly performance digest.
Steps to reproduce
- Open Dashboard → Insights → Generate weekly report.
- A 1-page summary appears with reach, engagement and recommendations.
Expected behaviour
Only aggregated metrics from /{page-id}/insights are read. No personally identifying audience data is requested.
instagram_basic, instagram_manage_comments, instagram_manage_contents, instagram_manage_engagement, instagram_manage_insights
Same Reply / Content / Insight workflows applied to a connected Instagram Business account.
Steps to reproduce
- After connecting a Page that is linked to an IG Business account, the IG account appears under Settings → Accounts.
- Repeat the comment, inbox and publish flows from the Page section above on the IG account.
Expected behaviour
Identical UX, distinct icons identify IG-origin events.
instagram_content_publish
Content Agent publishes approved media to IG Feed or Reels.
Steps to reproduce
- Open Dashboard → Content → New IG post.
- Upload an image.
- Type a caption, approve, choose Feed or Reels.
- Click Publish; the post appears on the IG account.
Expected behaviour
CloudAIAgents uses the two-step container + publish flow defined in the IG Graph API docs.
threads_*
Publish to Threads and let Reply Agent answer replies.
Steps to reproduce
- In Dashboard → Threads, click New Thread.
- Use the AI-suggested caption or write your own.
- Click Publish. The post appears on your connected Threads profile.
- Reply to the thread from another account; the reply surfaces in CloudAIAgents with a suggested AI response.
Expected behaviour
CloudAIAgents uses the official Threads API container + publish flow. Replies are sent only after the user clicks Send (or auto-reply is explicitly enabled).
Instagram Public Content Access
Lets a Page owner research public Instagram content without leaving CloudAIAgents — discover trending hashtags and benchmark public Business / Creator profiles for content planning.
Steps to reproduce
- Sign in with Facebook (the Page must be linked to an Instagram Business / Creator account).
- Open Dashboard → Discover.
- On the “Hashtag search” tab, type a hashtag (e.g. travelvietnam) and click Search; up to 12 top-performing public posts appear with engagement counts.
- Switch to “Public profile lookup”, enter a public Business handle (e.g. @natgeo) and click Look up profile; the bio, follower count and recent public posts are displayed.
Expected behaviour
Only public fields exposed by ig_hashtag_search / business_discovery are read. We never request private content. Results are rendered in-memory and discarded when the tab closes. This submission also includes the required instagram_basic and pages_read_engagement scopes.
Business Asset User Profile Access
Resolves the {id, name, profile_picture} of people who comment on the connected Page so the Inbox / Audience UI can show real display names and avatars instead of opaque IDs, exactly the data the permission unlocks.
Steps to reproduce
- Sign in and connect a Page.
- On the Workspace tab, the right-hand “Recent audience” card lists the last commenters with their resolved name + avatar (this is the exact data exposed by Business Asset User Profile Access).
- Click any post in the feed → Comments tab; every comment row also shows the commenter’s display name and avatar pulled from from{id,name,picture}.
Expected behaviour
We only read public profile fields (name, profile_pic) for users who have themselves interacted with assets the Page owner manages. No additional fields are requested; no profile is stored beyond the current session view.