{ "name": "Bitrix Agent", "nodes": [ { "parameters": { "options": {} }, "type": "@n8n/n8n-nodes-langchain.chatTrigger", "typeVersion": 1.1, "position": [ 220, 0 ], "id": "f5742a3f-0988-4e6c-94c4-3f75fa8852e2", "name": "When chat message received", "webhookId": "30ffc53c-0263-46ca-b47e-317ec04a0f67" }, { "parameters": { "options": { "systemMessage": "=\n\nBitrix24 Deal Creator\nАгент для создания сделок в CRM BITREX, который собирает необходимые данные у пользователя и создает сделку через API Bitrix24\n{{$now}}\n\n\nПомогать пользователям создавать новые сделки в CRM BITREX путем сбора всей необходимой информации в ходе диалога и отправки данных через API\n\n\n\n\nПроведите пользователя через процесс создания сделки, собирая следующие данные:\n1. Название сделки (title) - обязательное поле\n2. Тип сделки (typeId) - обязательное поле, варианты: SALE, GOODS, SERVICE\n3. Стадия сделки (stageId) - обязательное поле, варианты: NEW, PREPARATION, NEGOTIATION, FINAL_INVOICE, WON, LOSE\n4. Сумма сделки (OPPORTUNITY) - необязательное поле\n5. Валюта (CURRENCY_ID) - необязательное поле, по умолчанию USD\n6. Вероятность (PROBABILITY) - необязательное поле\n7. ID компании (COMPANY_ID) - необязательное поле\n8. ID контакта (CONTACT_ID) - необязательное поле\n9. Дата начала (BEGINDATE) - необязательное поле\n10. Дата закрытия (CLOSEDATE) - необязательное поле\n11. Ответственный (ASSIGNED_BY_ID) - необязательное поле\n\n\n\nПосле сбора всех данных от пользователя и их подтверждения, подготовьте JSON объект для отправки в API Bitrix24 в следующем формате:\n{\n \"fields\": {\n \"title\": \"Название сделки\",\n \"typeId\": \"SALE\",\n \"stageId\": \"NEW\",\n \"OPPORTUNITY\": 5000,\n \"CURRENCY_ID\": \"USD\",\n \"PROBABILITY\": 50,\n \"COMPANY_ID\": 3,\n \"CONTACT_ID\": 3,\n \"BEGINDATE\": \"2025-04-29T10:00:00+03:00\",\n \"CLOSEDATE\": \"2025-05-29T10:00:00+03:00\",\n \"ASSIGNED_BY_ID\": 1\n }\n}\n\nИспользуйте инструмент \"Create Deal\" для отправки данных.\n\n\n\nПеред отправкой данных в API выполните следующие проверки:\n1. Убедитесь, что все обязательные поля (title, typeId, stageId) заполнены\n2. Проверьте, что числовые поля содержат допустимые значения\n3. Правильно отформатируйте даты в формате Bitrix24 (YYYY-MM-DDThh:mm:ss+03:00)\n4. Обработайте возможные ошибки от API и предоставьте пользователю понятное объяснение\n5. В случае успешного создания сделки, сообщите пользователю ID новой сделки\n\n\n\nTools accessible to this Agent:\n1) Create Deal - используй для создания сделки\n\n\n\nИспользуйте дружелюбный и профессиональный стиль общения. Избегайте технического жаргона, если это не нужно для ясности. Проведите пользователя через процесс шаг за шагом, объясняя, какая информация нужна и почему. Используйте простой язык и приводите примеры при запросе конкретной информации. Будьте терпеливы, если пользователи не понимают определенную терминологию CRM, и объясняйте ее в бизнес-терминах, которые они могут понять. При возникновении ошибок объясняйте их нетехническими терминами и предлагайте четкие дальнейшие шаги.\n\n\n" } }, "type": "@n8n/n8n-nodes-langchain.agent", "typeVersion": 1.9, "position": [ 440, 0 ], "id": "a6cc7af7-4bb3-4f06-bd7b-aa636c0987d5", "name": "AI Agent" }, { "parameters": { "model": { "__rl": true, "value": "gpt-4.1", "mode": "list", "cachedResultName": "gpt-4.1" }, "options": {} }, "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "typeVersion": 1.2, "position": [ 380, 200 ], "id": "44682ca5-633e-4a26-acdb-e0e97df35779", "name": "OpenAI Chat Model", "credentials": { "openAiApi": { "id": "qKk5wVYPDLRt63R9", "name": "OpenAi account" } } }, { "parameters": { "contextWindowLength": 10 }, "type": "@n8n/n8n-nodes-langchain.memoryRedisChat", "typeVersion": 1.5, "position": [ 520, 260 ], "id": "ac686a07-2aec-4bfb-be43-2a1adc15569b", "name": "Redis Chat Memory", "credentials": { "redis": { "id": "knNOyGVUpH9IKLNz", "name": "Redis account" } } }, { "parameters": { "method": "POST", "url": "https://b24-ajabfq.bitrix24.ru/rest/1/ftvyxfb5pk3fk30r/crm.deal.add.json", "sendBody": true, "specifyBody": "json", "jsonBody": "={{ $fromAI('JSON', ``, 'json') }}", "options": {} }, "type": "n8n-nodes-base.httpRequestTool", "typeVersion": 4.2, "position": [ 680, 220 ], "id": "d3977026-05b5-4e00-9a37-07caf58ae55f", "name": "HTTP Request" }, { "parameters": { "method": "POST", "url": "https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.deal.list", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Accept", "value": "application/json" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "{\n \"SELECT\": [\n \"ID\",\n \"TITLE\",\n \"TYPE_ID\",\n \"CATEGORY_ID\",\n \"STAGE_ID\",\n \"OPPORTUNITY\",\n \"IS_MANUAL_OPPORTUNITY\",\n \"ASSIGNED_BY_ID\",\n \"DATE_CREATE\"\n ],\n \"FILTER\": {\n \"=%TITLE\": \"%а\",\n \"CATEGORY_ID\": 1,\n \"TYPE_ID\": \"COMPLEX\",\n \"STAGE_ID\": \"C1:NEW\",\n \">OPPORTUNITY\": 10000,\n \"<=OPPORTUNITY\": 20000,\n \"IS_MANUAL_OPPORTUNITY\": \"Y\",\n \"@ASSIGNED_BY_ID\": [\n 1,\n 6\n ],\n \">DATE_CREATE\": \"$(date --date='-6 months' +%Y-%m-%d)\"\n },\n \"ORDER\": {\n \"TITLE\": \"ASC\",\n \"OPPORTUNITY\": \"ASC\"\n }\n}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 880, 0 ], "id": "7ca17ab8-8913-43a5-bcda-2c041e2bbc1c", "name": "HTTP Request1", "disabled": true } ], "pinData": {}, "connections": { "When chat message received": { "main": [ [ { "node": "AI Agent", "type": "main", "index": 0 } ] ] }, "OpenAI Chat Model": { "ai_languageModel": [ [ { "node": "AI Agent", "type": "ai_languageModel", "index": 0 } ] ] }, "Redis Chat Memory": { "ai_memory": [ [ { "node": "AI Agent", "type": "ai_memory", "index": 0 } ] ] }, "HTTP Request": { "ai_tool": [ [ { "node": "AI Agent", "type": "ai_tool", "index": 0 } ] ] } }, "active": false, "settings": { "executionOrder": "v1" }, "meta": { "templateCredsSetupCompleted": true, "instanceId": "2d4526d7e2b7123bfb0e1996caa47744a7651d73096bbc7220a5e9657d119dfc" }, "tags": [], "id": "rpfh5esdRMkbDsk4", "versionId": "2bb8e966-b9b3-4341-b979-58472c7f094f" }