{
  "id": "d2wBhCQb4NmmVxvP",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "GitHub User Activity & Data Scraper (Data Enrichment Engine)",
  "tags": [],
  "nodes": [
    {
      "id": "9622f349-2793-4b86-8cf4-0892dc420273",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        64,
        -16
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6920fa53-2dd0-4e7c-8c7c-59eda7951047",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        192,
        -16
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1185614504,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit#gid=1185614504",
          "cachedResultName": "Source Top GitHub Contributors by Language & Location"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit?usp=drivesdk",
          "cachedResultName": "Test For BrowserAct"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "c5998bf0-55a7-4837-a6c2-fc2da9d63729",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        336,
        -16
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9ffc5569-0d41-48ff-a3b0-9bd73a89d011",
      "name": "Run a workflow task",
      "type": "n8n-nodes-browseract-workflows.browserAct",
      "position": [
        496,
        0
      ],
      "parameters": {
        "workflowId": "57481883835648378",
        "inputParameters": {
          "parameters": [
            {
              "name": "Target_Page",
              "value": "={{ $json.URL }}"
            }
          ]
        },
        "additionalFields": {}
      },
      "credentials": {
        "browserActApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d1ec986d-a88c-4cfe-8657-8d66bd12ec54",
      "name": "Get details of a workflow task",
      "type": "n8n-nodes-browseract-workflows.browserAct",
      "position": [
        656,
        0
      ],
      "parameters": {
        "taskId": "={{ $json.id }}",
        "operation": "getTask",
        "maxWaitTime": 900,
        "waitForFinish": true,
        "pollingInterval": 20
      },
      "credentials": {
        "browserActApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "769ae773-ce8c-4f47-b06f-4b7fc8a420e4",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        0
      ],
      "parameters": {
        "jsCode": "// This code fixes malformed JSON strings and merges the contents into a single object.\n\n// 1. Get the raw, potentially broken string from the previous node.\nconst rawJsonString = $input.first().json.output.string;\n\n// 2. **CRITICAL FIX STEP**: Add missing quotes around keys.\n// This regex finds keys like {key: or ,key: and changes them to {\"key\":\n// This repairs the common error made by the agent.\nconst fixedJsonString = rawJsonString.replace(/([{,])\\s*([a-zA-Z0-9_]+)\\s*:/g, '$1\"$2\":');\n\nconst mergedObject = {};\n\ntry {\n  // 3. Parse the *fixed* string into a real JavaScript array.\n  const dataArray = JSON.parse(fixedJsonString);\n\n  // 4. Loop through the array and merge all objects into one.\n  for (const item of dataArray) {\n    Object.assign(mergedObject, item);\n  }\n\n  // 5. **Handle Nested Strings**: After merging, check all values.\n  // If any value is a string that looks like JSON, parse it too.\n  for (const key in mergedObject) {\n    const value = mergedObject[key];\n    if (typeof value === 'string') {\n      const trimmedValue = value.trim();\n      if ((trimmedValue.startsWith('[') && trimmedValue.endsWith(']')) || (trimmedValue.startsWith('{') && trimmedValue.endsWith('}'))) {\n        try {\n          // If it looks like JSON, parse it and replace the string.\n          mergedObject[key] = JSON.parse(trimmedValue);\n        } catch (e) {\n          // If parsing fails, it's not valid JSON. Leave it as a string.\n        }\n      }\n    }\n  }\n\n} catch (error) {\n  // If the string is still not valid JSON after the fix, this will prevent a crash.\n  throw new Error('The input text could not be parsed as JSON, even after attempting a fix. Error: ' + error.message);\n}\n\n// 6. Return the final, single, merged item.\nreturn [{\n  json: mergedObject\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "6a78e820-11aa-430b-8e42-b61a13604fbb",
      "name": "Create sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        992,
        -144
      ],
      "parameters": {
        "title": "={{ $json.Name }}",
        "options": {},
        "operation": "create",
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "9e702ed4-c37a-40d2-9745-48d386fdda92",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1504,
        -16
      ],
      "parameters": {
        "mode": "chooseBranch",
        "useDataOfInput": 2
      },
      "typeVersion": 3.2
    },
    {
      "id": "bcf8c1b2-4e65-4449-9975-9185061734d5",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1712,
        -96
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "Links"
      },
      "typeVersion": 1
    },
    {
      "id": "504c3e1f-e3ce-46df-b576-2bc7c785a45a",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1712,
        -240
      ],
      "parameters": {
        "include": "selectedOtherFields",
        "options": {},
        "fieldToSplitOut": "Name",
        "fieldsToInclude": "Username, Summary, Location"
      },
      "typeVersion": 1
    },
    {
      "id": "07cca20e-cf62-466d-8318-324c9ddfe3a3",
      "name": "Split Out2",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1712,
        64
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "Repositories"
      },
      "typeVersion": 1
    },
    {
      "id": "2a344e96-bea8-4829-b272-8ae9c1c53f11",
      "name": "Clear sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1216,
        -144
      ],
      "parameters": {
        "operation": "clear",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Code in JavaScript').item.json.Name }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.7
    },
    {
      "id": "b0e73398-0477-49c7-bb74-955f22c1aebb",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1104,
        -144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "871bd1a1-b2fd-447b-a50b-bddd7e5bd296",
              "name": "Name",
              "type": "string",
              "value": ""
            },
            {
              "id": "3fc833ec-3565-4a2e-9deb-db97cd53c883",
              "name": "Username",
              "type": "string",
              "value": ""
            },
            {
              "id": "431a0193-09b7-4bd5-9bb4-126a707823e6",
              "name": "Location",
              "type": "string",
              "value": ""
            },
            {
              "id": "80c0fff6-a932-488a-97ca-1731a115cc60",
              "name": "Site",
              "type": "string",
              "value": ""
            },
            {
              "id": "a031b9b9-0ba6-4816-ad53-1d894be77098",
              "name": "link",
              "type": "string",
              "value": ""
            },
            {
              "id": "2fa0be7b-a90c-4e94-a155-ed858a079bc3",
              "name": "Title",
              "type": "string",
              "value": ""
            },
            {
              "id": "f6179556-b5da-447f-bd9d-fa4f4fec010b",
              "name": "Summary",
              "type": "string",
              "value": ""
            },
            {
              "id": "181129b3-5bd9-4dec-8631-0f13efccd069",
              "name": "Date",
              "type": "string",
              "value": ""
            },
            {
              "id": "1de86602-919d-48e3-9d65-1e6e9157461a",
              "name": "Programing Language",
              "type": "string",
              "value": ""
            },
            {
              "id": "13a6a2db-41f7-4033-aafa-aff41eea112b",
              "name": "Stars",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "0429c95a-48d5-415e-b7e8-f3bf381a2258",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1344,
        -144
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $('Edit Fields').item.json.Name }}",
            "Summary": "=",
            "Username": "={{ $('Edit Fields').item.json.Username }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repositories_Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Repositories_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Code in JavaScript').item.json.Name }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.7
    },
    {
      "id": "7138b038-224a-44a9-ab25-833d8a51efa3",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        2176,
        16
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "bcb7fd00-f127-4d41-a16f-932b476f35c2",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        656,
        -160
      ],
      "parameters": {
        "text": "Users Data Scrapped from Github",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09KLV9DJSX",
          "cachedResultName": "all-browseract-workflow-test"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "caa62914-30ea-44f9-943a-f5fb6c692bd4",
      "name": "Sticky Note - Intro",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        224
      ],
      "parameters": {
        "width": 832,
        "height": 428,
        "content": "## Try It Out!\n### This template is a sophisticated data enrichment tool that scrapes detailed GitHub user profiles and organizes the information into dedicated, structured reports.\n### How it works\n* The workflow is triggered **manually** or on a **schedule**.\n* It reads a list of target GitHub user profiles from a master **Google Sheet**.\n* It then **loops** through each user, processing them one at a time.\n* A **Slack** notification is sent to announce the start of each user scrape.\n* A **BrowserAct** node visits the user's GitHub page and scrapes all available data, including profile info, repositories, and social links.\n* A **Code** node parses and consolidates the scraped data into a single object.\n* The workflow then dynamically **creates and formats a new sheet** for that user in a separate Google Sheets file.\n* Finally, it **splits and writes** the user's data (Profile, Repositories, Links) into the newly created sheet, creating a clean report.\n### Requirements\n* **BrowserAct** API account for web scraping.\n* **BrowserAct** n8n Community Node -> ([n8n Nodes BrowserAct](https://www.npmjs.com/package/n8n-nodes-browseract-workflows))\n* **Google Sheets** credentials for input and output.\n* **Slack** credentials for sending notifications.\n* A BrowserAct template named **\u201cScraping GitHub Users Activity & Data (Based on Source Top GitHub Contributors by Language & Location)\u201d**.\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/UpnCKd7GaU) or Visit Our [Blog](https://www.browseract.com/blog)!\n"
      },
      "typeVersion": 1
    },
    {
      "id": "df0792c8-a299-4d62-9514-8168de2f7558",
      "name": "Sticky Note - How to Use",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        224
      ],
      "parameters": {
        "width": 592,
        "height": 260,
        "content": "## How to use\n\n1.  **Set up Credentials:** Add your credentials for **BrowserAct**, **Google Sheets**, and **Slack**.\n\n2.  **Set up BrowserAct Template:** Ensure you Use the **\u201cScraping GitHub Users Activity & Data (Based on Source Top GitHub Contributors by Language & Location)\u201d** template in your BrowserAct account.\n\n3.  **Prepare Your Input Sheet:** In the first 'Get row(s) in sheet' node, point it to your master list of candidates. This sheet must have a column named `URL` containing the link to each GitHub profile. You can use **\"Source Top GitHub Contributors by Language & Location\"** to Get User Data and Save it TO Google Sheet\n\n4.  **Set Slack Channel:** Update the **Channel ID** in the **Slack** node to your desired alerts channel.\n\n5.  **Activate Workflow:** Manually trigger the workflow or activate it to run on the defined schedule."
      },
      "typeVersion": 1
    },
    {
      "id": "2e7e3eae-b57f-4fd7-8cd2-5c7efa7607bd",
      "name": "Sticky Note - Need Help",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        496
      ],
      "parameters": {
        "width": 592,
        "height": 152,
        "content": "### Need Help?\n* #### [How to Find Your BrowseAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* #### [How to Connect n8n to Browseract](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* #### [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)\n* #### [How to Use the BrowserAct N8N Community Node](https://youtu.be/j0Nlba2pRLU)\n* #### [GitHub Data Mining: Extracting User Profiles & Repositories with N8N](https://youtu.be/YjINoZgqx0M)"
      },
      "typeVersion": 1
    },
    {
      "id": "542bbb49-18d1-4588-a64b-467f8072ee55",
      "name": "Sticky Note - Input & Loop",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        -272
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 184,
        "content": "### \ud83d\udccb 1. Input & Loop\n\n* **Trigger:** The workflow starts either manually or on a schedule.\n* **Google Sheets:** Fetches your master list of GitHub profiles to be processed.\n* **Loop Over Items:** This node processes each GitHub user one by one, ensuring a clean and organized execution for each profile."
      },
      "typeVersion": 1
    },
    {
      "id": "f4270a43-0996-4478-9b12-470bb5c044cc",
      "name": "Sticky Note - Scrape & Process",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -368
      ],
      "parameters": {
        "color": 5,
        "width": 496,
        "height": 184,
        "content": "### \ud83e\udd16 2. Scrape & Consolidate Data\n\nThis section runs for each user in the loop.\n\n* **Slack:** Sends a notification that a new user scrape has begun.\n\n* **BrowserAct Nodes:** These execute the scraping task on the user's profile URL Link The Profile URL.\n\n* **Code Node:** This is a critical step. It takes the raw text output from the scraper, parses it, and merges all the data points into a single, structured object."
      },
      "typeVersion": 1
    },
    {
      "id": "7d7a78cb-1ea6-444e-9932-06eaaf495358",
      "name": "Sticky Note - Dynamic Sheet Creation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        -368
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 184,
        "content": "###  \ud83e\udd16 3. Dynamic Sheet Management\n\nThis is an advanced pattern for creating reports.\n\n* **Create sheet:** Dynamically creates a new tab in your output spreadsheet, named after the user being scraped.\n\n* **Edit/Clear/Append:** This chain of nodes prepares the new sheet by clearing it and adding a clean set of headers. This ensures a fresh report is generated every time the workflow runs."
      },
      "typeVersion": 1
    },
    {
      "id": "86ed956c-5e9d-4989-9127-a60f9e848ddb",
      "name": "Sticky Note - Data Output",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -448
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 184,
        "content": "### \ud83d\udcca 4. Split & Write Data\n\nThis final section formats the output.\n\n* **Split Out Nodes:** The consolidated data is split into three distinct categories: main profile info, social links, and repositories.\n\n* **Append row... Nodes:** Each category of data is then written to the user's dedicated sheet. This structures the final report with clear sections for easy reading."
      },
      "typeVersion": 1
    },
    {
      "id": "bd72ba82-be38-4f7e-8e9a-a76d9dca9587",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -176
      ],
      "parameters": {
        "color": 5,
        "width": 496,
        "height": 320,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "238200a7-18cb-4cd5-a921-8e8e07aa9f01",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        -176
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 176,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "71588de8-adde-4e39-92ce-a911cb5c2b37",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 224,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "49b8e675-7f59-4b55-a1f3-0f2c541e956c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -256
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 464,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "62e4d5ab-196b-481f-9f72-bb3144945372",
      "name": "User Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1968,
        -240
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $json.Name }}",
            "Summary": "={{ $json.Summary }}",
            "Location": "={{ $json.Location }}",
            "Username": "={{ $json.Username }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Link",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repositories_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Repositories_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Programming Lang",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Programming Lang",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Stars",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Stars",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Code in JavaScript').item.json.Name }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "cba49174-9022-42a8-9bc4-7ccede5035e9",
      "name": "User Links",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1968,
        -96
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Site",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Site",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repositories_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Repositories_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Programming Lang",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Programming Lang",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Stars",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Stars",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "Site"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Code in JavaScript').item.json.Name }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "cae70e9b-8f35-4f86-b975-5e00a3b52311",
      "name": "User Repositories",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1968,
        64
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $json.Date }}",
            "Stars": "={{ $json.Stars }}",
            "Programming Lang": "={{ $json[\"Programing Language\"] }}",
            "Repositories_Name": "={{ $json.Title }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Link",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repositories_Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Repositories_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Programming Lang",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Programming Lang",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Stars",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Stars",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "Repositories_Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Code in JavaScript').item.json.Name }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OPN-GHxA1jhulioo0v-x63ZiVhGjl-ed-QBIxH8KlVs/edit?usp=drivesdk",
          "cachedResultName": "Github User Extracted Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5887ba01-4132-42b0-81d6-cd47cde2cc5a",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "User Links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Data": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "User Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out2": {
      "main": [
        [
          {
            "node": "User Repositories",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Links": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Clear sheet": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Clear sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create sheet": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Run a workflow task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Repositories": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Create sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run a workflow task": {
      "main": [
        [
          {
            "node": "Get details of a workflow task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get details of a workflow task": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}