This workflow follows the Agent → HTTP Request 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": "\u0443\u043c\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-400,
0
],
"id": "REDACTED_NODE_ID_0",
"name": "When clicking \u2018Execute workflow\u2019"
},
{
"parameters": {
"url": "https://api.hh.ru/vacancies",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "text",
"value": "n8n \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f"
},
{
"name": "area",
"value": "113"
},
{
"name": "per_page",
"value": "10"
},
{
"name": "salary",
"value": "100000"
},
{
"name": "only_with_salary",
"value": "true"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
-240,
0
],
"id": "REDACTED_NODE_ID_1",
"name": "HTTP Request"
},
{
"parameters": {
"promptType": "define",
"text": "=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: {{ $json.\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 }}\n\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f: {{ $json.\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f }}\n\u0417\u0430\u0440\u043f\u043b\u0430\u0442\u0430: {{ $json.\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430 }}\n\u0424\u043e\u0440\u043c\u0430\u0442: {{ $json.\u0444\u043e\u0440\u043c\u0430\u0442 }}\n\u0421\u0441\u044b\u043b\u043a\u0430: {{ $json.\u0441\u0441\u044b\u043b\u043a\u0430 }}",
"options": {
"systemMessage": "\u0422\u044b \u2014 HR-\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a. \u0422\u0435\u0431\u0435 \u0434\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438.\n\u0422\u0432\u043e\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0422\u041e\u041b\u042c\u041a\u041e JSON \u0431\u0435\u0437 markdown:\n\n\n \"\u043e\u0446\u0435\u043d\u043a\u0430\": \"\u0432\u044b\u0441\u043e\u043a\u0430\u044f/\u0441\u0440\u0435\u0434\u043d\u044f\u044f/\u043d\u0438\u0437\u043a\u0430\u044f\",\n \"\u043f\u043b\u044e\u0441\u044b\": \"2-3 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043f\u043b\u044e\u0441\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438\",\n \"\u043c\u0438\u043d\u0443\u0441\u044b\": \"2-3 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043c\u0438\u043d\u0443\u0441\u0430 \u0438\u043b\u0438 \u0447\u0435\u0433\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442\",\n \"\u0432\u044b\u0432\u043e\u0434\": \"\u043e\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u2014 \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430\u0442\u044c\u0441\u044f\"\n\n\n\u041a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u043e\u0446\u0435\u043d\u043a\u0438:\n- \u0432\u044b\u0441\u043e\u043a\u0430\u044f: \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 + \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 + n8n \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\n- \u0441\u0440\u0435\u0434\u043d\u044f\u044f: \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c\n- \u043d\u0438\u0437\u043a\u0430\u044f: \u043e\u0444\u0438\u0441 \u0442\u043e\u043b\u044c\u043a\u043e + \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430\n\n\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u0438\u0448\u0438:\n- \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438\n- \u0437\u0430\u043f\u043b\u0430\u0442\u0443\n- \u0444\u043e\u0440\u043c\u0430\u0442\n- \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e\n\n"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 3.1,
"position": [
240,
0
],
"id": "REDACTED_NODE_ID_2",
"name": "AI Agent"
},
{
"parameters": {
"model": "llama-3.3-70b-versatile",
"options": {
"temperature": 0.7
}
},
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"typeVersion": 1,
"position": [
240,
192
],
"id": "REDACTED_NODE_ID_3",
"name": "Groq Chat Model",
"credentials": {
"groqApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "return items[0].json.items.map(v => ({\n json: {\n \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: v.name,\n \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f: v.employer.name,\n \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430: v.salary ? v.salary.from : null,\n \u0441\u0441\u044b\u043b\u043a\u0430: v.alternate_url,\n \u0444\u043e\u0440\u043c\u0430\u0442: v.schedule.name\n }\n}));\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-80,
0
],
"id": "REDACTED_NODE_ID_4",
"name": "Code in JavaScript",
"alwaysOutputData": true
},
{
"parameters": {
"batchSize": 10,
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
80,
0
],
"id": "REDACTED_NODE_ID_5",
"name": "Loop Over Items"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "REDACTED_INTERNAL_ID",
"leftValue": "={{ $('Code in JavaScript').item.json['\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430'] }}",
"rightValue": 100000,
"operator": {
"type": "number",
"operation": "gte"
}
},
{
"id": "REDACTED_INTERNAL_ID",
"leftValue": "={{ $('Code in JavaScript').item.json['\u0444\u043e\u0440\u043c\u0430\u0442'] }}",
"rightValue": "\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
512,
0
],
"id": "REDACTED_NODE_ID_6",
"name": "If"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
"value": "={{ $('Code in JavaScript').item.json[\"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f",
"value": "={{ $('Code in JavaScript').item.json[\"\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430",
"value": "={{ $('Code in JavaScript').item.json[\"\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\"] }}",
"type": "number"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0444\u043e\u0440\u043c\u0430\u0442",
"value": "={{ $('Code in JavaScript').item.json[\"\u0444\u043e\u0440\u043c\u0430\u0442\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0441\u0441\u044b\u043b\u043a\u0430",
"value": "={{ $('Code in JavaScript').item.json[\"\u0441\u0441\u044b\u043b\u043a\u0430\"] }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
512,
-176
],
"id": "REDACTED_NODE_ID_7",
"name": "Edit Fields"
},
{
"parameters": {
"chatId": "REDACTED_TELEGRAM_CHAT_ID",
"text": "=\u0412\u0430\u043a\u0430\u043d\u0441\u0438\u0438, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u0438\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u0441\u044f! {{ $json['\u0442\u0435\u043a\u0441\u0442'] }}",
"additionalFields": {}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
1136,
-176
],
"id": "REDACTED_NODE_ID_8",
"name": "Send a text message",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"chatId": "REDACTED_TELEGRAM_CHAT_ID",
"text": "=\u0410 \u044d\u0442\u043e \u043c\u0443\u0442\u043d\u044b\u0435! {{ $json[\"\u0442\u0435\u043a\u0441\u0442\"] }}",
"additionalFields": {}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
1328,
16
],
"id": "REDACTED_NODE_ID_9",
"name": "Send a text message1",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"aggregate": "aggregateAllItemData",
"options": {}
},
"type": "n8n-nodes-base.aggregate",
"typeVersion": 1,
"position": [
720,
-176
],
"id": "REDACTED_NODE_ID_10",
"name": "Aggregate"
},
{
"parameters": {
"jsCode": "const vacancies = items[0].json.data;\n\nconst text = vacancies.map(v => \n `\ud83d\udccc ${v.\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435}\\n\ud83c\udfe2 ${v.\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f}\\n\ud83d\udcb0 ${v.\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430} \u0440\u0443\u0431\\n\ud83d\udd17 ${v.\u0441\u0441\u044b\u043b\u043a\u0430}`\n).join('\\n\\n---\\n\\n');\n\nreturn [{ json: { \u0442\u0435\u043a\u0441\u0442: text } }];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
928,
-176
],
"id": "REDACTED_NODE_ID_11",
"name": "Code in JavaScript1"
},
{
"parameters": {
"aggregate": "aggregateAllItemData",
"options": {}
},
"type": "n8n-nodes-base.aggregate",
"typeVersion": 1,
"position": [
912,
16
],
"id": "REDACTED_NODE_ID_12",
"name": "Aggregate1"
},
{
"parameters": {
"jsCode": "const vacancies = items[0].json.data;\n\nconst text = vacancies.map(v => \n `\ud83d\udccc ${v.\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435}\\n\ud83c\udfe2 ${v.\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f}\\n\ud83d\udcb0 ${v.\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430} \u0440\u0443\u0431\\n\ud83d\udd17 ${v.\u0441\u0441\u044b\u043b\u043a\u0430}`\n).join('\\n\\n---\\n\\n');\n\nreturn [{ json: { \u0442\u0435\u043a\u0441\u0442: text } }];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1104,
16
],
"id": "REDACTED_NODE_ID_13",
"name": "Code in JavaScript2"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
"value": "={{ $('Code in JavaScript').item.json[\"\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f",
"value": "={{ $('Code in JavaScript').item.json[\"\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430",
"value": "={{ $('Code in JavaScript').item.json[\"\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\"] }}",
"type": "number"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0444\u043e\u0440\u043c\u0430\u0442",
"value": "={{ $('Code in JavaScript').item.json[\"\u0444\u043e\u0440\u043c\u0430\u0442\"] }}",
"type": "string"
},
{
"id": "REDACTED_INTERNAL_ID",
"name": "\u0441\u0441\u044b\u043b\u043a\u0430",
"value": "={{ $('Code in JavaScript').item.json[\"\u0441\u0441\u044b\u043b\u043a\u0430\"] }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
720,
16
],
"id": "REDACTED_NODE_ID_14",
"name": "Edit Fields1"
}
],
"connections": {
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"Groq Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"If": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Code in JavaScript1",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript1": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"Aggregate1": {
"main": [
[
{
"node": "Code in JavaScript2",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript2": {
"main": [
[
{
"node": "Send a text message1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "Aggregate1",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate"
},
"versionId": "REDACTED_VERSION_ID",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "REDACTED_WORKFLOW_ID",
"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.
groqApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
умный парсер. Uses httpRequest, agent, lmChatGroq, telegram. Event-driven trigger; 15 nodes.
Source: https://github.com/Andy-randy/n8n-portfolio/blob/63bbcdce72c7f2473ea9e267938078ee6e2fa7dc/03-hh-parser/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.
Bitlab-Chatbot. Uses telegramTrigger, telegram, snowflake, httpRequest. Event-driven trigger; 87 nodes.
god_is_typing v2.6 (Multi-channel: Telegram + Web). Uses telegramTrigger, telegram, supabase, httpRequest. Event-driven trigger; 66 nodes.
This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents.
This n8n template automates the creation and approval of Twitter (X) content using real-time news data, AI-generated text, and a human approval workflow.
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.