# Token Automation Runbook - Facebook Growth Pilot Updated: 2026-06-29 17:48 Asia/Bangkok Status: live cron enabled; campaign starts 2026-06-30 Asia/Bangkok ## What Is Ready - Publisher script: `scripts/facebook_growth_token_publisher.py` - Cron wrapper: `scripts/facebook_growth_token_cron.sh` - Config: `production/week1-launch-control/token_automation_config.json` - Secret template: `secrets/facebook_pages.env.example` - Secret file: `secrets/facebook_pages.env` with permission `600` - Tracker: `production/week1-launch-control/launch_tracker_day1_day3.csv` ## Validated Graph Page IDs | Page | Graph API Page ID | | :--- | :--- | | `SME มี AI` | `1138700889330340` | | `ข่าวเช้านักเทรด` | `1134206763113213` | | `ความจริงหลังฉาก` | `876191365580692` | Validation passed on 2026-06-29 17:36 Asia/Bangkok with refreshed Page Access Tokens. Do not print full tokens in notes or chat. ## Required Secret File Create: ```text DoveCommandCenter/10-Projects/Facebook/Growth-Pilot/secrets/facebook_pages.env ``` Required keys: ```text FB_PAGE_SME_ID=61590418391870 FB_PAGE_SME_TOKEN=... FB_PAGE_TRADER_ID=61590781646024 FB_PAGE_TRADER_TOKEN=... FB_PAGE_SECRET_ID=61584308625582 FB_PAGE_SECRET_TOKEN=... ``` Then restrict permissions: ```bash chmod 600 DoveCommandCenter/10-Projects/Facebook/Growth-Pilot/secrets/facebook_pages.env ``` Never paste full tokens in chat, reports, screenshots, Markdown notes, or logs. ## Validate Tokens ```bash python3 scripts/facebook_growth_token_publisher.py validate ``` Validation must pass for all 3 expected page IDs before enabling cron. Latest validation passed for all 3 pages. ## Dry Run Set the campaign start date in: ```text production/week1-launch-control/token_automation_config.json ``` Then run: ```bash python3 scripts/facebook_growth_token_publisher.py dry-run ``` The dry run prints due rows without exposing tokens. ## Enable Live Publishing Current live publishing setup: - `campaign_start_date`: `2026-06-30` - Cron cadence: every 10 minutes - First expected due post: Day 1 `ข่าวเช้านักเทรด` at 07:15 BKK - Required env flag: `FACEBOOK_GROWTH_ALLOW_PUBLISH=1` Enable/maintain live publishing: 1. Set `campaign_start_date` in `token_automation_config.json`. 2. Export `FACEBOOK_GROWTH_ALLOW_PUBLISH=1` for the cron environment. 3. Run the wrapper every 10 minutes. Recommended cron timing: ```cron */10 * * * * FACEBOOK_GROWTH_ALLOW_PUBLISH=1 /root/.openclaw/workspace/scripts/facebook_growth_token_cron.sh ``` The publisher posts only rows that are due for the current campaign day/time and still marked `not_posted`. ## After Posting The script updates: - `production/week1-launch-control/launch_tracker_day1_day3.csv` - `production/week1-caption-pack/posting_queue_day1_day3.csv` Then capture 24h/72h metrics in the tracker.