Planung von Instagram Reels mit Google Sheets, Drive und Cloudinary (lokale Zeitzone)

Fortgeschritten

Dies ist ein Social Media-Bereich Automatisierungsworkflow mit 14 Nodes. Hauptsächlich werden Set, Wait, GoogleDrive, HttpRequest, GoogleSheets und andere Nodes verwendet. Automatische Veröffentlichung von Instagram-Reels mit Google Drive, Cloudinary und Sheets

Voraussetzungen
  • Google Drive API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "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": "Zeitplan-Auslöser",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -660,
        200
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8b542a21-1ee8-45d7-adbb-d1708b349355",
      "name": "Ausführung für Instagram Inhalte abrufen",
      "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": "Kurznotiz1",
      "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": "Kurznotiz",
      "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": "Einrichtung für 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": "Ausführung als „Verarbeitet“ aktualisieren",
      "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": "Video (Reel) von Google Drive herunterladen (Karussell)",
      "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": "Videos zu Cloudinary hochladen",
      "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": "Media Container erstellen (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": "Instagram Reels veröffentlichen",
      "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": "Warten",
      "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": "Videoliste aus Google Drive-Ordner abrufen",
      "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": "Kurznotiz2",
      "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": "Kurznotiz3",
      "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
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Soziale Medien

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes14
Kategorie1
Node-Typen7
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34