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

# Custom Instagram App

> Connect Instagram through your own Meta app (white-label) by pasting a System User access token from your Business Manager.

Markifact supports two ways to connect Instagram: using the built-in **Markifact app** (Quick Connect) or connecting through your own **Meta app** (Custom App). With a custom app, every request Markifact makes runs under your app in the account's business integrations, so your clients never see Markifact.

<Note>
  Custom app connections are available on the **Team** plan. See [White-label Connections](/core-concepts/white-label-connections) for the overview.
</Note>

***

## What You Need

| Item                                   | Value                                                                                                                 |
| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |
| **Access token**                       | A System User token from your Meta app (never expires)                                                                |
| **Required permissions**               | `instagram_basic`, `instagram_content_publish`, `instagram_manage_insights`, `pages_show_list`, `business_management` |
| **Assets assigned to the system user** | the Facebook Pages linked to the Instagram professional accounts you want to publish to and report on                 |

<Card title="Create the app and generate the token" icon="meta" href="/core-concepts/custom-meta-app">
  The Meta setup (app, system user, assigned assets, token) is the same for every Meta channel and lives on one page, including the optional permissions per channel.
</Card>

***

## Connect to Markifact

<Steps>
  <Step title="Open the Custom App tab">
    Go to the [Connections](https://app.markifact.com/connections) page, click **Connect** on **Instagram**, and select the **Custom App (White-label)** tab.
  </Step>

  <Step title="Name the connection">
    Enter a **Connection Name** (for example "Acme Agency Instagram"). This is how the connection appears in nodes, agents, and MCP.
  </Step>

  <Step title="Paste the access token">
    Paste the **Access Token** generated for your system user.
  </Step>

  <Step title="Verify & Connect">
    Markifact makes one Graph API call that reads the token owner and the Pages it can reach, looking for one with a linked Instagram professional account. Nothing is saved unless that call succeeds.
  </Step>
</Steps>

Custom app connections show a **Custom app** badge on the Connections page and work everywhere a Quick Connect connection works.

***

## Rotating or Replacing the Token

Add the connection again with the **same connection name** and the new token. Markifact replaces the stored token in place, so workflows and agents bound to the connection keep working.

***

## Troubleshooting

<Accordion title="None of the Pages has a linked Instagram professional account">
  Instagram professional accounts are reached through the Facebook Page they are linked to. Link the Instagram account to a Page in Instagram settings, assign that Page (and the Instagram account) to the system user in Business Manager, then generate a new token.
</Accordion>

<Accordion title="Token or permission errors">
  See the shared [Custom Meta App](/core-concepts/custom-meta-app#troubleshooting) troubleshooting for expired tokens, missing permissions and the app secret setting.
</Accordion>

***

## Related

<CardGroup cols={2}>
  <Card title="Custom Meta App" icon="meta" href="/core-concepts/custom-meta-app">
    Create the app and generate a System User token
  </Card>

  <Card title="Publish Post" icon="paper-plane" href="/nodes/instagram/instagram_publish_post">
    Publish to an Instagram account
  </Card>
</CardGroup>
