AutomationFlowsWeb Scraping › Exporting Tawk.to Help Center Articles to Google Drive as Markdown Files

Exporting Tawk.to Help Center Articles to Google Drive as Markdown Files

ByPedro Entringer @pedroentringer on n8n.io

Transform the way you manage your knowledge base with this fully automated N8N workflow! This automation connects directly to your Tawk.to Help Center, reads all published categories and articles, converts them to Markdown () format, and uploads each file to Google Drive

Event trigger★★★★☆ complexity19 nodesHTTP RequestGoogle Drive
Web Scraping Trigger: Event Nodes: 19 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #9785 — 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 →

Download .json
{
  "id": "ke6yxwTcckewqPHu",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Export Tawk.to Help Center Articles to Google Drive as Markdown Files",
  "tags": [],
  "nodes": [
    {
      "id": "9770c9f4-d4f1-43fe-8387-f38139f31324",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -384,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "33a657d2-0a87-4d82-8fb0-1b6326442cd8",
      "name": "set-website",
      "type": "n8n-nodes-base.set",
      "position": [
        -96,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5e0dded0-fcec-43a6-a04a-a55b989916a1",
              "name": "website",
              "type": "string",
              "value": "https://meurastreio.tawk.help"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ec165cd0-5314-4219-9578-2ede97ce0715",
      "name": "flat-categories",
      "type": "n8n-nodes-base.code",
      "position": [
        576,
        0
      ],
      "parameters": {
        "jsCode": "return $input.first().json.categories.map(category => ({category}))"
      },
      "typeVersion": 2
    },
    {
      "id": "182e4ae5-96ac-4131-9cc8-eb7088e9827b",
      "name": "website-category",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        784,
        0
      ],
      "parameters": {
        "url": "={{ $('set-website').item.json.website }}{{ $json.category }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "00d061cd-a7e2-4d4c-a3dd-c1933db66d06",
      "name": "find-categories",
      "type": "n8n-nodes-base.html",
      "position": [
        368,
        0
      ],
      "parameters": {
        "options": {
          "trimValues": true
        },
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "categories",
              "attribute": "href",
              "cssSelector": ".category-block > a",
              "returnArray": true,
              "returnValue": "attribute"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "60dff3dc-3bd6-4b3a-ba75-1517c2d3c32f",
      "name": "find-category-articles",
      "type": "n8n-nodes-base.html",
      "position": [
        1040,
        0
      ],
      "parameters": {
        "options": {
          "trimValues": true
        },
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "articles",
              "attribute": "href",
              "cssSelector": ".article-block > a",
              "returnArray": true,
              "returnValue": "attribute"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a4584b98-16fd-4e9a-a1f8-cbde40534c09",
      "name": "flat-articles",
      "type": "n8n-nodes-base.code",
      "position": [
        1296,
        0
      ],
      "parameters": {
        "jsCode": "const articles = []\n\nfor (const item of $input.all()) {\n  for(const article of item.json.articles){\n    articles.push({\n      json: { \n        name: article.split('/').filter(Boolean).join('-'),\n        articleUri: $('set-website').first().json.website + article \n      }, \n      pairedItem: { item: item.binary }\n    })\n  }\n}\n\nreturn articles\n\n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "e50f7dd2-f49d-41a1-9417-23c3249de3c4",
      "name": "website-article",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2432,
        48
      ],
      "parameters": {
        "url": "={{ $('Loop Over Items').item.json.articleUri }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "13b9fce6-14b3-4cec-a422-bd39ae48b8c9",
      "name": "extract-article-content",
      "type": "n8n-nodes-base.html",
      "position": [
        2656,
        48
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "article",
              "cssSelector": "#article-wrapper",
              "returnValue": "html"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9b783e77-8acb-4464-8b9f-80fa12a2b030",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1616,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "dde825bd-056d-40d2-911b-95a08f47c495",
      "name": "Create file from text",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3136,
        48
      ],
      "parameters": {
        "name": "={{ $('Loop Over Items').item.json.name }}.md",
        "content": "={{ $json.data }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1VbQVYn33euu9WFDGTFUr965hmH208uJE",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1VbQVYn33euu9WFDGTFUr965hmH208uJE",
          "cachedResultName": "Meu Rastreio - Tutoriais"
        },
        "operation": "createFromText",
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7218b9c2-1ed3-4fba-ab3c-32b2b7f82029",
      "name": "Search files and folders",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1872,
        16
      ],
      "parameters": {
        "limit": 1,
        "filter": {
          "whatToSearch": "files"
        },
        "options": {},
        "resource": "fileFolder",
        "queryString": "={{ $json.name }}.md",
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3,
      "alwaysOutputData": true
    },
    {
      "id": "8d1d59fe-cf7a-4ac3-8197-38eafdfcea22",
      "name": "is-duplicated",
      "type": "n8n-nodes-base.if",
      "position": [
        2112,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "29838975-b461-487b-9816-bbde1c8a7d20",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": ""
            },
            {
              "id": "d9123821-9426-49e7-b042-4adbc609e44f",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": "={{ $('flat-articles').item.json.name }}.md"
            },
            {
              "id": "e7406be1-22a7-4ce1-a58d-ee1adcc86817",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": 1,
              "rightValue": 1
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a272f41d-2857-4a65-8377-5763020a81a2",
      "name": "Config",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -160
      ],
      "parameters": {
        "width": 288,
        "height": 480,
        "content": "# Config\nPut your website to extract here"
      },
      "typeVersion": 1
    },
    {
      "id": "b184ceb0-8987-4614-b5d5-b2e22df0e19c",
      "name": "Search",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -160
      ],
      "parameters": {
        "color": 5,
        "width": 1328,
        "height": 480,
        "content": "# Search Process\n1) Here we'll find all articles on your website\n2) Extract all urls"
      },
      "typeVersion": 1
    },
    {
      "id": "cb1ef077-b03e-4933-812d-b399b3d1c473",
      "name": "Extraction",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1456,
        -160
      ],
      "parameters": {
        "color": 4,
        "width": 1984,
        "height": 480,
        "content": "# Extraction\n1) For this you have to configure your Google Drive Access\n2) We'll extract all HTMl content\n3) Conversion for Markdown\n4) Upload to Google Drive"
      },
      "typeVersion": 1
    },
    {
      "id": "b8830bcc-6cd8-4628-a1ee-3b876da291fb",
      "name": "Workflow Information",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1008,
        -208
      ],
      "parameters": {
        "color": 4,
        "width": 528,
        "height": 560,
        "content": "# \u2699\ufe0f How the Workflow Works\n\nThe Tawk Help Export workflow in n8n automates the export of all articles from the Tawk.to Help Center to Google Drive, converting each page into a Markdown (.md) file.\n\nStart: The process begins manually by clicking \u201cExecute Workflow.\u201d\n\nCollection: It accesses the Help Center, identifies all categories, and retrieves every article inside them.\n\nExtraction: Each article\u2019s HTML content is fetched and converted into Markdown, preserving images.\n\nVerification: The system checks Google Drive to avoid creating duplicate files.\n\nExport: New articles are automatically saved to the \u201cMeu Rastreio - Tutoriais\u201d folder.\n\nThe result is a complete and organized backup of all Tawk.to Help Center articles \u2014 fully automated."
      },
      "typeVersion": 1
    },
    {
      "id": "ae2caf7b-64bc-41f1-8af7-045b6eac6759",
      "name": "get-website-home",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        144,
        0
      ],
      "parameters": {
        "url": "={{ $json.website }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "35a3545d-d8b9-41fe-8aa1-cca237e920a6",
      "name": "convert-to-markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        2896,
        48
      ],
      "parameters": {
        "html": "={{ $json.article }}",
        "options": {
          "keepDataImages": true
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "36c112e7-cea7-425f-a84f-1f21a3c068e2",
  "connections": {
    "set-website": {
      "main": [
        [
          {
            "node": "get-website-home",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "flat-articles": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "is-duplicated": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "website-article",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Search files and folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "find-categories": {
      "main": [
        [
          {
            "node": "flat-categories",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "flat-categories": {
      "main": [
        [
          {
            "node": "website-category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "website-article": {
      "main": [
        [
          {
            "node": "extract-article-content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get-website-home": {
      "main": [
        [
          {
            "node": "find-categories",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "website-category": {
      "main": [
        [
          {
            "node": "find-category-articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "convert-to-markdown": {
      "main": [
        [
          {
            "node": "Create file from text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create file from text": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "find-category-articles": {
      "main": [
        [
          {
            "node": "flat-articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "extract-article-content": {
      "main": [
        [
          {
            "node": "convert-to-markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search files and folders": {
      "main": [
        [
          {
            "node": "is-duplicated",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "set-website",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Transform the way you manage your knowledge base with this fully automated N8N workflow! This automation connects directly to your Tawk.to Help Center, reads all published categories and articles, converts them to Markdown () format, and uploads each file to Google Drive

Source: https://n8n.io/workflows/9785/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

This automation organizes your n8n workflows files into categorizes (Active, Template, Done, Archived) and uploads them directly to a categorized Google Drive folders. It is designed to help users man

Google Drive, HTTP Request, Time Saved
Web Scraping

This automation organizes and consolidates your n8n workflows into categorized JSON files (Active, Template, Done, Archived) and uploads them directly to a Google Drive folder. It is designed to help

Google Drive, Time Saved, HTTP Request
Web Scraping

The Sora 2 API allows seamless generation of CGI ads, turning text prompts into stunning videos. This workflow automates the entire process from video generation to upload, notification, and file shar

Form Trigger, HTTP Request, Email Send +1
Web Scraping

Formtrigger Workflow. Uses formTrigger, googleDrive, httpRequest, stopAndError. Event-driven trigger; 28 nodes.

Form Trigger, Google Drive, HTTP Request +1
Web Scraping

Formtrigger Workflow. Uses formTrigger, googleDrive, httpRequest, stopAndError. Event-driven trigger; 28 nodes.

Form Trigger, Google Drive, HTTP Request +1