AutomationFlowsWeb Scraping › Github Label Bootstrap — Ai-powered-personal-assistant

Github Label Bootstrap — Ai-powered-personal-assistant

GitHub label bootstrap — AI-Powered-personal-Assistant. Uses httpRequest. Event-driven trigger; 4 nodes.

Event trigger★★★★☆ complexity4 nodesHTTP Request
Web Scraping Trigger: Event Nodes: 4 Complexity: ★★★★☆ Added:

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
{
  "name": "GitHub label bootstrap \u2014 AI-Powered-personal-Assistant",
  "nodes": [
    {
      "parameters": {},
      "id": "manual-trigger",
      "name": "Manual trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -520,
        0
      ]
    },
    {
      "parameters": {
        "url": "=https://api.github.com/repos/{{$env.GITHUB_OWNER}}/AI-Powered-personal-Assistant/labels?per_page=100",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "githubApi",
        "options": {}
      },
      "id": "get-labels",
      "name": "Get existing labels",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -280,
        0
      ],
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const desired = [\n  { name: \"bug\", color: \"d73a4a\" },\n  { name: \"feature\", color: \"1d76db\" },\n  { name: \"documentation\", color: \"0075ca\" },\n  { name: \"enhancement\", color: \"a2eeef\" },\n  { name: \"question\", color: \"d876e3\" },\n  { name: \"needs-triage\", color: \"fbca04\" },\n  { name: \"priority:high\", color: \"b60205\" },\n  { name: \"priority:medium\", color: \"fbca04\" },\n  { name: \"priority:low\", color: \"0e8a16\" },\n  { name: \"good first issue\", color: \"7057ff\" },\n  { name: \"help wanted\", color: \"008672\" },\n];\nconst existing = new Set($input.all().map(({ json }) => json.name));\nreturn desired.filter((label) => !existing.has(label.name)).map((json) => ({ json }));"
      },
      "id": "missing-labels",
      "name": "Select missing labels only",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://api.github.com/repos/{{$env.GITHUB_OWNER}}/AI-Powered-personal-Assistant/labels",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "githubApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "id": "create-label",
      "name": "Create missing label",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        260,
        0
      ],
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Manual trigger": {
      "main": [
        [
          {
            "node": "Get existing labels",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get existing labels": {
      "main": [
        [
          {
            "node": "Select missing labels only",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select missing labels only": {
      "main": [
        [
          {
            "node": "Create missing label",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1"
}

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

GitHub label bootstrap — AI-Powered-personal-Assistant. Uses httpRequest. Event-driven trigger; 4 nodes.

Source: https://github.com/CoreyLeath-code/AI-Powered-personal-Assistant/blob/50e30b5705ac8f2959f9decd643689452f2757f6/n8n/label-bootstrap.json — 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 workflow listens for an “Approved” label on a Trello card, reads the AI draft bookkeeping JSON from card comments, and posts the corresponding transaction to Xero. It then adds a Xero deep link b

Trello Trigger, HTTP Request
Web Scraping

02_LLM_Pipeline v1.0. Uses executeWorkflowTrigger, httpRequest, seaTable. Event-driven trigger; 65 nodes.

Execute Workflow Trigger, HTTP Request, Sea Table
Web Scraping

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1