Build 1: the AI LinkedIn pipeline with a human-in-the-loop gate
The workflow writes the post and the picture, then stops and waits for you to click Approve in your inbox.
PROCEDURE: Sheet columns post idea / instruction / generate image (y/n) / status / post ID. Schedule Trigger -> Google Sheets Get Rows (status=ready, first match) -> Google Gemini 'Message a Model' (Gemini 2.5 Pro; API key from aistudio.google.com/app/apikey) with the ghostwriter system prompt and a user prompt of idea + instruction -> IF generate image = yes -> Gemini 'Generate an Image' (Nano Banana Pro) -> Google Drive Upload File to a public folder (binary field 'data') -> Gmail 'Human Review' (approve/reject) with text and the Drive link; the run blocks until clicked -> IF approved -> IF image -> Drive Download File -> LinkedIn Create a Post (media image or none; Set up manually, Organization Support off, Person) -> Sheets Update Row status=posted + post ID; rejected -> status=canceled. Tested live twice: one rejected, one posted. Q&A upgrade: a custom Form node instead of approve/decline lets the reviewer ask for changes, and a second LLM call revises - JSON shared.
The reference pattern for any content-approval automation.




