Meta Graph API Usage

This page describes exactly how CreatifyHQ uses the Meta Graph API for Facebook, Instagram, and Threads, including permissions, data usage, and user flows.

App Purpose

CreatifyHQ helps content creators, coaches, and small businesses plan and publish social content. Users connect their own Facebook pages, groups, Instagram business accounts, and Threads profiles. CreatifyHQ schedules and publishes posts on their behalf at the times they choose.

Scheduling Cross‑posting Analytics Team collaboration

Requested Permissions & Justification

Facebook

  • pages_show_list – list pages where the user is an admin, so they can choose which pages CreatifyHQ may publish to.
  • pages_read_engagement – read basic post performance (likes, comments, reach) to show analytics dashboards.
  • pages_manage_posts – publish and manage page posts that the user creates or schedules inside CreatifyHQ.
  • groups_access_member_info – show groups the user admins, so they can optionally select groups as destinations.
  • publish_to_groups – publish posts to groups where the user has appropriate permissions.

Instagram

  • instagram_basic – read connected business account basic info and media IDs for analytics.
  • instagram_content_publish – publish images, reels, and feed posts that the user schedules.
  • pages_read_engagement – required by Meta to read associated page insights for Instagram analytics.

Threads

Once Meta exposes Threads posting endpoints to third‑party apps, CreatifyHQ will request the minimal scopes required to publish user‑generated posts to connected Threads profiles. We will not read private messages.

We only use these permissions for accounts explicitly connected by the user. Users can disconnect any page, profile, or group from within CreatifyHQ at any time, which immediately stops all API calls for that resource.

User Experience Walkthrough

Step 1 – Connect Facebook / Instagram

  • User navigates to Settings → “Social Accounts” in the CreatifyHQ dashboard.
  • User clicks “Connect Facebook & Instagram (Meta)” button.
  • We redirect to the official Meta OAuth dialog with requested scopes.
  • User reviews the permissions and clicks “Continue as [Name]”.
  • Meta redirects back to https://app.creatifyhq.com/auth/meta/callback.

Step 2 – Choose pages, groups, and Instagram accounts

  • We fetch available pages, groups, and Instagram business accounts using Graph API.
  • The user sees a list with toggles (e.g. “Allow CreatifyHQ to publish to this page”).
  • The user can enable or disable each destination individually.

Step 3 – Create and schedule content

  • User drafts a post in the CreatifyHQ editor and selects one or more destinations (pages, groups, IG accounts).
  • User chooses “Publish now” or selects a future date & time.

Step 4 – Publishing via backend workers

  • At the scheduled time, a background worker calls the Graph API using the user’s page or IG tokens.
  • If the call succeeds, we store the resulting post ID for analytics and future editing.
  • If the call fails (for example, revoked permissions), we mark the post as failed and notify the user.

Data Storage, Retention, and Deletion

We store the following Meta‑related data:

  • Page IDs, group IDs, IG business account IDs.
  • Access tokens and refresh tokens, encrypted at rest.
  • Content that the user created inside CreatifyHQ (text, media URLs, scheduled times).
  • Post IDs and aggregated insight metrics used for analytics.

We do not store:

  • User passwords or raw login credentials.
  • Private messages, inbox content, or friends lists.

Users can permanently delete their CreatifyHQ account from the dashboard, which:

  • Deletes all stored tokens for Meta accounts.
  • Deletes all CreatifyHQ‑stored copies of posts and analytics.
  • Stops all future API calls on their behalf.

Meta can also remove permissions from their side at any time, which will cause API calls to fail and show an error banner inside CreatifyHQ prompting the user to reconnect.

Last updated: February 2026.