Dashboard (content library, publishing queue with approvals, inbox, team management, AI runs), Meta connector, branded PDF reports, agent skills, and Docker packaging (Dockerfile, docker-compose with Caddy HTTPS, backup and path-relocation scripts). Client data, live data and secrets are excluded via .gitignore. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
3.4 KiB
Markdown
42 lines
3.4 KiB
Markdown
# Go-live checklist: Social Manager
|
|
|
|
## 1. Add permissions to the Meta app (developers.facebook.com → Social Manager → Use cases / App Review)
|
|
Make sure the token already has: pages_show_list, pages_read_engagement, pages_manage_posts, pages_read_user_content, pages_manage_engagement, instagram_basic, instagram_content_publish, instagram_manage_comments, instagram_manage_insights, read_insights, business_management.
|
|
Add now:
|
|
- instagram_manage_messages: Instagram DMs (inbox + replies)
|
|
- pages_messaging: Facebook Messenger inbox + replies
|
|
- leads_retrieval (+ pages_manage_ads): pull Lead Ads form leads into leads.csv / Odoo
|
|
- ads_read (later ads_management): Meta Ads reporting
|
|
- Instagram Public Content Access feature: hashtag search for trend scans
|
|
Then: Business Settings → System users → social-agent → Generate new token (tick the new scopes, never expires) → paste into `.env` as META_SYSTEM_USER_TOKEN. Run `npm run test:meta` in `connector`.
|
|
|
|
## 2. Turn publishing on
|
|
In `.env`: `ALLOW_PUBLISH=true`. Every post/reply still needs an admin's Approve click (or a "yes" in Claude Code).
|
|
|
|
## 3. Build and run the dashboard (on this PC)
|
|
```
|
|
cd dashboard
|
|
npm run build
|
|
npm start # http://localhost:4310
|
|
```
|
|
Instagram posts go out only while something is running the queue. Either keep the dashboard running, or add a scheduled task:
|
|
```
|
|
schtasks /create /sc minute /mo 5 /tn "SocialManagerScheduler" /tr "node D:\MCS_Repos\2026\claude_Metatron_Social_Media_Manager\connector\scripts\run-scheduler.js"
|
|
```
|
|
(If you use the task, set `SCHEDULER_ENABLED=false` in `.env` so the two don't overlap. The lock file prevents double posts anyway.)
|
|
|
|
## 4. Link Infini
|
|
Dashboard → Clients → Add business → pick Infini's Page (or `npm run link-clients`). Its timezone is already Asia/Kolkata.
|
|
|
|
## 5. First real test
|
|
Schedule a Story for Falcon Fashions 20 minutes ahead → Approve → check it appears → check `data/publish-log.jsonl`.
|
|
|
|
## 6. Going beyond your own portfolio (later)
|
|
Clients' assets are shared into the MetatronCube portfolio, so development mode works for staff who have app roles. App Review + Tech Provider registration is only needed if clients ever log in to the app themselves.
|
|
|
|
## 7. Team uploads (Content library)
|
|
- Each designer/editor needs a dashboard login: an admin adds them in **Settings → Team members** (members upload and schedule drafts; only admins approve). The admin gets a temporary password to send privately; the person chooses their own after signing in. Admins can also reset passwords, change roles, deactivate or remove people there. Logins are stored hashed in `data/dashboard/users.json`. If no admin can sign in, `cd dashboard && npm run add-user -- you@agency.com "Name" admin` still works as a backup.
|
|
- Flow: team uploads finished work → admin reviews (approve / request changes with a note) → Schedule → draft in Publishing → admin approves → goes out at the client's local time.
|
|
- Files are stored in `data/library/<client>/<month>/` on this PC. Put the dashboard behind your network or a VPN if the team in India uploads remotely; don't expose port 4310 to the internet without HTTPS.
|
|
- Optional Odoo link: pick the task when uploading. With `ODOO_ALLOW_WRITES=true` the task gets a note and moves to the project's "Review" stage on upload, "Done" on approval, and back to "In Progress" when changes are requested (matched by stage name).
|