Meta App Review Screencast Script

Version 5 — Third Submission (Self-Contained Videos, OAuth in Every Permission)
February 26, 2026 · Stylify Content Publisher
App NameStylify Content Publisher
App ID1275998977712554
Business EntityElev8 Ventures LLC
Approvedinstagram_business_basic — ✅ Approved Feb 26, 2026
Resubmittinginstagram_business_content_publish, instagram_business_manage_insights
Video Format2 videos — one per rejected permission (each fully self-contained)
Versionv5 — Each video now includes the complete OAuth flow

Why v4 Was Rejected (Root Cause)

The Problem: Videos Were Not Self-Contained

v4 split into 3 videos but only Video 1 (basic) contained the full OAuth login flow. Videos 2 and 3 started with the account already connected and the submission descriptions said:

"The OAuth login flow is demonstrated in the instagram_business_basic screencast."

Meta reviewers evaluate each permission independently — likely different reviewers. They don't cross-reference other videos. Each reviewer only saw their assigned video, and it was missing the OAuth flow.

v5 Fix: Each video is now 100% self-contained. Both videos include: (1) disconnect current account, (2) full Meta OAuth login, (3) permission consent screen with 5+ second pause, (4) redirect back to Stylify, (5) the actual feature working end-to-end, (6) denied permission handling. No video references any other video.

What Changed from v4 → v5

Videos needed3 → 2 (instagram_business_basic already approved)
OAuth flowOnly in Video 1 → In EVERY video
Cross-references"See basic screencast" → No cross-references. Each video stands alone.
Submission textReferenced other videos → Describes complete flow visible in THIS video
Video length90s / 60s → ~2:30 / ~2:00 (longer because OAuth is included)
Entity nameKW Aesthetics LLC → Elev8 Ventures LLC (updated Feb 23)
Denied permissionsOnly in basic video → In EACH video

Pre-Recording Checklist

❗ CRITICAL: Each Video Starts Disconnected

Before recording EACH video, disconnect Instagram in Settings → Instagram → Disconnect. Each video shows the full OAuth flow from scratch. You will connect and disconnect multiple times.

⚠️ Recording Order

Record Video 1 (content_publish) FIRST if you need to publish a post for Video 2's insights data. If you already have a 24+ hour old published post, order doesn't matter.

Two Video Scripts

Each video is fully self-contained. No video references any other video.

Video 1: Content Creation & Publishing

instagram_business_content_publish
Target length: ~2 minutes 30 seconds · FULLY SELF-CONTAINED
🆕 v5: This video now includes the FULL OAuth flow

Starts from a disconnected state, shows complete Meta login and permission granting, THEN demonstrates publishing. The reviewer sees the entire journey in one video.

Phase 1: App Introduction & OAuth Connection (0:00 – 1:00)
TimeWhat to ShowNarration + Caption
0:00–0:10 Meta Developer Dashboard showing App ID 1275998977712554. This is Stylify Content Publisher, App ID 1275998977712554 — a social media platform for hair stylists. I'll demonstrate the instagram_business_content_publish permission, from connecting an Instagram account through to publishing a post.
🎬 CAPTION: Stylify Content Publisher | App ID: 1275998977712554 | Demonstrating: instagram_business_content_publish
0:10–0:20 Navigate to stylify-ai.com → Settings → Instagram section. Show account is NOT connected. I'm logged in as a test user. In Settings, the Instagram section shows no account is connected. I'll click Connect Instagram to start the OAuth flow.
🎬 CAPTION: Settings → Instagram: No account connected
0:20–0:30 Click "Connect Instagram." Browser redirects to Meta login page. PAUSE 3–5 seconds on login screen. Clicking Connect Instagram redirects to Meta's OAuth login page. The user enters their Instagram credentials to authenticate.
🎬 CAPTION: Step 1: "Connect Instagram" → Redirected to Meta OAuth login page
0:30–0:45 Enter credentials. Click Log In. PAUSE 5+ seconds on consent screen. Move cursor over each permission — especially content_publish. After logging in, Meta shows the requested permissions. You can see instagram_business_content_publish listed here — this allows Stylify to publish posts on the user's behalf. The user reviews each permission before granting access.
🎬 CAPTION: Step 2: User reviews permissions — instagram_business_content_publish visible on consent screen
0:45–0:55 Click "Allow." Browser redirects back to Stylify. Settings shows @getstylify connected. The user clicks Allow. They're redirected back to Stylify, which now shows the connected Instagram Business account — @getstylify. The OAuth flow is complete and the content_publish permission is active.
🎬 CAPTION: Step 3: User clicks "Allow" → Redirected back → @getstylify connected
0:55–1:00 Brief pause on connected state. Now I'll demonstrate the publishing workflow using this permission.
🎬 CAPTION: Instagram connected — demonstrating content publishing workflow
Phase 2: Content Creation & Publishing (1:00 – 2:00)
1:00–1:10 Navigate to Content Calendar. Show calendar with existing posts. This is the Content Calendar where stylists manage their weekly Instagram posts. I'll create a new post to demonstrate the full publishing flow.
🎬 CAPTION: Content Calendar — stylist's weekly post management
1:10–1:20 Tap an empty day. Select post type (e.g., Transformation). Upload a photo. I select a post type — Transformation — and upload a before-and-after photo of a client's hair.
🎬 CAPTION: Creating new post: Select type → Upload photo
1:20–1:30 Show generating state, then PostReviewScreen with caption, hashtags, photo. Stylify generates a caption personalized to this stylist's brand voice, along with relevant hashtags.
🎬 CAPTION: Personalized caption + hashtags generated in stylist's voice
1:30–1:40 Make a small edit to the caption. Accept changes. The stylist reviews and can edit the caption. Stylify learns from these edits to improve future captions.
🎬 CAPTION: Stylist reviews, edits, and approves content before publishing
1:40–1:50 Click "Post to Instagram." Show publishing progress. Wait for success. Now the core feature. When the stylist taps Post to Instagram, Stylify uses instagram_business_content_publish to create a media container via Instagram's Content Publishing API, then publishes it to their feed.
🎬 CAPTION: "Post to Instagram" → Content Publishing API → Published to Instagram feed
1:50–2:00 Show success. Post marked "Posted" with timestamp. Scroll calendar briefly. Published successfully. The calendar confirms with a timestamp. The stylist's content is live on Instagram — the entire flow happened within Stylify.
🎬 CAPTION: Published successfully → Post live on Instagram → Calendar confirms with timestamp
Phase 3: Denied Permission Handling & Close (2:00 – 2:30)
2:00–2:10 Settings → Instagram → Disconnect. Click "Connect Instagram" again. On consent screen, click "Cancel" or "Don't Allow." I'll demonstrate what happens when a user denies permissions. I disconnect, start the OAuth flow again, and this time click Cancel on the consent screen.
🎬 CAPTION: Denied permissions demo: Disconnect → OAuth → Cancel on consent screen
2:10–2:20 Show Stylify's friendly error message. PAUSE 3–4 seconds. Then reconnect via OAuth (brief). Stylify handles the denial gracefully — a friendly message, no errors, no crashes, no broken state. The user can retry anytime. I'll reconnect now.
🎬 CAPTION: Permission denied → Friendly message, no crash → User can retry
2:20–2:30 Show Privacy Policy page briefly. Return to calendar. Our privacy policy at stylify-ai.com/privacy details how content data is handled. Content is only published when the stylist explicitly taps the publish button — never automatically. That concludes the instagram_business_content_publish demonstration.
🎬 CAPTION: Publishing only on explicit user action | Privacy: stylify-ai.com/privacy | Deletion: stylify-ai.com/data-deletion
📋 Submission Description for instagram_business_content_publish (copy-paste)Stylify Content Publisher is a social media management platform for hair stylists. App ID: 1275998977712554. This screencast demonstrates the instagram_business_content_publish permission with on-screen captions throughout. The video is fully self-contained and shows the complete flow from OAuth connection through to published content. COMPLETE OAUTH FLOW SHOWN IN THIS VIDEO: The video begins with no Instagram account connected. The user navigates to Settings, clicks "Connect Instagram," and is redirected to Meta's OAuth login page. They enter their credentials, review the permissions consent screen (instagram_business_content_publish is visible), and click "Allow" to grant access. The user is redirected back to Stylify where the connected Instagram Business account (@getstylify) is displayed. END-TO-END PUBLISHING USE CASE: After connecting, the user creates a new Instagram post: selects a post type (Transformation), uploads a photo, Stylify generates a personalized caption and hashtags in the stylist's brand voice, the user reviews and edits the content, then taps "Post to Instagram." Stylify uses the instagram_business_content_publish permission to create a media container via Instagram's Content Publishing API, wait for processing, and publish to the user's Instagram feed. The calendar confirms the post is published with a timestamp. DENIED PERMISSION HANDLING: The video also demonstrates what happens when a user cancels or denies permissions during the OAuth flow. Stylify displays a friendly message with no crashes or broken state, and the user can retry the connection. Content is only published when the user explicitly taps the publish button — never automatically without user approval. All authentication is browser-based OAuth (not server-to-server). The complete Meta login and permissions consent flow is visible in this video. Privacy Policy: https://stylify-ai.com/privacy Data Deletion: https://stylify-ai.com/data-deletion Test Account: stylist@example.com / admin1234

Video 2: Post Insights & Analytics

instagram_business_manage_insights
Target length: ~2 minutes · FULLY SELF-CONTAINED
🆕 v5: This video now includes the FULL OAuth flow

Starts from a disconnected state, shows complete Meta login and permission granting, THEN demonstrates insights. The reviewer sees the entire journey in one video.

📊 Prerequisite

Requires at least one published post 24+ hours old so insights data has populated.

Phase 1: App Introduction & OAuth Connection (0:00 – 0:55)
TimeWhat to ShowNarration + Caption
0:00–0:10 Meta Developer Dashboard showing App ID 1275998977712554. This is Stylify Content Publisher, App ID 1275998977712554 — a social media platform for hair stylists. I'll demonstrate the instagram_business_manage_insights permission, from connecting an Instagram account through to viewing post performance analytics.
🎬 CAPTION: Stylify Content Publisher | App ID: 1275998977712554 | Demonstrating: instagram_business_manage_insights
0:10–0:20 Navigate to stylify-ai.com → Settings → Instagram. Show NOT connected. I'm logged in as a test user. In Settings, no Instagram account is connected. I'll start the OAuth flow.
🎬 CAPTION: Settings → Instagram: No account connected
0:20–0:30 Click "Connect Instagram." Redirect to Meta login. PAUSE 3–5 seconds. Clicking Connect Instagram redirects to Meta's OAuth login page for authentication.
🎬 CAPTION: Step 1: "Connect Instagram" → Redirected to Meta OAuth login page
0:30–0:45 Enter credentials. Log in. PAUSE 5+ seconds on consent screen. Move cursor over manage_insights permission. After logging in, Meta displays the requested permissions. You can see instagram_business_manage_insights listed here — this allows Stylify to fetch post performance metrics like reach, impressions, and engagement. The user reviews before granting access.
🎬 CAPTION: Step 2: User reviews permissions — instagram_business_manage_insights visible on consent screen
0:45–0:55 Click "Allow." Redirect back. Settings shows @getstylify connected. The user clicks Allow. They're redirected back to Stylify with @getstylify connected. The manage_insights permission is now active. I'll show how the app uses this data.
🎬 CAPTION: Step 3: User clicks "Allow" → @getstylify connected with insights permission active
Phase 2: Per-Post Insights & Aggregated Analytics (0:55 – 1:35)
0:55–1:05 Navigate to Calendar. Tap a published post (24+ hours old). Show InsightsCard loading then displaying metrics. On the Content Calendar, I'll open a published post. Stylify uses manage_insights to fetch this post's performance data from Instagram's Insights API. Posts must be at least 24 hours old for metrics.
🎬 CAPTION: Published post → Insights fetched via instagram_business_manage_insights API
1:05–1:15 Point cursor at each metric: reach, impressions, engagement, saves. PAUSE 1–2 seconds on each. Here are the post's actual performance metrics — reach, impressions, engagement, and saves. This is real data fetched from Instagram. It helps stylists understand which content resonates with their audience.
🎬 CAPTION: Per-post insights: Reach, Impressions, Engagement, Saves — real data from Instagram
1:15–1:25 Navigate to Progress tab. Show aggregated metrics: total reach, average engagement, published count. These metrics are also aggregated on the Progress page. Stylists see total reach, average engagement rate, and top-performing content — all powered by the manage_insights permission.
🎬 CAPTION: Progress page: Aggregated analytics across all posts — powered by manage_insights
1:25–1:35 Scroll Progress page showing time saved, posting streaks, and Instagram metrics. The Progress page combines time-saving metrics with real Instagram performance data, giving stylists a complete picture of their content strategy.
🎬 CAPTION: Combined view: Time savings + Instagram performance from manage_insights
Phase 3: Denied Permission Handling & Close (1:35 – 2:00)
1:35–1:45 Settings → Disconnect. Click "Connect Instagram." On consent screen, click "Cancel." Show friendly error. PAUSE 3–4 seconds. I'll demonstrate denied permissions. After disconnecting, I start OAuth again but click Cancel. Stylify handles this gracefully — friendly message, no crashes, no broken state.
🎬 CAPTION: Permission denied → Friendly message, no crash → Retry available
1:45–1:55 Reconnect via OAuth (brief). Show Privacy Policy page. I'll reconnect. Our privacy policy details how insights data is used. We only access post-level metrics — never private messages, follower lists, or sensitive data.
🎬 CAPTION: Only post-level metrics — never private messages or follower data | Privacy: stylify-ai.com/privacy
1:55–2:00 Return to Progress page. That concludes the instagram_business_manage_insights demonstration — from OAuth connection through to per-post and aggregated analytics.
🎬 CAPTION: instagram_business_manage_insights: OAuth → Per-post insights → Aggregated analytics
📋 Submission Description for instagram_business_manage_insights (copy-paste)Stylify Content Publisher is a social media management platform for hair stylists. App ID: 1275998977712554. This screencast demonstrates the instagram_business_manage_insights permission with on-screen captions throughout. The video is fully self-contained and shows the complete flow from OAuth connection through to viewing analytics data. COMPLETE OAUTH FLOW SHOWN IN THIS VIDEO: The video begins with no Instagram account connected. The user navigates to Settings, clicks "Connect Instagram," and is redirected to Meta's OAuth login page. They enter their credentials, review the permissions consent screen (instagram_business_manage_insights is visible), and click "Allow" to grant access. The user is redirected back to Stylify where the connected Instagram Business account (@getstylify) is displayed. END-TO-END INSIGHTS USE CASE: After connecting, the video demonstrates two use cases: (1) Per-post metrics — the user opens a published post (24+ hours old) and Stylify fetches reach, impressions, engagement, and saves from Instagram's Insights API using the manage_insights permission. (2) Aggregated analytics — the Progress page shows total reach, average engagement rate, and top-performing content across all published posts, all powered by the manage_insights permission. This data helps stylists understand which content types resonate with their audience. We only access post-level performance metrics — never private messages, follower lists, or other sensitive data. DENIED PERMISSION HANDLING: The video also demonstrates what happens when a user cancels or denies permissions. Stylify displays a friendly message with no crashes or broken state, and the user can retry. All authentication is browser-based OAuth (not server-to-server). The complete Meta login and permissions consent flow is visible in this video. Privacy Policy: https://stylify-ai.com/privacy Data Deletion: https://stylify-ai.com/data-deletion Test Account: stylist@example.com / admin1234

Post-Recording Checklist

  1. Watch each video end-to-end — verify captions are readable and accurate
  2. BOTH videos: Meta login screen visible (3–5 sec) AND consent screen visible (5+ sec)
  3. BOTH videos: Specific permission name pointed to on consent screen
  4. BOTH videos: Denied-permission handling shown (cancel → friendly message → retry)
  5. Video 1: Full create → review → publish → success confirmation flow visible
  6. Video 2: Per-post metrics AND aggregated Progress page analytics shown
  7. Privacy Policy page loads quickly
  8. Lengths: Video 1 ~2:30, Video 2 ~2:00 (within Meta's 1–3 min range)
  9. CRITICAL: Submission descriptions do NOT reference any other video
  10. Export: MP4, H.264 codec, 1080p, under 500 MB
  11. Upload each to Meta Developer Dashboard under its permission
  12. Paste matching submission description for each

Recording Tips

💡 Rule #1: Each Video Must Stand Alone

A Meta reviewer watches ONLY the video for their assigned permission. They won't see your other videos. If they watch on mute, captions must tell the entire story.

Recording Order Summary

✅ Skipinstagram_business_basic — Already approved.
Step 1Disconnect Instagram in Settings
Step 2Record Video 1 (content_publish): OAuth → create → publish → denied handling
Step 3Disconnect Instagram again
Step 4Record Video 2 (manage_insights): OAuth → per-post metrics → aggregated → denied handling
Step 5Add captions in Descript, review for accuracy
Step 6Export & upload each to Meta Developer Dashboard
Step 7Paste submission descriptions
Step 8Submit for review 🚀