This workflow corresponds to n8n.io template #5989 — we link there as the canonical source.
This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "AhLdSHGzYENHBtdk",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Automated Food Photo Sharing with AI Captions \u2013 Pinterest Scheduler",
"tags": [],
"nodes": [
{
"id": "adea325f-884b-4fc9-9582-74c97e9c3473",
"name": "Daily Post Scheduler",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1
},
{
"id": "1866b165-64c4-45ce-b9a5-e19e810272c4",
"name": "Fetch Food Photos from Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
220,
0
],
"parameters": {
"resource": "spreadsheet",
"operation": "get"
},
"credentials": {
"googleApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "522fc6bc-88a1-4c52-a16e-7a72c9ce8b62",
"name": "Filter 4+ Star Dishes",
"type": "n8n-nodes-base.if",
"position": [
440,
0
],
"parameters": {
"conditions": {
"string": [
{
"value1": "{{$node['Google Sheets'].json['Status']}}",
"value2": "Pending"
},
{
"value1": "{{$node['Google Sheets'].json['Rating']}}",
"value2": 4,
"operation": "largerEqual"
}
]
}
},
"typeVersion": 1
},
{
"id": "0818f0bb-a769-4e64-a951-106dcd3b12c6",
"name": "AI Caption Generator",
"type": "n8n-nodes-base.openAi",
"position": [
660,
0
],
"parameters": {
"model": "gpt-3.5-turbo",
"prompt": "Generate a concise, engaging Pinterest caption for a food photo based on this customer feedback: '{{$node['Google Sheets'].json['Feedback']}}'. Keep it under 100 characters and include a positive tone.",
"options": {},
"requestOptions": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1e7a31cd-e6be-48f1-aad1-6af1c56ccbab",
"name": "Upload to Pinterest",
"type": "n8n-nodes-base.httpRequest",
"position": [
880,
0
],
"parameters": {
"url": "https://api.pinterest.com/v5/pins",
"options": {},
"requestMethod": "POST",
"authentication": "headerAuth",
"jsonParameters": true,
"bodyParametersJson": "{\"title\":\"{{$node['Google Sheets'].json['Pin Title']}}\",\"description\":\"{{$node['Generate Caption'].json['text']}}\",\"link\":\"{{$node['Google Sheets'].json['Destination URL']}}\",\"board_id\":\"{{$node['Google Sheets'].json['Board ID']}}\",\"media_source\":{\"source_type\":\"image_url\",\"url\":\"{{$node['Google Sheets'].json['Image URL']}}\"}}"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "cc06c3aa-e57a-4b01-9614-e2f5a4876dcf",
"name": "Mark as Posted in Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1100,
0
],
"parameters": {
"resource": "spreadsheet",
"operation": "update"
},
"credentials": {
"googleApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "62bec8d6-0535-425c-8151-af312a20e98e",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-260
],
"parameters": {
"color": 6,
"width": 180,
"height": 420,
"content": "Triggers the workflow at a scheduled time (e.g., once daily) to check for new food photos to post.\n\n"
},
"typeVersion": 1
},
{
"id": "007ca09a-8d6a-4fa3-b02b-a066cc9a8999",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-260
],
"parameters": {
"color": 3,
"width": 180,
"height": 420,
"content": "Filters only those food entries with high ratings (4 stars or above) and unposted status.\n\n"
},
"typeVersion": 1
},
{
"id": "107ef438-5954-4230-af66-b12ebaac449f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
-260
],
"parameters": {
"width": 180,
"height": 420,
"content": "Uses AI (e.g., GPT/OpenAI) to create engaging and relevant captions for selected food photos.\n\n"
},
"typeVersion": 1
},
{
"id": "2990e8da-40e2-47aa-959a-b1c70741aec4",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
840,
-260
],
"parameters": {
"color": 5,
"width": 180,
"height": 420,
"content": "Automatically posts the food photo with the generated caption to Pinterest via API.\n\n"
},
"typeVersion": 1
},
{
"id": "14b92980-38cc-47bf-8e03-f1d530f276b3",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1060,
-260
],
"parameters": {
"color": 3,
"width": 180,
"height": 420,
"content": "Updates the Google Sheet to reflect that the photo has been successfully shared.\n\n"
},
"typeVersion": 1
},
{
"id": "4997f1e2-a34f-4aa3-8580-a63042f4aac9",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-260
],
"parameters": {
"color": 4,
"width": 180,
"height": 420,
"content": "Retrieves rows from the Google Sheet that contain food photos and metadata like rating and status.\n\n"
},
"typeVersion": 1
},
{
"id": "ba50326f-70f6-4af4-a213-34752536cd40",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-520
],
"parameters": {
"width": 720,
"height": 140,
"content": "## Purpose: Automatically share highly-rated food photos from a spreadsheet to Pinterest with AI-generated captions, and mark them as posted."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "71cb591a-be5f-4ed4-adaf-a5df321d922c",
"connections": {
"Upload to Pinterest": {
"main": [
[
{
"node": "Mark as Posted in Sheet",
"type": "main",
"index": 0
}
]
]
},
"AI Caption Generator": {
"main": [
[
{
"node": "Upload to Pinterest",
"type": "main",
"index": 0
}
]
]
},
"Daily Post Scheduler": {
"main": [
[
{
"node": "Fetch Food Photos from Sheet",
"type": "main",
"index": 0
}
]
]
},
"Filter 4+ Star Dishes": {
"main": [
[
{
"node": "AI Caption Generator",
"type": "main",
"index": 0
}
]
]
},
"Fetch Food Photos from Sheet": {
"main": [
[
{
"node": "Filter 4+ Star Dishes",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleApihttpHeaderAuthopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
In this guide, we’ll walk you through setting up an AI-driven workflow that automatically processes highly-rated food photos from a Google Sheet, generates AI-powered captions, shares them to Pinterest, and updates the sheet to reflect the posts. Ready to automate your food…
Source: https://n8n.io/workflows/5989/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
AI Institutional Stock Valuation Engine with Risk Scoring & Scenario Targets
Overview This is a production-grade, fully automated stock analysis system built entirely in n8n. It combines institutional-level financial analysis, dual AI model consensus, and a self-improving back
This automation is a complete end-to-end system designed to find, qualify, and contact B2B leads — fully automated and powered by AI. Searches for target companies on LinkedIn via Ghost Genius API, us
This comprehensive n8n automation template orchestrates a complete end-to-end workflow for generating engaging short-form Point-of-View (POV) style videos using multiple AI services and automatically
A professional AI equity analysis automation built on n8n that transforms structured financial data and real-time news into disciplined, risk-adjusted price targets and actionable BUY/HOLD/SELL signal