Automatiser la génération d’images IA et la rédaction d’articles Medium

Ce workflow génère automatiquement des images via Ideogram, puis les utilise pour illustrer et enrichir des articles Medium créés par IA selon votre brief ou plan rédactionnel. La publication sur Medium est ensuite automatisée. Idéal pour les blogueurs, agences ou entrepreneurs souhaitant gagner du temps, créer des contenus visuels attractifs et maximiser leur impact sur les plateformes de publication en ligne, tout en maintenant la cohérence éditoriale.

				
					{
  "id": "2ddwHvuidKc6lZia",
  "meta": {
    "instanceId": "5b12f258e7b8845a7e4d948aaf2096c942ee796fa3f6edf443a06fe951a6e6e2",
    "templateCredsSetupCompleted": true
  },
  "name": "AI Agent - Cv Resume - Automated Screening , Sorting , Rating and Tracker System",
  "tags": [],
  "nodes": [
    {
      "id": "92b75a8f-da03-4545-91ef-da29b88f1cef",
      "name": "GDocs - Get Job Desc",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        220,
        120
      ],
      "parameters": {
        "operation": "get",
        "documentURL": "https://docs.google.com/document/d/12dv1AXaotpJ3ST1nUI-QgCoi5SJjM52zeHmjhwZUtvs/edit?usp=sharing"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "k7j5KUAvAzARmxTu",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "213712d5-f7ef-4c49-bfa6-da02be76a213",
      "name": "Google Drive - Resume CV File Created",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -540,
        120
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyHour"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "17g2HGxLieONy6EWfsPADvA9IXDp5nJ8p",
          "cachedResultUrl": "https://drive.google.com/drive/folders/17g2HGxLieONy6EWfsPADvA9IXDp5nJ8p",
          "cachedResultName": "Unfiltered"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "i0k4QgJ8YgVPNgF7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "31075389-e8c5-431a-b5e1-807422dbcd5f",
      "name": "Download Resume File From Gdrive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -220,
        120
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "fileName": "={{ $json.name }}"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "i0k4QgJ8YgVPNgF7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "367d4e61-a73c-4e47-bd73-690b2a63e0ae",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        720,
        -400
      ],
      "parameters": {
        "text": "=You are expert backend principal engineer specialize in python. You will compare job description and candidate profile.nnThen you will response with decision [REJECTED/KIV/SHORTLISTED].n, provide a reason and give a score ratingn{ decision, reason , score}nnAfter you identify a decision, used the tool in sequence.n1. Use the relevant tool to move the candidate resume file accordingly to the right folder GoogleDrive:MoveFileToReject or GoogleDrive:MoveFileToShortlisted or GoogleDrive:MoveFileToKIVn2. Use the Gsheet:UpdateTracker tool to update the tracker status.n3. Use the Gmail:NotificationTool to infor the candidate name, role, decision and reasonnn==[JOB-DESC]===n{{ $json.content }}n==[/JOB-DESC]===nn==[CANDIDATE-DESC]===n{{ $('Extract from File').item.json.text }}n n==[/CANDIDATE-DESC]===nn",
        "options": {
          "systemMessage": "You are expert backend principal engineer specialize in python. You will compare job description and candidate profile.nnThen you will response with decision [REJECTED/KIV/SHORTLISTED].nand provide a reason.n{ decision, reason}nnAfter you identify a decision, used the tool n1. Use the relevant tool to move the candidate resume file accordingly to the right folder GoogleDrive:MoveFileToReject or GoogleDrive:MoveFileToShortlisted or GoogleDrive:MoveFileToKIVn2. Use the Gsheet-UpdateTracker tool to update the tracker status.n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "f2a16cf3-0404-4791-b7d4-64f1909e02c2",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -40,
        120
      ],
      "parameters": {
        "options": {},
        "operation": "pdf"
      },
      "typeVersion": 1
    },
    {
      "id": "98af749e-d4ee-4f9b-bacc-f78a47525077",
      "name": "Gmail:Notification",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1760,
        120
      ],
      "webhookId": "ed0f09b9-4b16-4bf1-af47-208f1e8e3761",
      "parameters": {
        "sendTo": "aiix.space.noreply@gmail.com",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {},
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "descriptionType": "manual",
        "toolDescription": "Gmail:NotificationTool - This tool will notify the candidate name, job role, and status of [shortlisted/kiv/rejected]"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "1cn2wligOf77izLL",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "343f7f0f-d505-448f-a95d-0fc7d3c14730",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        -60
      ],
      "parameters": {
        "color": 4,
        "width": 660,
        "height": 400,
        "content": "## 1. Move candidate cv to foldern "
      },
      "typeVersion": 1
    },
    {
      "id": "9941231e-7cfb-442e-9593-aed21fe86cf8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        -60
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 400,
        "content": "## 2. Update trackern "
      },
      "typeVersion": 1
    },
    {
      "id": "bfd181ec-cf79-4320-9acd-f3e35fb499c5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        -60
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 400,
        "content": "## 3. Send email notificationn "
      },
      "typeVersion": 1
    },
    {
      "id": "60fd65e7-6e8a-4092-9fce-2dd97e35b236",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        -60
      ],
      "parameters": {
        "color": 2,
        "width": 380,
        "height": 400,
        "content": "## Download and read candidate CV Resumen "
      },
      "typeVersion": 1
    },
    {
      "id": "d5d3cf16-d84d-4e7d-af75-f5341af20f59",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        -60
      ],
      "parameters": {
        "color": 2,
        "width": 380,
        "height": 400,
        "content": "## Read Job Descriptionn "
      },
      "typeVersion": 1
    },
    {
      "id": "0ee07985-b24b-492b-a394-2f7097254911",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2040,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 620,
        "height": 1040,
        "content": "# AI-Agent : Automated CV Resume Screening Evaluate Rating Systemnn## What is this for?n### Let AI agent intelligently analyze and rate your Candidate's cv resumes based on your job description. This will help ensure a fast and accurate screening process.nn### The Screening AI automatically organizes resumes into appropriate folders, updates statuses and scores in your tracking system, and sends timely notificationsu2014saving you valuable time and effort. nnn### Let AI Agent and automation handle the heavy lifting while you focus on making the best hiring decisions!nnn```n```nn## Prerequisitenn### Please follow official n8n integration document on how setup your gdrive,gmail,gdoc,gsheet credentials. nn n```n```nn## How it works?nn### Each time you place a new pdf resume in the 'Unfiltered' folder , you will automatically get screening results in the tracker for the candidate. nnThe AI agent will help notify email and do CV sorting into appropriate folder.nn "
      },
      "typeVersion": 1
    },
    {
      "id": "aa43af12-fae1-4a98-9cad-7859051baf48",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -620,
        -60
      ],
      "parameters": {
        "color": 2,
        "width": 260,
        "height": 400,
        "content": "## Add candidate CV Resume into foldern "
      },
      "typeVersion": 1
    },
    {
      "id": "7ad2b8a9-3720-4713-a8dd-af8f6745f95d",
      "name": "Gdrive:Move-To-Reject-Folder",
      "type": "n8n-nodes-base.googleDriveTool",
      "position": [
        580,
        120
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "16BR7dhzd4-6i_kHYRStJd5UdqNWhpXKA",
          "cachedResultUrl": "https://drive.google.com/drive/folders/16BR7dhzd4-6i_kHYRStJd5UdqNWhpXKA",
          "cachedResultName": "REJECTED"
        },
        "operation": "move",
        "descriptionType": "manual",
        "toolDescription": "GoogleDrive:MoveFileToRejectnUse this tool to move rejected candidate profile to reject foldern "
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "i0k4QgJ8YgVPNgF7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "921a0561-9733-47fe-a6ee-191abf30ac37",
      "name": "Gdrive:Move-To-KIV-Folder",
      "type": "n8n-nodes-base.googleDriveTool",
      "position": [
        800,
        120
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1KLfykacUhwtO0-wgYs6WsrcxbCHHKJ7o",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1KLfykacUhwtO0-wgYs6WsrcxbCHHKJ7o",
          "cachedResultName": "KIV"
        },
        "operation": "move",
        "descriptionType": "manual",
        "toolDescription": "GoogleDrive:MoveFileToKIVnUse this tool to move KIV candidate profile to KIV folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "i0k4QgJ8YgVPNgF7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "0b32131c-3811-406f-a50d-875750781906",
      "name": "Gdrive:Move-To-Shortlisted-Folder",
      "type": "n8n-nodes-base.googleDriveTool",
      "position": [
        1000,
        120
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1m8vrejmyPWpGsjJc6amnWfSXBRESlpfO",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1m8vrejmyPWpGsjJc6amnWfSXBRESlpfO",
          "cachedResultName": "SHORTLISTED"
        },
        "operation": "move",
        "descriptionType": "manual",
        "toolDescription": "GoogleDrive:MoveFileToShortlistednUse this tool to move  Shortlisted candidate profile to Shortlisted folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "i0k4QgJ8YgVPNgF7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "98a656c7-bb17-4808-abf8-ef4e23716b60",
      "name": "Gsheet: Update Candidate Tracker",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        1340,
        120
      ],
      "parameters": {
        "columns": {
          "value": {
            "AI Score": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('AI_Score', ``, 'string') }}",
            "AI Reason": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('AI_Reason', ``, 'string') }}",
            "AI Verdict": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('AI_Verdict', ``, 'string') }}",
            "Candidate Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Candidate_Name__using_to_match_', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Candidate Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Candidate Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Current Role",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Current Role",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Role Scope",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Role Scope",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "AI Score",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "AI Score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "AI Verdict",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "AI Verdict",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "AI Reason",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "AI Reason",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Referral",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Referral",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Due date",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Due date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Notes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Human verdict",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Human verdict",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Candidate Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 843593464,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE/edit#gid=843593464",
          "cachedResultName": "main"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE/edit?usp=drivesdk",
          "cachedResultName": "ResumeScreening- Candidate Tracker"
        },
        "descriptionType": "manual",
        "toolDescription": "Gsheet:UpdateTrackernThis tool help update relevant candidate status"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "fqYZ5O9pQ89v3SAp",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "c9eb92a0-f3bc-4226-835e-602a2f808e4c",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 600,
        "height": 1300,
        "content": "n## Folder & File Setupn### 1. Create a google-drive folder like thisn n[View directory example](https://drive.google.com/drive/folders/1Uh7VdJORE03YBJkCmvr1TXg_esbiNnTV?dmr=1&ec=wgc-drive-hero-goto)nn![Directory EXAMPLE](https://github.com/dragonjump/n8n-ai-agent-screening/blob/main/screenshot1.png?raw=true)nn### 2. Create a job description like thisn n[View file example](https://docs.google.com/document/d/12dv1AXaotpJ3ST1nUI-QgCoi5SJjM52zeHmjhwZUtvs/edit?usp=drive_link)nn![Directory EXAMPLE](https://github.com/dragonjump/n8n-ai-agent-screening/blob/main/screenshot2.png?raw=true)nnn### 3. Configure a tracker like thisn n[View file example](https://docs.google.com/spreadsheets/d/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE/edit?gid=843593464#gid=843593464)nn![Directory EXAMPLE](https://github.com/dragonjump/n8n-ai-agent-screening/blob/main/screenshot3.png?raw=true)"
      },
      "typeVersion": 1
    },
    {
      "id": "e0d419d7-dcc1-40c5-afb1-5bda110e681c",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 150,
        "height": 80,
        "content": "UNFILTERED FOLDER"
      },
      "typeVersion": 1
    },
    {
      "id": "d9034b09-41f9-4f27-8d9d-e40f8603e1ea",
      "name": "Groq - llama 4 AI MODEL",
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "position": [
        680,
        -200
      ],
      "parameters": {
        "model": "meta-llama/llama-4-maverick-17b-128e-instruct",
        "options": {}
      },
      "credentials": {
        "groqApi": {
          "id": "RBCtAUywXbI6hFmr",
          "name": "Groq account -bbflight"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "adba9994-2c2e-40f2-9a73-8a57b48b3bc4",
  "connections": {
    "AI Agent": {
      "main": [
        []
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "GDocs - Get Job Desc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail:Notification": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "GDocs - Get Job Desc": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Groq - llama 4 AI MODEL": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gdrive:Move-To-KIV-Folder": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Gdrive:Move-To-Reject-Folder": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Download Resume File From Gdrive": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gsheet: Update Candidate Tracker": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Gdrive:Move-To-Shortlisted-Folder": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive - Resume CV File Created": {
      "main": [
        [
          {
            "node": "Download Resume File From Gdrive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
				
			

Agents similaires