{
  "name": "Hiring pipeline digest (Agent Routines)",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1-5"
            }
          ]
        }
      },
      "id": "26eaffec-73d6-5b52-b984-7bbf40266e9a",
      "name": "Weekdays 9 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "https://YOUR_ATS_API/applications?updated_since=24h",
        "options": {
          "response": {
            "response": {
              "fullResponse": true,
              "neverError": true
            }
          },
          "timeout": 10000
        }
      },
      "id": "82e0112f-b340-5159-91a1-a8638f6a6768",
      "name": "Fetch applicants",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        490,
        300
      ]
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Role must-haves: <LIST MUST-HAVES>. Return JSON only. Keys: digest (markdown string)."
            },
            {
              "content": "=Applicants: {{ JSON.stringify($json.body) }}\n\nWorkflow: Schedule weekdays -> fetch applicants from your ATS API changed in the last 24h -> AI node summarizes each new CV against the role's must-haves (match score + 2 reasons) -> post a digest to Slack grouped by stage, highlighting candidates waiting more than 3 days for a response."
            }
          ]
        },
        "jsonOutput": true,
        "options": {}
      },
      "id": "c5d61b5c-24ec-5b16-ae3e-d4ebff4eb73e",
      "name": "Summarize candidates",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        730,
        300
      ],
      "credentials": {
        "openAiApi": {
          "id": "REPLACE_ME",
          "name": "OpenAI account"
        }
      }
    },
    {
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#hiring"
        },
        "text": "={{ $json.message.content.digest }}",
        "otherOptions": {}
      },
      "id": "6dd1ff14-e79a-536c-a856-2b96e760edc9",
      "name": "Post digest",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        970,
        300
      ],
      "credentials": {
        "slackApi": {
          "id": "REPLACE_ME",
          "name": "Slack account"
        }
      }
    }
  ],
  "connections": {
    "Weekdays 9 AM": {
      "main": [
        [
          {
            "node": "Fetch applicants",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch applicants": {
      "main": [
        [
          {
            "node": "Summarize candidates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize candidates": {
      "main": [
        [
          {
            "node": "Post digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": false,
    "source": "https://agentroutines.si/r/hiring-pipeline-digest/"
  },
  "tags": []
}