Publicación automática en Instagram carrusel usando Google Sheets, Drive, Cloudinary y Graph API
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como Set, Aggregate, GoogleDrive, HttpRequest, GoogleSheets. Usar Google Sheets, Drive, Cloudinary y Graph API para publicar automáticamente carruseles de Instagram
- •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 (15)
Categoría
{
"meta": {
"instanceId": "0a25db4fd0692af64b58f35e01611f2ef0b5bb9d6654c57ef3741021e7d8cc11",
"templateId": "5833"
},
"nodes": [
{
"id": "f0c8b3af-13db-4fdd-8cbc-46986ca7dd18",
"name": "Obtener lista de imágenes de una carpeta de Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1824,
560
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get Execution for Carousel').item.json.Folder }}"
}
},
"options": {
"fields": [
"id",
"name",
"thumbnailLink",
"webViewLink"
]
},
"resource": "fileFolder",
"returnAll": true,
"queryString": "="
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "01wemhcagGbSGx8L",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "51f669e2-d933-47ce-9892-ba18bfaf92de",
"name": "Obtener ejecución para carrusel",
"type": "n8n-nodes-base.googleSheets",
"position": [
1600,
560
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "ToDo",
"lookupColumn": "Status"
},
{
"lookupValue": "Carousel",
"lookupColumn": "Type"
}
]
},
"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": "1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit?usp=drivesdk",
"cachedResultName": "0004_Master"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "cjPjcwa3RdiMAu79",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "8c2b669d-9185-469f-9084-7075ffce5a90",
"name": "Activador programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1376,
560
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "00027ef7-ece6-4b31-ad04-6508684b33ac",
"name": "Subir imágenes a Cloudinary",
"type": "n8n-nodes-base.httpRequest",
"position": [
2272,
560
],
"parameters": {
"url": "https://api.cloudinary.com/v1_1/<your-cloud-name>/image/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": "7b22ae20-73c9-44f0-8f87-673836a47a25",
"name": "Configurar Instagram (token de acceso, ig_business_id)",
"type": "n8n-nodes-base.set",
"position": [
1248,
832
],
"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 Execution for Carousel').item.json['Expected content'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8f7f2ba9-4157-40a2-8561-17e77c74baef",
"name": "Descargar imagen de Google Drive (Carrusel)",
"type": "n8n-nodes-base.httpRequest",
"position": [
2048,
560
],
"parameters": {
"url": "=https://drive.google.com/uc?export=download&id={{ $json.id }}",
"options": {
"response": {
"response": {
"fullResponse": true,
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "09cb809c-9997-413c-b94f-9203e80eaa1d",
"name": "Crear contenedor multimedia (Imagen)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1472,
832
],
"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": "image_url",
"value": "={{ $json.image_url }}"
},
{
"name": "caption",
"value": "={{ $json.caption }}"
},
{
"name": "access_token",
"value": "={{ $json.access_token }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d0453b3b-5c36-4a27-a808-65893674d451",
"name": "Combinar contenedores multimedia de Instagram",
"type": "n8n-nodes-base.aggregate",
"position": [
1696,
832
],
"parameters": {
"options": {
"mergeLists": true
},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "body.id"
}
]
}
},
"typeVersion": 1
},
{
"id": "04b3998b-3fb1-4128-a77c-7ea8029235a0",
"name": "Crear contenedor multimedia (Carrusel)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1920,
832
],
"parameters": {
"url": "=https://graph.instagram.com/v23.0/{{ $('Setup for Instagram (access token, ig_business_id)').first().json.ig_user_id }}/media",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "caption",
"value": "={{ $('Get Execution for Carousel').item.json['Expected content'] }}"
},
{
"name": "media_type",
"value": "=CAROUSEL"
},
{
"name": "children",
"value": "={{ $json.id }}"
},
{
"name": "access_token",
"value": "={{ $('Setup for Instagram (access token, ig_business_id)').first().json.access_token }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "662e0de0-26b0-4045-ae9e-e2f5b630419f",
"name": "Publicar carrusel de Instagram",
"type": "n8n-nodes-base.httpRequest",
"position": [
2144,
832
],
"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": "8f4ad80f-53e2-4c86-be4a-02f4f8bb630e",
"name": "Actualizar ejecución a \"Procesado\"",
"type": "n8n-nodes-base.googleSheets",
"position": [
2368,
832
],
"parameters": {
"columns": {
"value": {
"Status": "Processed",
"ExecuteId": "={{ $('Get Execution for Carousel').item.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": false,
"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": "1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit?usp=drivesdk",
"cachedResultName": "0004_Master"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "cjPjcwa3RdiMAu79",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "32b01069-b985-4647-abaa-ac667c38e79b",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
368
],
"parameters": {
"color": 4,
"width": 368,
"height": 144,
"content": "## STEP 1 · Schedule & Pick Jobs\n**Schedule Trigger** runs every X minutes.\n**Sheets (Execute)** filters rows: `Status=ToDo` + `Type=Carousel`.\nTip: use `ExecuteId` as the unique key for updates."
},
"typeVersion": 1
},
{
"id": "13b43b13-794e-4599-a6ab-e341970bdeb9",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1728,
368
],
"parameters": {
"color": 5,
"width": 336,
"content": "## STEP 2 · Collect Assets\n**Drive list** reads images from the Folder in the row.\n**HTTP download** fetches each file as binary.\nTip: private Drive files need OAuth download (or make them publicly readable)."
},
"typeVersion": 1
},
{
"id": "31ef9def-afe5-4a94-94e9-f3f487804021",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2176,
400
],
"parameters": {
"color": 6,
"width": 384,
"height": 128,
"content": "## STEP 3 · Host Images\n**Cloudinary upload** receives binary → returns URL.\nUse `secure_url` for Instagram.\nTip: prefer **signed uploads**; keep preset locked down."
},
"typeVersion": 1
},
{
"id": "ffb028a5-4b45-4e0b-ba99-0f48cd17ad31",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2496,
592
],
"parameters": {
"color": 7,
"height": 256,
"content": "## STEP 4 · IG Carousel & Log\n**Set IG vars** (token, user id, caption).\nCreate **media container** per image → **Aggregate IDs** → **Create carousel** → **Publish**.\nFinally **update Sheets**: `Status=Processed` for that `ExecuteId`."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"8c2b669d-9185-469f-9084-7075ffce5a90": {
"main": [
[
{
"node": "51f669e2-d933-47ce-9892-ba18bfaf92de",
"type": "main",
"index": 0
}
]
]
},
"51f669e2-d933-47ce-9892-ba18bfaf92de": {
"main": [
[
{
"node": "f0c8b3af-13db-4fdd-8cbc-46986ca7dd18",
"type": "main",
"index": 0
}
]
]
},
"662e0de0-26b0-4045-ae9e-e2f5b630419f": {
"main": [
[
{
"node": "8f4ad80f-53e2-4c86-be4a-02f4f8bb630e",
"type": "main",
"index": 0
}
]
]
},
"00027ef7-ece6-4b31-ad04-6508684b33ac": {
"main": [
[
{
"node": "7b22ae20-73c9-44f0-8f87-673836a47a25",
"type": "main",
"index": 0
}
]
]
},
"09cb809c-9997-413c-b94f-9203e80eaa1d": {
"main": [
[
{
"node": "d0453b3b-5c36-4a27-a808-65893674d451",
"type": "main",
"index": 0
}
]
]
},
"04b3998b-3fb1-4128-a77c-7ea8029235a0": {
"main": [
[
{
"node": "662e0de0-26b0-4045-ae9e-e2f5b630419f",
"type": "main",
"index": 0
}
]
]
},
"d0453b3b-5c36-4a27-a808-65893674d451": {
"main": [
[
{
"node": "04b3998b-3fb1-4128-a77c-7ea8029235a0",
"type": "main",
"index": 0
}
]
]
},
"f0c8b3af-13db-4fdd-8cbc-46986ca7dd18": {
"main": [
[
{
"node": "8f7f2ba9-4157-40a2-8561-17e77c74baef",
"type": "main",
"index": 0
}
]
]
},
"8f7f2ba9-4157-40a2-8561-17e77c74baef": {
"main": [
[
{
"node": "00027ef7-ece6-4b31-ad04-6508684b33ac",
"type": "main",
"index": 0
}
]
]
},
"7b22ae20-73c9-44f0-8f87-673836a47a25": {
"main": [
[
{
"node": "09cb809c-9997-413c-b94f-9203e80eaa1d",
"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 - Creación de contenido, IA Multimodal
¿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
Compartir este flujo de trabajo