Programación automática de Reels de Instagram usando Google Sheets, Drive y Cloudinary (zona horaria local)
Este es unSocial Mediaflujo de automatización del dominio deautomatización que contiene 14 nodos.Utiliza principalmente nodos como Set, Wait, GoogleDrive, HttpRequest, GoogleSheets. Publicación automática de Reels de Instagram usando Google Drive, Cloudinary y Sheets
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (14)
Categoría
{
"id": "JEi8YuD1uPNaoepv",
"meta": {
"instanceId": "2df08f928998d4e5d8b5a6b8a989bb8e91873e1415dd987955b920ab774cea97",
"templateCredsSetupCompleted": true
},
"name": "N0006_Schedule Instagram Reels (local timezone) with Google Sheets, Drive & Cloudinary",
"tags": [],
"nodes": [
{
"id": "0357178e-fb26-4964-8228-921f83aaef06",
"name": "Activador Programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-660,
200
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "8b542a21-1ee8-45d7-adbb-d1708b349355",
"name": "Obtener Ejecución para contenidos Instagram",
"type": "n8n-nodes-base.googleSheets",
"position": [
-420,
200
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "Reel",
"lookupColumn": "Type"
},
{
"lookupValue": "Scheduled to post",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1315784118,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TjZL_eWbs01DdRYs8pJNDr5UMXzYe8u311o6rVUwjdg/edit#gid=1315784118",
"cachedResultName": "Execute "
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1TjZL_eWbs01DdRYs8pJNDr5UMXzYe8u311o6rVUwjdg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TjZL_eWbs01DdRYs8pJNDr5UMXzYe8u311o6rVUwjdg/edit?usp=drivesdk",
"cachedResultName": "0006_Master"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "fYJtZaGhyPBxT6ua",
"name": "Google Drive/Sheet account"
}
},
"typeVersion": 4.6
},
{
"id": "f83b5a42-73b6-452a-998e-d7f47e73feb7",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-180,
60
],
"parameters": {
"width": 284,
"height": 354,
"content": "### Note: \nThe Google Drive folder needs to be shared publicly (Anyone with the link can view)"
},
"typeVersion": 1
},
{
"id": "32dc3be3-b6ba-41f4-af15-ac9e5f36ff58",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
340,
60
],
"parameters": {
"width": 304,
"height": 354,
"content": "After creating account and folder on Cloudinary, make sure to update the following:\n<your-cloud-name>\n<your_upload_preset>\nto match your settings"
},
"typeVersion": 1
},
{
"id": "288d81c8-3f6c-4404-9ad5-c70f28fae05f",
"name": "Configuración para Instagram (access token, ig_business_id)",
"type": "n8n-nodes-base.set",
"position": [
780,
200
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5b2dad43-2ec9-4bc0-8427-c9bab6a5fc2c",
"name": "access_token",
"type": "string",
"value": "<your-instagram-access-token>"
},
{
"id": "55b08009-fd62-44b8-b21e-6dde6aa9594f",
"name": "ig_user_id",
"type": "string",
"value": "<your-ig_user_id>"
},
{
"id": "53127a63-5583-4a5b-84bf-d2efd439af2b",
"name": "image_url",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "90a680ca-49c2-4b83-bbf4-45614e882c01",
"name": "caption",
"type": "string",
"value": "={{ $('Get video list from a Google Drive folder').item.json['Expected content'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "68f4f02d-011b-42cd-937f-6f2aa55d5f04",
"name": "Actualizar Ejecución a \"Procesado\"",
"type": "n8n-nodes-base.googleSheets",
"position": [
1620,
200
],
"parameters": {
"columns": {
"value": {
"Status": "Processed",
"ExecuteId": "={{ $json.ExecuteId }}"
},
"schema": [
{
"id": "ExecuteId",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ExecuteId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Folder",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Folder",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Expected content",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Expected content",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Language",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Language",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "schedule_at",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "schedule_at",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ExecuteId"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1315784118,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit#gid=1315784118",
"cachedResultName": "Execute "
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1vkawOzltRju_g313gM6ysbn-n2TkMrMtvwCfTizQU4Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vkawOzltRju_g313gM6ysbn-n2TkMrMtvwCfTizQU4Y/edit?usp=drivesdk",
"cachedResultName": "0005_Master"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "fYJtZaGhyPBxT6ua",
"name": "Google Drive/Sheet account"
}
},
"typeVersion": 4.6
},
{
"id": "ccad3cfd-4158-4ba7-bfb9-0855c5286e6e",
"name": "Descargar Video (Reel) desde Drive Google (Carrusel)",
"type": "n8n-nodes-base.httpRequest",
"position": [
180,
200
],
"parameters": {
"url": "=https://drive.google.com/uc?export=download&id={{ $json.id }}",
"options": {
"response": {
"response": {
"fullResponse": true,
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "988c111d-38c8-4e97-b962-db65d9731f39",
"name": "Subir videos a Cloudinary",
"type": "n8n-nodes-base.httpRequest",
"position": [
440,
200
],
"parameters": {
"url": "https://api.cloudinary.com/v1_1/<your-cloud-name>/video/upload",
"method": "POST",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
},
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "=data"
},
{
"name": "upload_preset",
"value": "<your_upload_preset>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "fed72c81-9760-4349-ad6d-7571083ec69a",
"name": "Crear Contenedor de Medios (Reels)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1040,
200
],
"parameters": {
"url": "=https://graph.instagram.com/v23.0/{{ $json.ig_user_id }}/media",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "video_url",
"value": "={{ $json.video_url }}"
},
{
"name": "caption",
"value": "={{ $json.caption }}"
},
{
"name": "access_token",
"value": "={{ $json.access_token }}"
},
{
"name": "media_type",
"value": "REELS"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "ec04e6e4-b2ec-4d0b-9642-ac016778b711",
"name": "Publicar Reels Instagram",
"type": "n8n-nodes-base.httpRequest",
"position": [
1400,
200
],
"parameters": {
"url": "=https://graph.instagram.com/v23.0/{{ $('Setup for Instagram (access token, ig_business_id)').first().json.ig_user_id }}/media_publish",
"method": "POST",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "creation_id",
"value": "={{ $json.body.id }}"
},
{
"name": "access_token",
"value": "={{ $('Setup for Instagram (access token, ig_business_id)').first().json.access_token }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8dec47fa-58a6-43c3-89da-769acc7818dc",
"name": "Esperar",
"type": "n8n-nodes-base.wait",
"position": [
1220,
200
],
"webhookId": "6756ecda-85e9-4fb7-8871-86fd12b1fa3c",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "4d87caa0-01fd-45b0-a1fc-b0cfda42278c",
"name": "Obtener lista de videos desde carpeta de Drive Google",
"type": "n8n-nodes-base.googleDrive",
"position": [
-80,
200
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "url",
"value": "={{ $json.Folder }}"
}
},
"options": {
"fields": [
"id",
"name",
"thumbnailLink",
"webViewLink"
]
},
"resource": "fileFolder",
"returnAll": true,
"queryString": "="
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "4TPyxdrYHCrliUg8",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "781d5f70-566f-4389-bac1-717fc41d3f14",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1620,
-220
],
"parameters": {
"width": 884,
"height": 1114,
"content": "# 📹 Instagram Reels Auto-Posting Workflow\n\nThis n8n workflow automates the process of downloading a video from Google Drive, uploading it to Cloudinary, and posting it as a Reel to Instagram.\n\n## 🧭 Flow Overview\n\n1. **Schedule Trigger** \n - Runs the workflow at regular intervals (e.g., hourly, daily).\n\n2. **Google Sheet: Get Scheduled Content** \n - Retrieves rows with Reel that are Scheduled to post. ([Sample link](https://docs.google.com/spreadsheets/d/1TjZL_eWbs01DdRYs8pJNDr5UMXzYe8u311o6rVUwjdg/edit?usp=sharing))\n\n3. **Google Drive: Get Video Info** \n - Note: The video folders need to be set as \"Anyone with the link can view\"\n\n4. **HTTP Request: Download Video** \n\n5. **HTTP Request: Upload to Cloudinary** \n\n6. **Set Instagram Post Data** \n - Prepares the following parameters:\n - `video_url`: from Cloudinary response\n - `caption`: from Google Sheet content\n - `access_token`, `ig_user_id`: from credentials or variables\n\n7. **HTTP Request: Create Media Container** \n\n8. **Wait** \n - Adds a short delay (e.g., 5 seconds) for media processing.\n\n9. **HTTP Request: Publish Reels** \n\n10. **Google Sheet: Update Status** \n - Marks the content as `Posted` or `Processed` in your spreadsheet.\n\n---\n\n## ⚙️ Example Setup\n\n- Google Drive: A shared folder with `.mp4` videos (The folders need to be set as \"Anyone with the link can view\"\n- Cloudinary: Active account with video upload preset\n- Instagram: Business account connected to Facebook Page\n- Sheets: A list of planned posts with columns like:\n - `Video Name`, `Type`, `Caption`, `Status`\n"
},
"typeVersion": 1
},
{
"id": "63c5ef3e-d582-4bc4-8ce5-d44d8cf57256",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
60
],
"parameters": {
"width": 304,
"height": 354,
"content": "Update your Instagram's access token and user_id:\n<your-instagram-access-token>\n<your-ig_user_id>\nto match your settings"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ce4fedad-e92f-4352-875e-6ca7044106ed",
"connections": {
"8dec47fa-58a6-43c3-89da-769acc7818dc": {
"main": [
[
{
"node": "ec04e6e4-b2ec-4d0b-9642-ac016778b711",
"type": "main",
"index": 0
}
]
]
},
"0357178e-fb26-4964-8228-921f83aaef06": {
"main": [
[
{
"node": "8b542a21-1ee8-45d7-adbb-d1708b349355",
"type": "main",
"index": 0
}
]
]
},
"ec04e6e4-b2ec-4d0b-9642-ac016778b711": {
"main": [
[
{
"node": "68f4f02d-011b-42cd-937f-6f2aa55d5f04",
"type": "main",
"index": 0
}
]
]
},
"988c111d-38c8-4e97-b962-db65d9731f39": {
"main": [
[
{
"node": "288d81c8-3f6c-4404-9ad5-c70f28fae05f",
"type": "main",
"index": 0
}
]
]
},
"fed72c81-9760-4349-ad6d-7571083ec69a": {
"main": [
[
{
"node": "8dec47fa-58a6-43c3-89da-769acc7818dc",
"type": "main",
"index": 0
}
]
]
},
"8b542a21-1ee8-45d7-adbb-d1708b349355": {
"main": [
[
{
"node": "4d87caa0-01fd-45b0-a1fc-b0cfda42278c",
"type": "main",
"index": 0
}
]
]
},
"4d87caa0-01fd-45b0-a1fc-b0cfda42278c": {
"main": [
[
{
"node": "ccad3cfd-4158-4ba7-bfb9-0855c5286e6e",
"type": "main",
"index": 0
}
]
]
},
"ccad3cfd-4158-4ba7-bfb9-0855c5286e6e": {
"main": [
[
{
"node": "988c111d-38c8-4e97-b962-db65d9731f39",
"type": "main",
"index": 0
}
]
]
},
"288d81c8-3f6c-4404-9ad5-c70f28fae05f": {
"main": [
[
{
"node": "fed72c81-9760-4349-ad6d-7571083ec69a",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Redes sociales
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Henry
@henryCompartir este flujo de trabajo