# Run manager-approved Google Sheets email campaigns with OpenAI and Gmail

> Quick overview This workflow watches a Google Sheets campaign sheet for status changes, generates a promo poster with OpenAI, uploads it to UploadToURL, requests manager approval via Gmail, and if approved emails the offer to VIP customers from Google Sheets and logs the send status back to the campaign sheet. How it works 1. Triggers every minute when the Status column changes in a Google Sheets campaign sheet. 2. Uses OpenAI image generation to create a promotional poster background from the sheet’s Offer Details. 3. Uploads the generated image to UploadToURL and gets a public URL for email embedding. 4. Sends the poster preview to a manager via Gmail using a send-and-wait approval email. 5. If the manager approves, reads VIP customers (VIP Member = Yes) from a Google Sheets mailing list and sends each a personalized Gmail HTML promo email with the poster, offer details, and promo code. 6. Updates the campaign row in Google Sheets to either Rejected or Campaign Sent, storing the post

- **Domain**: `n8n-workflow-22227.n8n.io`
- **Provider**: n8n.io (https://n8n.io)
- **Kind**: workflow
- **Live-responds (last probe)**: None
- **Signed card**: False
- **Streaming**: False
- **Quality score**: 40%

## URLs
- Agent card: https://n8n.io/workflows/22227
- Page (HTML): https://agenstry.com/agents/n8n-workflow-22227.n8n.io
- Documentation: https://n8n.io/workflows/22227
