A fully managed Instagram posting service — we post AI-generated photos directly to each client's Instagram account, on a schedule, with zero effort from the client.
ICONIC generates professional AI photos for every client. Right now, those photos sit in the client's dashboard. The next step is posting them automatically to the client's own Instagram account — building their social presence, driving engagement, and giving them a reason to stay subscribed.
Every ICONIC client gets managed Instagram posting as part of their plan. We handle everything:
📱
Client clicks "Connect Existing Account" on their dashboard. They're redirected to Facebook, grant permissions, and done. Takes 30 seconds.
2 steps✨
Client clicks "Create New Account" and follows a 4-step guided wizard: create IG, switch to Business, create Facebook Page, link them, then connect.
4 steps + connect| Mode | How It Works | When to Use |
|---|---|---|
| Admin Approved | Photos queue up. Neil reviews captions and selects which to post. Approved posts go out on schedule. | Default for all new clients. Safer — it's their personal IG. |
| Auto-Post | Photos post automatically on schedule (3x/week). No manual approval needed. | Toggle on per client once you trust the pipeline. |
The Instagram section lives inside the existing client dashboard — between Quick Actions and Plan Info. No separate page to find.
Once connected, the dashboard shows their @username, post count, last post date, and a link to view their Instagram. They can disconnect at any time.
We use the Meta Graph API v22.0 to post photos. Each client's long-lived page token is stored in iconic_clients.json and never expires (as long as they don't revoke access or change their Facebook password). A daily health check verifies all tokens are still valid.
| File | Purpose | Status |
|---|---|---|
instagram_manager.js | Core module — OAuth flow, per-client posting, schedule queue, token health checks | Done |
instagram_post.js | Graph API functions — refactored to support per-client tokens (was central-account only) | Done |
instagram_client_setup.html | Client wizard — "I Have IG" (2 steps) or "I Need IG" (4 steps) | Done |
instagram_admin.html | Admin dashboard — all clients, token health, auto-post toggles, posting history | Done |
dashboard.html | Client dashboard — new Instagram section (connect/status/disconnect) | Done |
serve_reports.js | 12 new API endpoints for OAuth, posting, admin controls | Done |
ig_app_config.json | Meta App ID & Secret storage (entered via admin dashboard) | Done |
| Endpoint | What It Does |
|---|---|
GET /api/instagram/connect | Redirects client to Facebook OAuth with correct permissions |
GET /api/instagram/callback | Exchanges OAuth code for tokens, stores in client record, redirects to dashboard |
GET /api/instagram/client-status | Returns IG connection status for logged-in client |
POST /api/instagram/disconnect | Removes tokens, stops posting for that client |
POST /api/instagram/post-now | Admin: post a specific photo to a client's IG immediately |
GET /api/instagram/admin/clients | All clients with connection status, post counts, settings |
POST /api/instagram/admin/settings | Toggle auto-post, change posts/week per client |
POST /api/instagram/admin/config | Save Meta App ID & Secret |
instagram_content_publish permissionIn the meantime: You can test everything with your own Instagram account right now using Dev Mode. Add yourself as a tester in the Meta App settings — the full OAuth flow, posting, and scheduling all work in dev mode. External clients just need the app review to complete first.
| Page | URL |
|---|---|
| Admin Dashboard | reports.iconicbyai.com/iconic/instagram_admin.html |
| Client Setup Wizard | reports.iconicbyai.com/iconic/instagram_client_setup.html |
| Client Dashboard | reports.iconicbyai.com/iconic/dashboard.html |