feat(instagram): add Instagram integration#5568
Conversation
Resolve UserFiles to Meta-fetchable presigned HTTPS URLs (600s TTL) via internal publish routes, and fix OAuth scope storage plus connect-draft wiring so Instagram Login publishing is testable end-to-end. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview OAuth and tokens: Dedicated authorize/callback routes exchange short- for long-lived tokens, persist accounts by Instagram Publishing: Five long-running API routes resolve uploads to Meta-fetchable HTTPS URLs (10-minute presigned TTL), create containers, poll status, and publish image/video/reel/story/carousel. File upload sub-blocks can set Product surface: Instagram block, registry, integrations JSON, icons, env vars ( Reviewed by Cursor Bugbot for commit 24bdce9. Bugbot is set up for automated code reviews on this repo. Configure here. |
Greptile SummaryThis PR adds Instagram as a new integration. The main changes are:
Confidence Score: 4/5This is close, but the callback persistence race should be fixed before merging.
apps/sim/app/api/auth/oauth2/callback/instagram/route.ts Important Files Changed
Reviews (2): Last reviewed commit: "fix(instagram): normalize Graph ID outpu..." | Re-trigger Greptile |
…s, extend poll window and insights periods, use canonical user_id in OAuth callback
…r_id Co-authored-by: Cursor <cursoragent@cursor.com>
…ts, request message timestamps explicitly Co-authored-by: Cursor <cursoragent@cursor.com>
…trim() calls are safe Co-authored-by: Cursor <cursoragent@cursor.com>
Match the official Instagram look by filling the tile with the orange–pink–purple radial gradient so the white camera glyph sits on a full-bleed brand background. Co-authored-by: Cursor <cursoragent@cursor.com>
Default Reel share-to-feed to Yes, drop unused media fields params, share publish transform helpers, and warn when cloud storage is missing for Meta-fetchable uploads. Co-authored-by: Cursor <cursoragent@cursor.com>
Treat loading/error as blocked for requiresCloudStorage uploads, show the warning once the check finishes, and disable selecting local workspace files Meta cannot fetch. Co-authored-by: Cursor <cursoragent@cursor.com>
Meta only allows refreshing still-valid Instagram tokens, so refresh within 14 days of expiry (after the 24h age gate) instead of waiting until after accessTokenExpiresAt. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6720e40. Configure here.
The staging merge dropped the opening /** on ProviderAuthConfig.clientIdParamName, which broke TypeScript parse in CI. Co-authored-by: Cursor <cursoragent@cursor.com>
Wire /api/files/storage-status through a shared route contract so the strict API validation audit stays at zero non-Zod routes after the new Instagram cloud-storage check. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop public-URL paste hints from advanced fields and the cloud-storage banner so the UI mirrors Gmail attachments. Co-authored-by: Cursor <cursoragent@cursor.com>

Adds Business Login OAuth, 23 tools, block, and publish routes for Instagram