Данная автоматизация представляет собой полноценную HR-систему для автоматического анализа резюме кандидатов. Система принимает резюме через Gmail, обрабатывает различные форматы файлов (Word, PDF, TXT), проводит детальный AI анализ соответствия вакансии, извлекает контактную информацию и автоматически ведет базу кандидатов в Google Sheets со структурированной оценкой каждого соискателя.
Назначение: Автоматически получает резюме, отправленные на корпоративную почту
Настройки Gmail Trigger:
Что получаем:
{
"subject": "Резюме на позицию разработчика",
"from": "candidate@email.com",
"attachment_0": {
"filename": "resume.pdf",
"mimeType": "application/pdf",
"data": "[binary_data]"
}
}
Назначение: Сохраняет полученное резюме в Google Drive для дальнейшей обработки
Google Drive настройки:
Результат: Файл сохраняется в Google Drive и возвращается его ID для дальнейшей работы.
Назначение: Определяет формат загруженного файла и направляет в соответствующий поток обработки
Условия Switch:
Конвертация Word в Docs: Назначение: Конвертирует Word документы в Google Docs формат
HTTP Request настройки:
Get Doc: Назначение: Скачивает конвертированный Google Doc как PDF
Настройки:
Extract from File: Назначение: Извлекает текст из PDF версии документа
Настройки:
Get PDF: Назначение: Скачивает PDF файл из Google Drive
Extract from File2: Назначение: Извлекает текст из PDF файла
Настройки:
Get TXT: Назначение: Скачивает текстовый файл из Google Drive
Extract from File3: Назначение: Извлекает текст из файла
Настройки:
Назначение: Объединяет результаты всех потоков обработки в единую структуру
Set настройки:
{
"assignments": [
{
"name": "resume",
"value": "{{ $json.text }}",
"type": "string"
}
]
}
Что происходит:
Назначение: Получает описание вакансии для сравнения с резюме
Google Drive настройки:
Extract from File1: Назначение: Извлекает текст описания вакансии
Результат: Текст с требованиями к кандидату, обязанностями и критериями оценки.
Назначение: Проводит детальный анализ соответствия резюме описанию вакансии
Подключенные компоненты:
Входные данные:
Резюме: {{ $('Описание работы').item.json.resume }}
Системный промпт:
# Обзор
Вы являетесь экспертом в области технического рекрутинга, специализирующимся на работе с искусственным интеллектом, автоматизацией и программным обеспечением. Вам предоставили описание вакансии и резюме кандидата. Ваша задача - проанализировать резюме на предмет соответствия описанию вакансии и предоставить подробный отчет о проверке на русском языке.
Сосредоточьтесь на том, насколько кандидат соответствует основным требованиям и идеальному профилю, указанным в описании вакансии. Оценивайте как соответствие техническим навыкам, так и понимание бизнес-контекста. Используйте аргументы, основанные на фактическом содержании резюме и вакансии, - избегайте предположений.
## Выходные данные
Ваши выходные данные должны иметь именно такой формат:
Сильные стороны кандидата:
Перечислите основные сильные стороны кандидата или его квалификацию. Будьте конкретны.
Слабые стороны кандидата:
Перечислите области, в которых кандидат испытывает недостаток или не соответствует описанию вакансии.
Фактор риска:
- Присвойте балл риска (низкий / средний / высокий) - объясните наихудший сценарий, если этот кандидат будет принят на работу.
Фактор вознаграждения:
- Оцените вознаграждение (низкое / среднее / высокое) - опишите наилучший сценарий - какую ценность может открыть этот кандидат?
Подходит ли кандидат на краткосрочную или долгосрочную перспективу?
Общая оценка соответствия (0-10):
Присвойте число от 0 (ужасное соответствие) до 10 (идеальное соответствие). Не указывайте десятичные числа.
Обоснование оценки:
Четко объясните, почему данный кандидат получил именно такую оценку. Укажите конкретное содержание резюме и его соответствие или несоответствие описанию вакансии.
## Описание вакансии {{ $json.text }}
Назначение: Преобразует ответ AI в структурированный JSON формат
Structured Output Parser Schema:
{
"name": "resume_screening_evaluation",
"description": "Парсит структурированный анализ резюме в формате, который выдает AI агент",
"type": "object",
"properties": {
"candidate_strengths": {
"type": "string",
"description": "Текстовое описание сильных сторон кандидата со всеми перечислениями и деталями"
},
"candidate_weaknesses": {
"type": "string",
"description": "Текстовое описание слабых сторон и областей несоответствия"
},
"risk_factor": {
"type": "object",
"description": "Оценка фактора риска",
"properties": {
"risk_level": {
"type": "string",
"description": "Уровень риска: низкий, средний или высокий"
},
"risk_explanation": {
"type": "string",
"description": "Объяснение наихудшего сценария при найме кандидата"
}
},
"required": ["risk_level", "risk_explanation"]
},
"reward_factor": {
"type": "object",
"description": "Оценка фактора вознаграждения",
"properties": {
"reward_level": {
"type": "string",
"description": "Уровень вознаграждения: низкое, среднее или высокое"
},
"reward_explanation": {
"type": "string",
"description": "Описание наилучшего сценария и ценности кандидата"
}
},
"required": ["reward_level", "reward_explanation"]
},
"career_perspective": {
"type": "string",
"description": "Подходит ли кандидат на краткосрочную или долгосрочную перспективу с обоснованием"
},
"overall_fit_rating": {
"type": "integer",
"minimum": 0,
"maximum": 10,
"description": "Общая оценка соответствия от 0 до 10 (целое число)"
},
"rating_justification": {
"type": "string",
"description": "Подробное обоснование присвоенной оценки с указанием конкретного содержания резюме"
}
},
"required": [
"candidate_strengths",
"candidate_weaknesses",
"risk_factor",
"reward_factor",
"career_perspective",
"overall_fit_rating",
"rating_justification"
]
}
ЧТО ТАКОЕ Structured Output Parser Schema: Это схема, которая заставляет AI возвращать анализ резюме в строго определенном JSON формате вместо свободного текста.
ЗАЧЕМ ЭТО НУЖНО ЗДЕСЬ:
КАК ЭТО РАБОТАЕТ:
Назначение: Извлекает личную информацию кандидата из резюме
Подключенные компоненты:
Text Input:
{{ $('Подготовка').item.json.resume }}
Attributes (требуемые поля):
{
"attributes": [
{
"name": "Имя",
"description": "Имя кандидата",
"required": true
},
{
"name": "Фамилия",
"description": "Фамилия кандидата",
"required": true
},
{
"name": "Почта",
"description": "Електронная почта кандидата",
"required": true
}
]
}
Результат:
{
"output": {
"Имя": "Иван",
"Фамилия": "Петров",
"Почта": "ivan.petrov@email.com"
}
}
Назначение: Автоматически ведет базу проанализированных кандидатов
Google Sheets настройки:
Columns Mapping:
{
"Имя": "{{ $json.output['Имя'] }}",
"Фамилия": "{{ $json.output['Фамилия'] }}",
"Почта": "{{ $json.output['Почта'] }}",
"Сильные стороны": "{{ $('AI Agent').item.json.output.candidate_strengths }}",
"Слабые стороны": "{{ $('AI Agent').item.json.output.candidate_weaknesses }}",
"Фактор риска": "{{ $('AI Agent').item.json.output.risk_factor }}",
"Фактор вознагрождения": "{{ $('AI Agent').item.json.output.reward_factor }}",
"Карьерная перспектива": "{{ $('AI Agent').item.json.output.career_perspective }}",
"Общая оценка": "{{ $('AI Agent').item.json.output.overall_fit_rating }}",
"Обоснование присвоенной оценки": "{{ $('AI Agent').item.json.output.rating_justification }}"
}
Структура итоговой таблицы:
Схема подключений нод
Word поток: 3. Тип файла (Output 0) → Конвертация Word в Docs 4. Конвертация Word в Docs → Get Doc 5. Get Doc → Extract from File
PDF поток: 3. Тип файла (Output 1) → Get PDF 4. Get PDF → Extract from File2
Text поток: 3. Тип файла (Output 2) → Get TXT 4. Get TXT → Extract from File3
Эта система превращает трудозатратный процесс ручного скрининга резюме в автоматизированный конвейер с AI экспертизой!