> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiveku.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Facebook & Instagram for Social Posting

> Create your own Meta app and connect your Facebook Pages and Instagram Business accounts to publish from Hiveku

Hiveku publishes to Facebook Pages and Instagram Business accounts through your own Meta developer app. One Meta app covers both platforms, you create it once (15–25 minutes), and no Meta review is required.

<Info>
  This is the BYOK (Bring Your Own Key) model: because you create the app and you admin the Pages it posts to, Meta's Standard Access is all you need — no App Review, no Business Verification.
</Info>

## Before You Start

* A Facebook account that **admins the Facebook Page** you want to post to
* For Instagram: an Instagram **Business or Creator** account **linked to that Facebook Page** (Instagram app → Settings → Business tools and controls)
* A privacy policy page on your website (any URL works)

## Create the Meta App

<Steps>
  <Step title="Register as a Meta developer">
    Go to [developers.facebook.com](https://developers.facebook.com) and log in with the Facebook account that manages your Page. If prompted, complete the one-time developer registration (instant).
  </Step>

  <Step title="Create a Business app">
    Click **Create App** and choose the **Business** app type (or the "Manage everything on your Page" use case). Name it after your company — e.g., `Acme Social`.
  </Step>

  <Step title="Add Facebook Login for Business">
    On the app dashboard, add the **Facebook Login for Business** product.
  </Step>

  <Step title="Add the redirect URI">
    Open **Facebook Login → Settings** and paste Hiveku's redirect URI into **Valid OAuth Redirect URIs**, then save:

    ```
    https://app.hiveku.com/api/oauth/meta/callback
    ```

    The exact URI is also shown (with a copy button) in Hiveku's connect dialog.
  </Step>

  <Step title="Fill in Settings → Basic">
    Add a **Privacy Policy URL** (your website's privacy page), an **App icon**, and a **Category**. These are required to switch the app to Live mode.
  </Step>

  <Step title="Switch the app to Live mode">
    Use the toggle at the top of the app dashboard to switch from **Development** to **Live**. No review is needed.

    <Warning>
      Don't skip this. An app left in Development mode can still post — but the posts stay invisible to the public. Live mode makes them real.
    </Warning>
  </Step>

  <Step title="Copy the App ID and App Secret">
    From **Settings → Basic**, copy the **App ID** and **App Secret**. You'll paste them into Hiveku next.
  </Step>
</Steps>

## Connect in Hiveku

<Steps>
  <Step title="Open the connect dialog">
    Go to **Marketing > Social > Accounts** and click **Connect Account** on the Meta (or Instagram) card.
  </Step>

  <Step title="Register your app">
    Under **Set up your Facebook Page app**, create a new OAuth app entry: paste the **App ID** as the Client ID and the **App Secret** as the Client Secret. This is stored once and reused for reconnects.
  </Step>

  <Step title="Authorize and pick your Pages">
    Click **Connect with your app** and complete Facebook's consent popup. Hiveku discovers every Page you admin — and each Instagram Business account linked to those Pages — and shows a picker. Check the ones Hiveku should publish to.
  </Step>
</Steps>

## Good to Know

* **Page tokens don't expire.** Once connected, Facebook publishing keeps working without periodic reconnects.
* **Instagram requires media on every post** — an image (JPEG only) or a video. Text-only posts are rejected with a clear error.
* **Instagram carousels** support up to 10 images per post.
* **Instagram rate limit:** 100 API-published posts per rolling 24 hours per account — far more than any normal schedule.
* Only people with a **role on your app** (admin, developer, tester) can run the connect flow — that's you, since you created it. Teammates who should connect their own Pages need to be added under **App roles** in the Meta dashboard.
