# Instagram AI integration on Definable

> Instagram is a social media platform for sharing photos, videos, and stories.

## What this connects

Instagram is a social media platform for sharing photos, videos, and stories. Only supports Instagram Business and Creator accounts, not Instagram Personal accounts.

Vendor: https://www.instagram.com

## Tools available

**36** tools available. First 12:

- `INSTAGRAM_CREATE_CAROUSEL_CONTAINER` — Create Carousel Container — Create a draft carousel post with multiple images/videos before publishing. Instagram requires carousels to have between 2 and 10 media items. Container creation_ids expire in under 24 hours, so publish promptly after creation.
- `INSTAGRAM_CREATE_MEDIA_CONTAINER` — Create Media Container (Deprecated) — DEPRECATED: Use INSTAGRAM_POST_IG_USER_MEDIA instead. Creates a draft media container for photos/videos/reels before publishing. Business/Creator accounts only — personal accounts unsupported. Returns a container ID (data.id or data.creation_id) used as creation_id for publishing. Containers expire in ~24 hours — recreate stale containers rather than reusing old IDs. Before publishing via INSTAGRAM_CREATE_POST, call INSTAGRAM_GET_POST_STATUS and wait for FINISHED status — publishing before FINISHED triggers error 9007. Each creation_id is one-time-use; if container creation fails (status_code='ERROR'), fix media params and recreate via this tool rather than retrying publish with the failed ID.
- `INSTAGRAM_CREATE_POST` — Create Post (Deprecated) — DEPRECATED: Use INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH instead. Publish a draft media container to Instagram (final publishing step). Posts become immediately and publicly visible upon success — confirm intent before calling. Requires Business or Creator account with publish scopes; missing scopes return Graph error code 10. After creating a media container, Instagram may need time to process media before publishing. If called too early, error code 9007 is returned. This action automatically retries with exponential backoff (up to ~44 seconds total). For large videos, use INSTAGRAM_GET_POST_STATUS to poll until status_code='FINISHED' before calling; for carousels, all child containers must individually reach FINISHED status first. No native scheduling support — use an external scheduler to trigger this call at the desired time.
- `INSTAGRAM_DELETE_COMMENT` — Delete Comment — Tool to delete a comment on Instagram media. Use when you need to remove a comment that was created by your Instagram Business or Creator Account. Note: You can only delete comments that your account created - you cannot delete other users' comments unless they are on your own media.
- `INSTAGRAM_DELETE_MESSENGER_PROFILE` — Delete Messenger Profile — Tool to delete messenger profile settings for an Instagram account. Use when you need to remove ice breakers, persistent menu, greeting messages, or other messaging configuration from the messenger profile.
- `INSTAGRAM_GET_CONVERSATION` — Get Conversation — Get details about a specific Instagram DM conversation (participants, etc). Requires a Business or Creator account with Instagram messaging permissions; personal accounts will return permission errors. Newly sent/received messages may take a few seconds to appear in results.
- `INSTAGRAM_GET_IG_COMMENT_REPLIES` — Get IG Comment Replies — Get replies to a specific Instagram comment. Returns a list of comment replies with details like text, username, timestamp, and like count. Use when you need to retrieve child comments (replies) for a specific parent comment.
- `INSTAGRAM_GET_IG_MEDIA` — Get Instagram Media — Get a published Instagram Media object (photo, video, story, reel, or carousel). Use when you need to retrieve detailed information about a specific Instagram post including engagement metrics, caption, media URLs, and metadata. NOTE: This action is for published media only. For unpublished container IDs (from INSTAGRAM_CREATE_MEDIA_CONTAINER), use INSTAGRAM_GET_POST_STATUS to check status instead.
- `INSTAGRAM_GET_IG_MEDIA_CHILDREN` — Get IG Media Children — Tool to get media objects (images/videos) that are children of an Instagram carousel/album post. Use when you need to retrieve individual media items from a carousel album post. Note: Carousel children media do not support insights queries - for analytics, query metrics at the parent carousel level.
- `INSTAGRAM_GET_IG_MEDIA_COMMENTS` — Get IG Media Comments — Tool to retrieve comments on an Instagram media object. Use when you need to fetch comments from a specific Instagram post, photo, video, or carousel owned by the connected Business/Creator account. Supports cursor-based pagination for navigating through large comment lists. An empty data array in the response indicates the post has no comments and is not an error. Bulk-fetching across many media objects may trigger API rate limits.
- `INSTAGRAM_GET_IG_MEDIA_INSIGHTS` — Get IG Media Insights — Tool to get insights and metrics for Instagram media objects (photos, videos, reels, carousel albums). Use when you need to retrieve performance data such as views, reach, likes, comments, saves, and shares for specific media. Note: Insights data is only available for media published within the last 2 years, and the account must have at least 1,000 followers. Requires a Business or Creator account; personal Instagram profiles are not supported.
- `INSTAGRAM_GET_IG_USER_CONTENT_PUBLISHING_LIMIT` — Get IG User Content Publishing Limit — Get an Instagram Business Account's current content publishing usage. Use this to monitor quota usage before publishing; exceeding the daily cap blocks new posts until the quota resets (no partial failure — new publish calls are rejected until reset). IMPORTANT: This endpoint requires an IG User ID (Instagram Business Account ID), NOT an IGSID (Instagram Scoped ID). IGSID is only used for messaging-related endpoints. Content publishing endpoints require a proper IG User ID. Excessive polling of this endpoint may trigger Graph error 613 (rate limit); space calls several seconds apart.

## Auth

Auth schemes: `OAUTH2`. Managed by Definable: `OAUTH2` — no client credentials required from the user.

## How agents use Instagram

Inside a Definable workflow, Instagram is one of the tools the **Distributor specialist** can call. Example coordination patterns:

- **Researcher → Instagram** — the Researcher (GPT-5.5) pulls context from Instagram (records, threads, documents), synthesises findings, and briefs the rest of the team.
- **Writer → Distributor → Instagram** — the Writer (Claude Opus 4.7) drafts copy in brand voice, the Verifier passes it, then the Distributor writes the result into Instagram (create record, post message, draft email).
- **Designer / Engineer → Distributor → Instagram** — the Designer ships an asset or the Engineer ships a code change, the Distributor delivers it via Instagram (attach file, open PR comment, post status).

The Verifier checks every Instagram call. On rate limit, schema drift, or auth refresh it self-heals and retries — the workflow completes without manual intervention.

## Categories

- social media accounts — https://definable.ai/apps/category/social-media-accounts/
- social media marketing — https://definable.ai/apps/category/social-media-marketing/

## Related

- HTML page: https://definable.ai/apps/instagram/
- Same category (social media accounts): https://definable.ai/apps/category/social-media-accounts/
- All integrations: https://definable.ai/apps/
- Workflow (multi-agent loop): https://definable.ai/workflow/
- Apps llms.txt index: https://definable.ai/llms-apps.txt
