AutomationFlowsAI & RAG › Github Pr Opened → AI Review Summary → Slack

Github Pr Opened → AI Review Summary → Slack

GitHub PR Opened → AI Review Summary → Slack. Uses lmChatAnthropic, slack. Webhook trigger; 4 nodes.

Webhook trigger★★☆☆☆ complexityAI-powered4 nodesAnthropic ChatSlack
AI & RAG Trigger: Webhook Nodes: 4 Complexity: ★★☆☆☆ AI nodes: yes Added:

This workflow follows the Anthropic Chat → Slack 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
{
  "name": "GitHub PR Opened \u2192 AI Review Summary \u2192 Slack",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "github-webhook",
        "options": {}
      },
      "id": "github-webhook",
      "name": "GitHub Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        240,
        300
      ],
      "typeVersion": 2
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.body.action }}",
              "operation": "equals",
              "value2": "opened"
            }
          ]
        }
      },
      "id": "filter-opened",
      "name": "Only PR Opened",
      "type": "n8n-nodes-base.if",
      "position": [
        460,
        300
      ],
      "typeVersion": 2
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "anthropicApi",
        "model": "claude-3-5-haiku-20241022",
        "messages": {
          "values": [
            {
              "content": "=You are a code review assistant. Analyze this GitHub PR and write a 3-bullet summary of what it does, potential risks, and what to check during review.\n\nPR Title: {{ $json.body.pull_request.title }}\nDescription: {{ $json.body.pull_request.body }}\nFiles changed: {{ $json.body.pull_request.changed_files }}\nAdditions: {{ $json.body.pull_request.additions }}\nDeletions: {{ $json.body.pull_request.deletions }}"
            }
          ]
        }
      },
      "id": "ai-summary",
      "name": "AI: Summarize PR",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        680,
        300
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "slackApi",
        "resource": "message",
        "operation": "post",
        "channel": "#engineering",
        "text": "\ud83d\udd0d *New PR: {{ $('GitHub Webhook').item.json.body.pull_request.title }}*\n\nBy: {{ $('GitHub Webhook').item.json.body.pull_request.user.login }}\nURL: {{ $('GitHub Webhook').item.json.body.pull_request.html_url }}\n\n*AI Summary:*\n{{ $json.text }}"
      },
      "id": "slack-notify",
      "name": "Notify #engineering",
      "type": "n8n-nodes-base.slack",
      "position": [
        900,
        300
      ],
      "typeVersion": 2.2
    }
  ],
  "connections": {
    "GitHub Webhook": {
      "main": [
        [
          {
            "node": "Only PR Opened",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Only PR Opened": {
      "main": [
        [
          {
            "node": "AI: Summarize PR",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Summarize PR": {
      "main": [
        [
          {
            "node": "Notify #engineering",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "_meta": {
    "description": "When a GitHub PR is opened, Claude AI writes a 3-bullet summary and posts it to Slack #engineering \u2014 so reviewers know exactly what to look at.",
    "requiredCredentials": [
      "Anthropic API",
      "Slack API"
    ],
    "category": "Developer / Technical",
    "n8nVersion": ">=1.0.0",
    "setup": "GitHub repo \u2192 Settings \u2192 Webhooks \u2192 add n8n URL, content type: application/json, event: Pull requests"
  }
}
Pro

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

About this workflow

GitHub PR Opened → AI Review Summary → Slack. Uses lmChatAnthropic, slack. Webhook trigger; 4 nodes.

Source: https://github.com/miscia123/n8n-free-workflows/blob/main/workflows/04-github-pr-review-bot.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

cold-outbound-engine-claude. Uses httpRequest, lmChatAnthropic, airtable, slack. Webhook trigger; 10 nodes.

HTTP Request, Anthropic Chat, Airtable +1
AI & RAG

prompt-qa-lab-claude. Uses lmChatAnthropic, slack. Webhook trigger; 7 nodes.

Anthropic Chat, Slack
AI & RAG

meeting-intelligence-claude. Uses lmChatAnthropic, notion, slack. Webhook trigger; 6 nodes.

Anthropic Chat, Notion, Slack
AI & RAG

proposal-assistant-claude. Uses lmChatAnthropic, googleDrive, slack. Webhook trigger; 5 nodes.

Anthropic Chat, Google Drive, Slack
AI & RAG

strategy-generator-claude. Uses lmChatAnthropic, notion, slack. Webhook trigger; 5 nodes.

Anthropic Chat, Notion, Slack