AutomationFlowsAI & RAG › AI Resume Screening Supabase

AI Resume Screening Supabase

21-ai-resume-screening-supabase. Uses openAi, supabase, slack. Webhook trigger; 5 nodes.

Webhook trigger★★★★☆ complexityAI-powered5 nodesOpenAISupabaseSlack
AI & RAG Trigger: Webhook Nodes: 5 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the OpenAI → 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": "21-ai-resume-screening-supabase",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "resume-screening",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "a1b2c3d4-1111-4444-8888-000000000001",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        240,
        400
      ]
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "prompt": {
          "messages": [
            {
              "role": "system",
              "content": "You are an expert HR recruiter. Analyze the provided resume text. Extract the candidate's name, give a score from 0 to 100 based on technical skills and experience, and write a 2-sentence summary. Respond ONLY in valid JSON format with keys: \"name\", \"score\", \"summary\"."
            },
            {
              "role": "user",
              "content": "={{ $json.resume_text }}"
            }
          ]
        },
        "options": {
          "responseFormat": "json_object"
        }
      },
      "id": "a1b2c3d4-2222-4444-8888-000000000002",
      "name": "OpenAI",
      "type": "n8n-nodes-base.openAi",
      "typeVersion": 1.2,
      "position": [
        460,
        400
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "insert",
        "tableId": "candidates",
        "fields": {
          "name": "={{ JSON.parse($json.content).name }}",
          "score": "={{ JSON.parse($json.content).score }}",
          "summary": "={{ JSON.parse($json.content).summary }}",
          "status": "={{ JSON.parse($json.content).score >= 80 ? 'Shortlisted' : 'Rejected' }}"
        }
      },
      "id": "a1b2c3d4-3333-4444-8888-000000000003",
      "name": "Supabase",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        680,
        400
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "cond1",
              "leftValue": "={{ JSON.parse($node['OpenAI'].json.content).score }}",
              "rightValue": 80,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "a1b2c3d4-4444-4444-8888-000000000004",
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        900,
        400
      ]
    },
    {
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "C0123456789",
          "mode": "list",
          "cachedResultName": "hr-alerts"
        },
        "text": "\ud83d\ude80 *New Top Candidate Alert!*\n\n*Name:* {{ JSON.parse($node['OpenAI'].json.content).name }}\n*Score:* {{ JSON.parse($node['OpenAI'].json.content).score }}/100\n*Summary:* {{ JSON.parse($node['OpenAI'].json.content).summary }}\n\nPlease review in Supabase dashboard.",
        "otherOptions": {}
      },
      "id": "a1b2c3d4-5555-4444-8888-000000000005",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        1120,
        320
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI": {
      "main": [
        [
          {
            "node": "Supabase",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "all"
  },
  "id": "21-ai-resume-screening-supabase",
  "tags": []
}

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

21-ai-resume-screening-supabase. Uses openAi, supabase, slack. Webhook trigger; 5 nodes.

Source: https://github.com/kooroosh1363/agentic-automation-lab/blob/main/21-ai-resume-screening-supabase/workflow.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

This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La

Google Sheets, HTTP Request, Slack +10
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

Agent: IPTV (instance_e2165d22_1762376395079). Uses openAi, redis, supabase, httpRequest. Webhook trigger; 56 nodes.

OpenAI, Redis, Supabase +7
AI & RAG

This workflow automatically processes new free-trial / lead sign-ups in real time: Catches a webhook from any source (Webflow form, Intercom, custom agent, etc.) Filters out personal / disposable / .e

Output Parser Structured, Agent, HTTP Request +7
AI & RAG

'Elena AI' is a powerful n8n workflow that transforms your automation platform into a full-fledged, multi-agent AI hub. 🤖✨ By combining Redis state management with specialized “tool” sub-workflows, yo

Redis, HTTP Request, Supabase +7