AutomationFlowsWeb Scraping › Github Issue Triage — Ai-powered-personal-assistant

Github Issue Triage — Ai-powered-personal-assistant

GitHub issue triage — AI-Powered-personal-Assistant. Uses githubTrigger, httpRequest. Event-driven trigger; 3 nodes.

Event trigger★★★★☆ complexity3 nodesGithub TriggerHTTP Request
Web Scraping Trigger: Event Nodes: 3 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 issue triage \u2014 AI-Powered-personal-Assistant",
  "nodes": [
    {
      "parameters": {
        "owner": "={{ $env.GITHUB_OWNER }}",
        "repository": "AI-Powered-personal-Assistant",
        "events": [
          "issues"
        ]
      },
      "id": "issue-trigger",
      "name": "GitHub issue opened",
      "type": "n8n-nodes-base.githubTrigger",
      "typeVersion": 1,
      "position": [
        -520,
        0
      ],
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const event = $json;\nconst action = event.action;\nconst issue = event.issue;\nif (action !== \"opened\" || !issue || issue.pull_request) return [];\nconst text = `${issue.title || \"\"} ${issue.body || \"\"}`.toLowerCase();\nconst labels = [\"needs-triage\"];\nif (/\\\\b(bug|error|exception|crash|broken|fail(?:s|ed|ure)?)\\\\b/.test(text)) labels.push(\"bug\");\nelse if (/\\\\b(doc|readme|documentation|guide)\\\\b/.test(text)) labels.push(\"documentation\");\nelse if (/\\\\b(feature|request|proposal|support)\\\\b/.test(text)) labels.push(\"feature\");\nelse if (/\\\\b(question|how do|how to|help)\\\\b/.test(text)) labels.push(\"question\");\nelse labels.push(\"enhancement\");\nif (/\\\\b(security|vulnerab|data loss|outage|critical)\\\\b/.test(text)) labels.push(\"priority:high\");\nelse if (/\\\\b(regression|blocked|urgent|broken)\\\\b/.test(text)) labels.push(\"priority:medium\");\nelse labels.push(\"priority:low\");\nreturn [{ json: { issueNumber: issue.number, labels } }];"
      },
      "id": "classify",
      "name": "Classify conservatively",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -260,
        0
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://api.github.com/repos/{{$env.GITHUB_OWNER}}/AI-Powered-personal-Assistant/issues/{{$json.issueNumber}}/labels",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "githubApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ labels: $json.labels }) }}",
        "options": {}
      },
      "id": "label-issue",
      "name": "Apply triage labels",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        0
      ],
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "GitHub issue opened": {
      "main": [
        [
          {
            "node": "Classify conservatively",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Classify conservatively": {
      "main": [
        [
          {
            "node": "Apply triage labels",
            "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 issue triage — AI-Powered-personal-Assistant. Uses githubTrigger, httpRequest. Event-driven trigger; 3 nodes.

Source: https://github.com/CoreyLeath-code/AI-Powered-personal-Assistant/blob/50e30b5705ac8f2959f9decd643689452f2757f6/n8n/issue-triage.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

Detect and merge duplicate GitHub issues automatically using Claude AI. This n8n automation triggers on new GitHub issues, checks them against open issues for duplicates, merges duplicate reports into

Github Trigger, GitHub, HTTP Request
Web Scraping

By embedding specific keywords and a JIRA issue ID within your git commit commands, this workflow automatically creates a Pull Request in GitHub and simultaneously updates the corresponding JIRA ticke

HTTP Request, Github Trigger, Stop And Error +1
Web Scraping

Semantic Duplicate Issue Detector. Uses githubTrigger, httpRequest, github. Event-driven trigger; 18 nodes.

Github Trigger, HTTP Request, GitHub
Web Scraping

This template is ideal for developers, DevOps engineers, and automation managers who manage their n8n workflows using GitHub. It helps teams streamline their CI/CD automation by syncing changes from G

Github Trigger, HTTP Request, GitHub +1
Web Scraping

This workflow automatically adds a note of the PR from GitHub to the Pipedrive contact if their GitHub email matches a Person in Pipedrive. Pipedrive account and Pipedrive credentials GitHub account a

HTTP Request, Pipedrive, Github Trigger