Set it up
Optional AI planner
This workflow only writes to the Google Sheet (and may upload media to Zernio). It never publishes to Facebook and it never sets status to approved.
Import workflows/social-content-ai-planner.json only if you want AI to draft the week. Leave it inactive until you are ready for it to append rows. There is no planner screenshot in this kit; follow the steps below.
#What it does
- Every Monday at 08:00 Asia/Manila (or on a Manual Test Run) it reads the
queuetab. - It asks the selected chat model for enough new posts to reach
posts_per_weekin the next 7 days, avoiding captions and time slots already taken. - Validate & Normalize Posts always sets
status = pending_approvaland assigns ids likeai-20261117-1. - If
image_provideris notnone, it generates a square image, uploads it with Zernio presign + PUT, and stores thepublicUrlasimage_url. A failed image still queues the caption, witherrorexplaining why. - It appends a
planner_logrow (time, posts_created, notes).
A person then reviews the caption, time, and image, and only then sets status to approved. The posting workflow ignores pending_approval.
#Providers
| OpenAI | xAI | OpenRouter (default) | |
|---|---|---|---|
| Captions | Official Chat Model v1.2, default gpt-4o-mini |
Official Grok Chat Model, default grok-4.3 |
Official OpenRouter Chat Model, default openrouter/free |
| Images (HTTP Request) | POST /v1/images/generations, default gpt-image-1-mini (b64) |
POST https://api.x.ai/v1/images/generations, default grok-imagine-image |
POST https://openrouter.ai/api/v1/images, default recraft/recraft-v4.1-flash at about $0.007/image |
| Notes | API billing is separate from ChatGPT Plus | API billing is separate from SuperGrok | Free text model is rate-limited. No free image models |
You can mix providers (for example OpenRouter captions and image_provider = none). Set ai_provider and image_provider independently in Config (openai, xai, openrouter; images also allow none).
OpenRouter :free captions: 20 requests/minute; 50/day if you have purchased less than $10 in credits, 1000/day at or above $10. A negative balance can block free models.
#Setup
- Add the
planner_logtab to the same Sheet as the queue. - Fill planner Config:
google_sheet_id, brand fields,posts_per_week,preferred_posting_times,timezone(defaultAsia/Manila),ai_provider,image_provider, and the model fields you use. - Create only the credentials you need, plus Google Sheets, and Zernio API if images are on. If you use OpenRouter for both captions and images, create two credentials with similar names: the official OpenRouter API type for the chat model, and a Header Auth
Authorization: Bearer …credential for the image HTTP node.
In the buyer JSON, google_sheet_id is the placeholder YOUR_SHEET_ID. Paste your real Sheet ID after import.
- Click Execute workflow once. Confirm new
pending_approvalrows and aplanner_logline. Do not approve them until you have read the captions. - Approve and publish within 7 days of a Zernio image upload. Unused uploads expire after 7 days unless a post has used them.
The planner_log tab uses the header time, posts_created, notes. There is no planner-log screenshot in this kit.
The planner was not part of the 11 November 2026 live posting test. Treat the first planner run as its own review, still with the workflow inactive if you want to avoid the weekly schedule.