← back to Marketing Command Center
Channels: bake the Meta 4-step setup doc into the Meta card (Ads-app gotcha + Other/Business → Instagram+FB Login products → App Review Standard Access → then mint token); Meta parked
2a5b5598b90f07c65de6abbfefcb5e981f09de76 · 2026-06-14 17:43:51 -0700 · Steve Abrams
Files touched
M public/panels/channels.js
Diff
commit 2a5b5598b90f07c65de6abbfefcb5e981f09de76
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sun Jun 14 17:43:51 2026 -0700
Channels: bake the Meta 4-step setup doc into the Meta card (Ads-app gotcha + Other/Business → Instagram+FB Login products → App Review Standard Access → then mint token); Meta parked
---
public/panels/channels.js | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/public/panels/channels.js b/public/panels/channels.js
index 232374b..c10c40d 100644
--- a/public/panels/channels.js
+++ b/public/panels/channels.js
@@ -43,6 +43,22 @@ window.MCC_PANELS['channels'] = {
pl.connected ? `<span class="pill" style="background:#e3efe0;color:#3a6b3a">✓ ${esc(pl.label)}</span>`
: (pl.connectUrl ? `<a class="btn gated" style="text-decoration:none" href="${ORIGIN}${esc(pl.connectUrl)}">Connect ${esc(pl.label)} →</a>` : '')
).join(' ');
+ // Meta has a known gotcha: Ads-scoped apps can't grant posting permissions.
+ // Bake the exact 4-step fix into the card so it's waiting whenever Steve returns.
+ const metaDoc = p.id === 'meta' ? `
+ <details style="margin-top:10px;background:#fff8ec;border:1px solid #f0e0c0;border-radius:8px;padding:8px 10px">
+ <summary style="cursor:pointer;font-size:12px;font-weight:700;color:#7a5a2a">⚠ Token only offering 1 permission / "Facebook Login unavailable"? Read this first</summary>
+ <div style="font-size:12px;color:#7a5a2a;margin-top:8px;line-height:1.5">
+ The cause is always the same: an <b>Ads-scoped app</b> can't grant posting permissions, so the token comes back useless. Build the app in this exact order <b>before</b> generating any token:
+ <ol style="margin:8px 0 0;padding-left:18px">
+ <li>Create app → choose <b>“Other”</b> → type <b>Business</b> (NOT an Ads use case).</li>
+ <li>Add <b>two</b> products: <b>Instagram</b> <i>and</i> <b>Facebook Login</b>.</li>
+ <li><b>App Review → Permissions and Features</b> → confirm <code>pages_manage_posts</code> + <code>instagram_content_publish</code> show <b>Standard Access</b>.</li>
+ <li><b>Only then</b> generate the token (Graph API Explorer or a Business-Settings System User) — all 6 permissions will finally appear. Paste App ID + Secret above and Connect.</li>
+ </ol>
+ Norma's IG agent is a simulation stub — it has no token to reuse. There is no existing Meta token in the stack; one must be minted via the steps above.
+ </div>
+ </details>` : '';
return `<div class="card setup-card" style="margin:0">
<div style="display:flex;align-items:center;gap:8px"><span style="font-size:20px">${p.icon}</span><b>${esc(p.title)}</b></div>
<div style="margin:6px 0 4px">${statusPills}</div>
@@ -52,6 +68,7 @@ window.MCC_PANELS['channels'] = {
<div class="ch-sublabel">Permissions / scopes</div>
<div class="muted" style="font-size:11.5px">${esc(p.permissions)}</div>
<div class="ch-sublabel">App credentials</div>${fields}
+ ${metaDoc}
<div class="row" style="margin-top:12px;align-items:center">
<button class="btn gold" data-save="${esc(p.id)}">Save credentials</button>
${connects}
← 744335b MCC: approve + schedule the 8 launch social posts (Bold Blus
·
back to Marketing Command Center
·
MCC QA fixes: re-render #3 (Anemone Blush, was off-theme) + 4715bb6 →