| App Name | Stylify Content Publisher |
| App ID | 1275998977712554 |
| Business Entity | Elev8 Ventures LLC |
| Approved | instagram_business_basic — ✅ Approved Feb 26, 2026 |
| Resubmitting | instagram_business_content_publish, instagram_business_manage_insights |
| Video Format | 2 videos — one per rejected permission (each fully self-contained) |
| Version | v6 — Denied permission demo moved BEFORE successful connect (cancel-first) |
Only Video 1 (basic) contained the full OAuth login flow. Videos 2 and 3 started with the account already connected and 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.
v5 placed the "denied permissions" demo at the end of each video (Phase 3). The sequence was:
Phase 1: Successful OAuth → Connected
Phase 2: Feature demo
Phase 3: Disconnect → OAuth again → Cancel → Friendly error
The problem: Disconnecting in Stylify's Settings only removes the token from Stylify's database. It does NOT revoke the app authorization on Instagram's side. So when you attempt OAuth a second time and click Cancel, Instagram may still treat the account as authorized — because it already granted access in Phase 1. The "denied" state may not be clean, and the app may still show as connected.
| OAuth in every video | v4: Only Video 1 → v5+: In EVERY video |
| Cross-references | v4: "See basic screencast" → v5+: No cross-references |
| Videos needed | v4: 3 → v5+: 2 (basic approved) |
| Denied permissions demo position | v5: End of video (Phase 3) → v6: FIRST in Phase 1 (before successful connect) |
| OAuth attempts per video | v5: 2 (allow first, cancel second) → v6: 2 (cancel first, allow second) |
| Entity name | v4: KW Aesthetics LLC → v5+: Elev8 Ventures LLC |
Before recording EACH video, go to Settings → Instagram → Disconnect. This removes the token from Stylify. Each video starts with Instagram not connected in Stylify, and the account has not previously authorized the app in this browser session. The Cancel demo happens first (clean state), followed by the Allow demo.
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.
Each video now shows: (1) Settings — not connected, (2) Click Connect → Meta login → consent screen → click Cancel → back to Stylify → friendly error message, (3) Click Connect again → consent screen → click Allow → connected, (4) Feature demo. No Phase 3 needed — the denied demo is already done in Phase 1.
Each video is fully self-contained. No video references any other video. Denied permissions demo comes first in Phase 1.
Phase 1 now includes two OAuth attempts: (1) Cancel on consent screen — shows denied handling in a clean state, (2) Allow on consent screen — shows successful connection. No Phase 3 needed.
| Phase 1: Intro, Denied Demo, Then Successful OAuth (0:00 – 1:15) | ||
| Time | What to Show | Narration + 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, including how the app handles both granted and denied permissions.
🎬 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.
🎬 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. | I'll first show what happens when a user declines permissions. I click Connect Instagram and am redirected to Meta's OAuth login page.
🎬 CAPTION: Denied permissions demo — Click "Connect Instagram" → Meta OAuth login page
|
| 0:30–0:45 | Enter credentials, click Log In. PAUSE 5+ seconds on consent screen. Move cursor over content_publish permission. Then click "Cancel" or "Don't Allow." | After logging in, Meta shows the permissions consent screen. You can see instagram_business_content_publish listed here. This time, I'll click Cancel to demonstrate what happens when a user denies access.
🎬 CAPTION: Consent screen — instagram_business_content_publish visible → User clicks Cancel
|
| 0:45–0:55 | Browser redirects back to Stylify. Show friendly error / "no account connected" message. PAUSE 3–4 seconds. | Stylify handles the denial gracefully — a friendly message, no errors, no crashes, no broken state. The user can retry anytime.
🎬 CAPTION: Permission denied → Friendly message, no crash, no broken state → User can retry
|
| 0:55–1:00 | Click "Connect Instagram" again. Note: Meta will skip the login screen this time — since you logged in moments ago, it goes directly to the consent screen. PAUSE 3–5 seconds on consent screen. Move cursor over content_publish permission. | I'll connect now and grant access. I click Connect Instagram again. Because I'm already logged into Meta, the consent screen appears directly — no login step needed. You can see instagram_business_content_publish listed here.
🎬 CAPTION: Retry → Already logged into Meta → Consent screen appears directly → instagram_business_content_publish visible
|
| 1:00–1:10 | Click "Allow." Browser redirects back to Stylify. Settings shows @getstylify connected. | The user clicks Allow to grant access. They're redirected back to Stylify, which now shows the connected Instagram Business account — @getstylify. The content_publish permission is active. I'll now demonstrate the publishing workflow.
🎬 CAPTION: User clicks "Allow" → Redirected back → @getstylify connected — content_publish active
|
| Phase 2: Content Creation & Publishing (1:10 – 2:10) | ||
| 1:10–1:20 | 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:20–1:30 | 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:30–1:40 | 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:40–1:50 | Make a small edit to the caption. Click "Post to Instagram." Show publishing progress. Wait for success. | The stylist reviews and edits the caption, then taps Post to Instagram. Stylify uses instagram_business_content_publish to create a media container via Instagram's Content Publishing API and publish it to their feed.
🎬 CAPTION: Stylist approves → "Post to Instagram" → Content Publishing API → Published to feed
|
| 1:50–2:10 | Show success. Post marked "Posted" with timestamp. Navigate briefly to Privacy Policy page (stylify-ai.com/privacy). | Published successfully. The calendar confirms with a timestamp. 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: Published → Calendar confirms | Publishing only on explicit user action | Privacy: stylify-ai.com/privacy
|
Phase 1 now includes two OAuth attempts: (1) Cancel on consent screen, (2) Allow on consent screen. No Phase 3 needed.
Requires at least one published post 24+ hours old so insights data has populated. Record Video 1 first if needed.
| Phase 1: Intro, Denied Demo, Then Successful OAuth (0:00 – 1:05) | ||
| Time | What to Show | Narration + 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, including both denied and granted permission handling.
🎬 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.
🎬 CAPTION: Settings → Instagram: No account connected
|
| 0:20–0:30 | Click "Connect Instagram." Redirect to Meta login. PAUSE 3–5 seconds on login screen. | I'll first show what happens when a user denies permissions. Clicking Connect Instagram redirects to Meta's OAuth login page.
🎬 CAPTION: Denied permissions demo — Click "Connect Instagram" → Meta OAuth login page
|
| 0:30–0:44 | Enter credentials, log in. PAUSE 5+ seconds on consent screen. Move cursor over manage_insights permission. Click "Cancel" or "Don't Allow." | After logging in, Meta shows the consent screen. You can see instagram_business_manage_insights listed here — this time I'll click Cancel to show what happens when a user denies access.
🎬 CAPTION: Consent screen — instagram_business_manage_insights visible → User clicks Cancel
|
| 0:44–0:52 | Redirect back to Stylify. Show friendly error message. PAUSE 3–4 seconds. | Stylify handles the denial gracefully — friendly message, no crashes, no broken state. The user can retry anytime.
🎬 CAPTION: Permission denied → Friendly message, no crash → Retry available
|
| 0:52–1:00 | Click "Connect Instagram" again. Note: Meta will skip the login screen this time — since you logged in moments ago, it goes directly to the consent screen. PAUSE 3–5 seconds on consent screen. Move cursor over manage_insights permission. | I'll connect now and grant access. I click Connect Instagram again. Because I'm already logged into Meta, the consent screen appears directly — no login step needed. You can see instagram_business_manage_insights listed here.
🎬 CAPTION: Retry → Already logged into Meta → Consent screen appears directly → instagram_business_manage_insights visible
|
| 1:00–1:10 | Click "Allow." Redirect back to Stylify. Settings shows @getstylify connected. | The user clicks Allow to grant access. 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: User clicks "Allow" → Redirected back → @getstylify connected — manage_insights active
|
| Phase 2: Per-Post Insights & Aggregated Analytics (1:10 – 1:55) | ||
| 1:10–1:20 | 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 to populate.
🎬 CAPTION: Published post → Insights fetched via instagram_business_manage_insights API
|
| 1:20–1:30 | 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, helping stylists understand which content resonates with their audience.
🎬 CAPTION: Per-post insights: Reach, Impressions, Engagement, Saves — real data from Instagram
|
| 1:30–1:40 | Navigate to Progress tab. Show aggregated metrics: total reach, average engagement, published count. Scroll slowly. | 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. We only access post-level metrics — never private messages, follower lists, or sensitive data.
🎬 CAPTION: Progress page: Aggregated analytics — total reach, avg engagement | Post-level metrics only
|
| 1:40–1:55 | Navigate briefly to Privacy Policy page (stylify-ai.com/privacy). Return to Progress page. | Our privacy policy at stylify-ai.com/privacy details how insights data is used. That concludes the instagram_business_manage_insights demonstration — from OAuth connection through to per-post and aggregated analytics.
🎬 CAPTION: Privacy: stylify-ai.com/privacy | Deletion: stylify-ai.com/data-deletion | manage_insights: OAuth → insights → analytics
|
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.
Because you logged into Meta during the Cancel demo, the second OAuth attempt goes directly to the consent screen — no username/password. This behavior is expected and is now scripted explicitly in each video's Phase 1 scene table with the correct narration. The consent screen still shows the permission name clearly, which is what Meta reviewers need to see.
| ✅ Skip | instagram_business_basic — Already approved. |
| Step 1 | Disconnect Instagram in Settings (clean start for Video 1) |
| Step 2 | Record Video 1 (content_publish): — OAuth attempt 1: Connect → login → consent → Cancel → friendly error — OAuth attempt 2: Connect → consent → Allow → connected — Feature: create → review → publish → success |
| Step 3 | Disconnect Instagram again (clean start for Video 2) |
| Step 4 | Record Video 2 (manage_insights): — OAuth attempt 1: Connect → login → consent → Cancel → friendly error — OAuth attempt 2: Connect → consent → Allow → connected — Feature: per-post insights → Progress analytics |
| Step 5 | Add captions in Descript, review for accuracy |
| Step 6 | Export & upload each to Meta Developer Dashboard |
| Step 7 | Paste submission descriptions |
| Step 8 | Submit for review 🚀 |