{
  "name": "Download watermark-free TikTok videos to Google Drive with automated sheets logging",
  "nodes": [
    {
      "id": "a1b4a7ad-efec-4a7c-a7d0-057b01cae303",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        840,
        580
      ]
    },
    {
      "id": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2520,
        380
      ]
    },
    {
      "id": "d069c2dc-7576-478f-8510-4beb55871bff",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1360,
        600
      ]
    },
    {
      "id": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1700,
        840
      ]
    },
    {
      "id": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
      "name": "Google Drive Set Permission",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2180,
        300
      ]
    },
    {
      "id": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
      "name": "Upload To Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1880,
        300
      ]
    },
    {
      "id": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
      "name": "Google Sheets Append Row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2180,
        840
      ]
    },
    {
      "id": "92be8d5e-d47f-40a3-b376-0266b0dfb736",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        300
      ],
      "parameters": {
        "width": null,
        "height": 500,
        "content": "## 🟢 **1. On form submission**\n- **Purpose:** Acts as the trigger for the workflow.  \n- **Functionality:** Displays a form with a single field (`URL`) where users can enter the TikTok video link.  \n- "
      }
    },
    {
      "id": "d4c2cf21-bd6a-4976-acc0-9646ab3a9715",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1020,
        300
      ],
      "parameters": {
        "width": null,
        "height": 500,
        "content": "## 🌐 **2. Tiktok RapidAPI Request**\n- **Purpose:** Fetch downloadable MP4 link.  \n- **Functionality:** Sends a `POST` request to **Tiktok Video Downloader API**, passing the URL from the form.  \n- **O"
      }
    },
    {
      "id": "c02f3615-b35d-4caf-a7e7-c326f53c9465",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1300,
        300
      ],
      "parameters": {
        "width": null,
        "height": 500,
        "content": "## 🔍 **3. If**\n- **Purpose:** Check for API errors.  \n- **Functionality:** Evaluates if the response contains an `error` field.  \n- **Output:** \n  - ✅ **True Path:** Proceeds to download the MP4.  \n  "
      }
    },
    {
      "id": "fe2137e0-14ad-4a31-8104-e451fd5510b0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        60
      ],
      "parameters": {
        "width": null,
        "height": 440,
        "content": "## ⬇️ **4. MP4 Downloader**\n- **Purpose:** Download the video file.  \n- **Functionality:** Uses the media URL from the previous API response to download the MP4 video.  \n- **Output:** Stores the raw M"
      }
    },
    {
      "id": "59292dcb-737c-4efb-9b22-8fb1e9a25274",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1820,
        60
      ],
      "parameters": {
        "width": null,
        "height": 400,
        "content": "## ☁️ **5. Upload To Google Drive**\n- **Purpose:** Store video in Google Drive.  \n- **Functionality:** Uploads the downloaded MP4 into the specified Drive folder.  \n- **Output:** Returns a file ID for"
      }
    },
    {
      "id": "6b72288e-a3f4-45cd-bade-54630124121e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2100,
        60
      ],
      "parameters": {
        "width": null,
        "height": 380,
        "content": "## 🔑 **6. Google Drive Set Permission**\n- **Purpose:** Make the file publicly accessible.  \n- **Functionality:** Sets file permissions to `Anyone with the link can view`.  \n- **Output:** Provides a sh"
      }
    },
    {
      "id": "48c35706-eb6e-4d20-8e2e-dd1b4de27b1a",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2440,
        80
      ],
      "parameters": {
        "width": null,
        "height": 460,
        "content": "## 📄 **7. Google Sheets**\n- **Purpose:** Log successful conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Tiktok link  \n  - `Drive_URL` → Sharable Google Drive MP4 link  \n- "
      }
    },
    {
      "id": "9d828c99-d634-4bd7-9478-66960a243aca",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        600
      ],
      "parameters": {
        "width": null,
        "height": 360,
        "content": "## ⏱️ **8. Wait**\n- **Purpose:** Delay before logging failures.  \n- **Functionality:** Pauses workflow execution to avoid instant sheet logging when API errors occur.  \n- **Output:** Prevents rapid co"
      }
    },
    {
      "id": "fc3a67e7-1822-4f0e-ae4d-bab35bf3b94d",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2100,
        480
      ],
      "parameters": {
        "width": null,
        "height": 480,
        "content": "## 📑 **9. Google Sheets Append Row**\n- **Purpose:** Log failed conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Tiktok link  \n  - `Drive_URL` → `N/A` (indicating download f"
      }
    },
    {
      "id": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
      "name": "MP4 Downloader",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1620,
        320
      ]
    },
    {
      "id": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
      "name": "TikTok RapidAPI Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1060,
        580
      ]
    },
    {
      "id": "4c89daff-9491-45b4-9d53-6231da674776",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        340
      ],
      "parameters": {
        "width": 720,
        "height": 560,
        "content": "# 📥 TikTok to MP4 Converter Automation\n\nThis **n8n** workflow automates the process of converting TikTok videos to MP4 format, uploading them to Google Drive, and logging the results into Google Sheet"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "MP4 Downloader",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Google Sheets Append Row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MP4 Downloader": {
      "main": [
        [
          {
            "node": "Upload To Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "TikTok RapidAPI Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload To Google Drive": {
      "main": [
        [
          {
            "node": "Google Drive Set Permission",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TikTok RapidAPI Request": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive Set Permission": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}