This workflow corresponds to n8n.io template #7719 — we link there as the canonical source.
This workflow follows the Google Drive → 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": "sApDhrCJFPIl0wdv",
"tags": [],
"nodes": [
{
"id": "0bd4a770-9b16-4b30-836d-0013a530c3f5",
"name": "Settings",
"type": "n8n-nodes-base.set",
"position": [
-1680,
256
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "108afa46-571b-4e15-ab1a-bfb03ac7972b",
"name": "telegram_chat_id",
"type": "string",
"value": "YOUR_TELEGRAM_CHAT_ID"
},
{
"id": "0937ebce-93ae-45c3-89f4-1594f9eb39dd",
"name": "wait_in_seconds",
"type": "number",
"value": 1
},
{
"id": "ed0ae7de-b9c3-4ad6-82d4-d288b22c06d7",
"name": "image_base_url",
"type": "string",
"value": "i.redd.it"
},
{
"id": "5c6cd357-d78b-4b40-acc6-9d3ba966ea5f",
"name": "subreddits_array",
"type": "array",
"value": "=[\n 'subreddit1',\n 'subreddit2',\n 'subreddit3'\n]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ae4f40b1-2401-4d90-a454-79e60e39ea6d",
"name": "Loop Posts",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-672,
256
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "9494edb5-de72-409b-ac68-64c9039098da",
"name": "Is a new image?",
"type": "n8n-nodes-base.if",
"position": [
224,
464
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cfd7c29e-864b-4241-a089-b633eac3fef1",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $('Search image in drive').item.json.id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "44c886f4-09ac-46e9-8e9d-eb9751337fc8",
"name": "Download image",
"type": "n8n-nodes-base.httpRequest",
"position": [
448,
464
],
"parameters": {
"url": "={{ $('Image variables').item.json.image_url }}",
"options": {
"response": {
"response": {
"responseFormat": "file",
"outputPropertyName": "image"
}
}
},
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "image/webp,image/apng,image/*,*/*;q=0.8"
}
]
},
"nodeCredentialType": "redditOAuth2Api"
},
"credentials": {
"redditOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "131453d7-6485-419b-afb7-a59f68719625",
"name": "Upload image to drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
672,
528
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
"cachedResultUrl": "https://drive.google.com/drive/folders/1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
"cachedResultName": "teste memes"
},
"inputDataFieldName": "image"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "0e0a5979-4f79-4471-a5e7-f5d115239280",
"name": "Image variables",
"type": "n8n-nodes-base.set",
"position": [
-224,
384
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "21de95d6-92b3-467b-9a7f-90aa256d99d2",
"name": "image_url",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "4a6236f2-dd29-49dd-a10b-bf2f1b7fef09",
"name": "image_name",
"type": "string",
"value": "={{ $json.url.split(\"/\")[3] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2df122fc-8687-4a1e-af60-f78355f9e9f2",
"name": "Search image in drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
0,
384
],
"parameters": {
"limit": 1,
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
"cachedResultUrl": "https://drive.google.com/drive/folders/1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
"cachedResultName": "teste memes"
},
"whatToSearch": "files"
},
"options": {},
"resource": "fileFolder",
"queryString": "={{ $json.image_name }}"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "23e525af-815f-4fe6-b50f-43820ffb5050",
"name": "Keep only images",
"type": "n8n-nodes-base.filter",
"position": [
-896,
256
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "47d10e15-795b-449a-ac76-262b0850ae3d",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.url.split(\"/\")[2] }}",
"rightValue": "={{ $('Settings').item.json.image_base_url }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "140b6db8-d088-4429-bbe1-03c01cccbe31",
"name": "Get Reddit posts",
"type": "n8n-nodes-base.reddit",
"position": [
-1120,
256
],
"parameters": {
"filters": {
"category": "new"
},
"operation": "getAll",
"subreddit": "={{ $('Get random subreddit').item.json.subreddit }}"
},
"credentials": {
"redditOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "81ad2196-6e73-4464-94ad-e546dd620337",
"name": "Get random subreddit",
"type": "n8n-nodes-base.code",
"position": [
-1344,
256
],
"parameters": {
"jsCode": "const subreddits = $input.first().json.subreddits_array\nconst randomIndex = Math.floor(Math.random() * subreddits.length)\nconst subreddit = subreddits[randomIndex]\n\nreturn [{ json: { subreddit } }]"
},
"typeVersion": 2
},
{
"id": "189789a1-9107-4055-8f4f-c8440f461b12",
"name": "Wait between requests",
"type": "n8n-nodes-base.wait",
"position": [
-448,
384
],
"parameters": {
"amount": "={{ $('Settings').item.json.wait_in_seconds }}"
},
"typeVersion": 1.1
},
{
"id": "28fac7ac-64d4-4b46-91c6-5ddc270ba863",
"name": "Keep only new images",
"type": "n8n-nodes-base.filter",
"position": [
-448,
96
],
"parameters": {
"options": {
"ignoreCase": false
},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "baa17736-88f3-43d4-9642-94b8b06c9e18",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.createdTime }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2,
"alwaysOutputData": true
},
{
"id": "2d9d65fe-45cf-46d9-872d-393f5e5229b2",
"name": "Have new images?",
"type": "n8n-nodes-base.if",
"position": [
-16,
96
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d04db27a-065b-47c3-aec6-1b144f3621e8",
"operator": {
"type": "array",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.new_images }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "866be212-97a2-4121-9208-9245fe0a8d8a",
"name": "Aggregate new images",
"type": "n8n-nodes-base.aggregate",
"position": [
-224,
96
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "new_images"
},
"typeVersion": 1
},
{
"id": "b353f3c6-a1ea-4759-9616-00567be7c5d0",
"name": "Notify on Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
224,
0
],
"parameters": {
"text": "={{ $json.new_images.length }} new images downloaded from Reddit",
"chatId": "={{ $('Settings').item.json.telegram_chat_id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "a27568e7-2e17-44f0-a6e9-61017565926f",
"name": "Send no new images text",
"type": "n8n-nodes-base.telegram",
"position": [
224,
176
],
"parameters": {
"text": "=No new images downloaded from Reddit",
"chatId": "={{ $('Settings').item.json.telegram_chat_id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "e2974ffa-3942-444b-bde3-30881e1c9675",
"name": "Cron",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-2016,
256
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "d2eb37ad-0c06-4e9a-acb4-4a79d93d54c4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2480,
-320
],
"parameters": {
"width": 400,
"height": 736,
"content": "## \ud83d\udd04 How It Works\n\nWorkflow execution flow:\n\n1. \ud83d\udd50 Cron trigger starts the process\n2. \ud83c\udfb2 Randomly selects a subreddit from your list\n3. \ud83d\udce5 Fetches latest 30 posts from 'new' category\n4. \ud83d\uddbc\ufe0f Filters posts to keep only i.redd.it images\n5. \ud83d\udd0d Checks Google Drive for existing images\n6. \u2b07\ufe0f Downloads only new/unseen images\n7. \ud83d\udce4 Uploads new images to specified Drive folder\n8. \ud83d\udcf1 Sends Telegram notification with results\n\n\u26a1 **Smart duplicate prevention saves bandwidth!**\n\n## \ud83d\udd10 Required Credentials\n\nSet up these credential connections:\n\n**1\ufe0f\u20e3 Reddit OAuth2 API:**\n\u2022 Create Reddit app at reddit.com/prefs/apps\n\u2022 Use 'script' type application\n\u2022 Note Client ID and Secret\n\n**2\ufe0f\u20e3 Google Drive OAuth2:**\n\u2022 Enable Google Drive API in Google Cloud Console\n\u2022 Create OAuth2 credentials\n\u2022 Set appropriate scopes for file upload\n\n**3\ufe0f\u20e3 Telegram Bot API:**\n\u2022 Create bot via @BotFather on Telegram\n\u2022 Get bot token and your chat ID\n\u2022 Test with /start command"
},
"typeVersion": 1
},
{
"id": "afd62df4-fc7b-41a9-9aa0-16808d05a7ab",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2064,
-320
],
"parameters": {
"width": 272,
"height": 112,
"content": "# \ud83d\udccc Follow me:\n## [LinkedIn](https://www.linkedin.com/in/vikthyr)"
},
"typeVersion": 1
},
{
"id": "314b4db5-4261-4395-b071-5cb7be9395c2",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-96
],
"parameters": {
"color": 7,
"width": 432,
"height": 512,
"content": "## \u2699\ufe0f Configuration Settings\n\nUpdate these variables in the Settings node:\n\n\ud83d\udd27 **Required Configuration:**\n\u2022 `telegram_chat_id`: Your Telegram chat ID for notifications\n\u2022 `subreddits_array`: List of subreddits to monitor\n Example: `['memes', 'funny', 'pics']`\n\n\u23f1\ufe0f **Optional Settings:**\n\u2022 `wait_in_seconds`: Delay between requests (0.1s default)\n\u2022 `image_base_url`: Reddit image domain (i.redd.it)\n\n\ud83d\udca1 **Tip:** Keep wait time low but respect Reddit's rate limits!"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "7f64bba8-8e4f-48f5-9411-e8618d8ff587",
"connections": {
"Cron": {
"main": [
[
{
"node": "Settings",
"type": "main",
"index": 0
}
]
]
},
"Settings": {
"main": [
[
{
"node": "Get random subreddit",
"type": "main",
"index": 0
}
]
]
},
"Loop Posts": {
"main": [
[
{
"node": "Keep only new images",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait between requests",
"type": "main",
"index": 0
}
]
]
},
"Download image": {
"main": [
[
{
"node": "Upload image to drive",
"type": "main",
"index": 0
}
]
]
},
"Image variables": {
"main": [
[
{
"node": "Search image in drive",
"type": "main",
"index": 0
}
]
]
},
"Is a new image?": {
"main": [
[
{
"node": "Download image",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Posts",
"type": "main",
"index": 0
}
]
]
},
"Get Reddit posts": {
"main": [
[
{
"node": "Keep only images",
"type": "main",
"index": 0
}
]
]
},
"Have new images?": {
"main": [
[
{
"node": "Notify on Telegram",
"type": "main",
"index": 0
}
],
[
{
"node": "Send no new images text",
"type": "main",
"index": 0
}
]
]
},
"Keep only images": {
"main": [
[
{
"node": "Loop Posts",
"type": "main",
"index": 0
}
]
]
},
"Aggregate new images": {
"main": [
[
{
"node": "Have new images?",
"type": "main",
"index": 0
}
]
]
},
"Get random subreddit": {
"main": [
[
{
"node": "Get Reddit posts",
"type": "main",
"index": 0
}
]
]
},
"Keep only new images": {
"main": [
[
{
"node": "Aggregate new images",
"type": "main",
"index": 0
}
]
]
},
"Search image in drive": {
"main": [
[
{
"node": "Is a new image?",
"type": "main",
"index": 0
}
]
]
},
"Upload image to drive": {
"main": [
[
{
"node": "Loop Posts",
"type": "main",
"index": 0
}
]
]
},
"Wait between requests": {
"main": [
[
{
"node": "Image variables",
"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.
googleDriveOAuth2ApiredditOAuth2ApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automatically monitors Reddit subreddits for new image posts and downloads them to Google Drive. It's perfect for content creators, meme collectors, or anyone who wants to automatically archive images from their favorite subreddits without manual work.
Source: https://n8n.io/workflows/7719/ — 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.
MindFrame Psychology - Daily YouTube Shorts (Complete). Uses httpRequest, googleDrive, youtube, telegram. Scheduled trigger; 26 nodes.
MindFrame Psychology - Daily YouTube Shorts (FIXED). Uses httpRequest, googleDrive, youtube, telegram. Scheduled trigger; 25 nodes.
Code Schedule. Uses reddit, splitInBatches, httpRequest, convertToFile. Scheduled trigger; 29 nodes.
What This Workflow Does: Monitors your YouTube channel for new videos Downloads and processes video transcripts Uses AI to generate multiple content formats Automatically publishes to various platform
How it works