This workflow follows the Gmail → OpenAI 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": "HR Resume Screening with Verifiable Decision Receipts",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "resume-screening",
"options": {},
"responseMode": "responseNode"
},
"id": "6a00ef79-f92f-4454-ad87-e4404a61a825",
"name": "Resume Received",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
0,
300
]
},
{
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"messages": {
"values": [
{
"role": "system",
"content": "=You are an HR screening AI. Score the candidate 0-100 against the role and return JSON: {\"score\":0,\"recommendation\":\"ADVANCE|REJECT\",\"rationale\":\"...\"}."
},
{
"content": "=Score this candidate. JSON only.\n\nRole: {{ $json.body.role }}\nResume:\n{{ $json.body.resume }}"
}
]
},
"jsonOutput": true,
"options": {}
},
"id": "ab9fb94a-baed-4ff1-8fa2-1fb8a11c9004",
"name": "AI Candidate Score",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 2.1,
"position": [
220,
300
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "generateReceipt",
"agentName": "HRScreeningAgent",
"workflowName": "={{ $workflow.name }}",
"action": "={{ 'Candidate ' + $json.message.content.recommendation }}",
"decision": "={{ JSON.stringify($json.message.content) }}",
"additionalFields": {
"modelProvider": "openai",
"modelUsed": "gpt-4o",
"decisionType": "hiring_screen",
"riskLevel": "high",
"humanReview": true,
"policies": "eu-ai-act-high-risk, eeoc-fairness",
"permissions": "candidate.screen",
"tags": "hr, hiring, ai-act"
}
},
"id": "944eea60-5b06-41ab-aaca-45cf949c224b",
"name": "Signatrust: Receipt",
"type": "n8n-nodes-signatrust.signatrust",
"typeVersion": 1,
"position": [
440,
300
],
"credentials": {
"signatrustApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sendTo": "compliance@yourcompany.com",
"subject": "={{ 'Candidate result: ' + $('AI Candidate Score').item.json.message.content.recommendation }}",
"message": "={{ 'Score: ' + $('AI Candidate Score').item.json.message.content.score + '\\nReceipt: ' + $json.id }}",
"options": {},
"emailType": "text"
},
"id": "fa931edc-2561-43f3-8c47-c6a742051d71",
"name": "Email Recruiter",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
660,
300
],
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "## HR Resume Screening + Signatrust\nUnder the EU AI Act, hiring is **high-risk**. Every AI candidate score is signed into a Decision Receipt (with human_review flagged) so the decision is explainable and auditable.",
"height": 200,
"width": 430,
"color": 5
},
"id": "dab84671-3ebb-49d6-b54e-102ae5da61d9",
"name": "Sticky Note 734c88",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-40,
30
]
}
],
"connections": {
"Resume Received": {
"main": [
[
{
"node": "AI Candidate Score",
"type": "main",
"index": 0
}
]
]
},
"AI Candidate Score": {
"main": [
[
{
"node": "Signatrust: Receipt",
"type": "main",
"index": 0
}
]
]
},
"Signatrust: Receipt": {
"main": [
[
{
"node": "Email Recruiter",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "HR Resume Screening \u2014 HR"
},
{
"name": "HR Resume Screening \u2014 Hiring"
},
{
"name": "Signatrust (4)"
},
{
"name": "HR Resume Screening \u2014 AI-Act"
}
],
"meta": {
"templateCredsSetupCompleted": false
},
"versionId": "ad33e856-6832-42e0-9a51-3a7e8adeac89"
}
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.
gmailOAuth2openAiApisignatrustApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
HR Resume Screening with Verifiable Decision Receipts. Uses openAi, n8n-nodes-signatrust, gmail. Webhook trigger; 5 nodes.
Source: https://github.com/abokenan444/n8n-signatrust-workflows/blob/main/workflows/04-hr-resume-screening.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.
Digital B - Lead Automation System (Google Sheets). Uses openAi, googleSheets, gmail, slack. Webhook trigger; 9 nodes.
• Webhook → urlscan.io → GPT-4o mini → Gmail • Payload example: • urlscan.io returns a Scan ID and raw JSON. • AI node classifies the scan as malicious / suspicious / benign, assigns a 1-10 risk score
Brand Finder and Contacter. Uses openAi, respond, gmail. Webhook trigger; 7 nodes.
Loan Approval with Verifiable Decision Receipts. Uses openAi, n8n-nodes-signatrust. Webhook trigger; 5 nodes.
Insurance Claim Assessment with Verifiable Decision Receipts. Uses openAi, n8n-nodes-signatrust, googleSheets. Webhook trigger; 5 nodes.