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 →
{
"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.
openAiApislackApisupabaseApi
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.
Agent: IPTV (instance_e2165d22_1762376395079). Uses openAi, redis, supabase, httpRequest. Webhook trigger; 56 nodes.
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
'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