Друга автоматизація: Облік витрат без зайвих зусиль
{
"name": "финансы",
"flow": [
{
"id": 1,
"module": "telegram:WatchUpdates",
"version": 1,
"parameters": {
"__IMTHOOK__": 2292990
},
"mapper": {},
"metadata": {
"designer": {
"x": -213,
"y": 21
},
"restore": {
"parameters": {
"__IMTHOOK__": {
"label": "My Telegram Bot Updates webhook",
"data": {
"editable": "false"
}
}
}
},
"parameters": [
{
"name": "__IMTHOOK__",
"type": "hook:telegramapi",
"label": "Webhook",
"required": true
}
]
}
},
{
"id": 2,
"module": "builtin:BasicRouter",
"version": 1,
"mapper": null,
"metadata": {
"designer": {
"x": 87,
"y": 21
}
},
"routes": [
{
"flow": [
{
"id": 4,
"module": "telegram:DownloadFile",
"version": 1,
"parameters": {
"__IMTCONN__": 7994156
},
"filter": {
"name": "",
"conditions": [
[
{
"a": "{{1.message.text}}",
"b": "/start",
"o": "text:notequal"
},
{
"a": "{{1.message.document.file_id}}",
"o": "exist"
}
]
]
},
"mapper": {
"fileId": "{{1.message.document.file_id}}"
},
"metadata": {
"designer": {
"x": 387,
"y": -129
},
"restore": {
"parameters": {
"__IMTCONN__": {
"data": {
"scoped": "true",
"connection": "telegram"
},
"label": "ываываываыва"
}
}
},
"parameters": [
{
"name": "__IMTCONN__",
"type": "account:telegram",
"label": "Connection",
"required": true
}
],
"expect": [
{
"name": "fileId",
"type": "text",
"label": "File ID",
"required": true
}
]
}
},
{
"id": 5,
"module": "openai-gpt-3:analyzeImages",
"version": 1,
"parameters": {
"__IMTCONN__": 2088415
},
"mapper": {
"model": "gpt-4o",
"top_p": "1",
"images": [
{
"imageFileData": "{{4.fileOutput}}",
"imageUploadType": "imageFile"
}
],
"prompt": "Ты мой бухгалтер, твоя задача записывать все мои расходы. \nКогда я скажу что-то вроде \"Купил хлеб за 10$\", ты должен записать это в таблицу. Заполни данные следующим образом:\n- Дата: текущая дата\n- Сумма: 10$\n- Категория: еда (или другая соответствующая категория)\n- Сервис: магазин или платформа (название)\n- Товар: хлеб\n- Тип: личные или рабочие\n- Доход/Расход: Расход\n\nЕсли я присылаю изображение, посмотри на него и постарайся определить, какие расходы там изображены, и запиши их в таком же формате.\nи обязательно указывай все расходы, а не только первый.",
"max_tokens": "2048",
"temperature": "1",
"n_completions": "1"
},
"metadata": {
"designer": {
"x": 687,
"y": -129
},
"restore": {
"expect": {
"model": {
"mode": "chose",
"label": "gpt-4o"
},
"images": {
"mode": "chose",
"items": [
{
"imageUploadType": {
"mode": "chose",
"label": "Image File"
}
}
]
}
},
"parameters": {
"__IMTCONN__": {
"data": {
"scoped": "true",
"connection": "openai-gpt-3"
},
"label": "api личный"
}
}
},
"parameters": [
{
"name": "__IMTCONN__",
"type": "account:openai-gpt-3",
"label": "Connection",
"required": true
}
],
"expect": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "images",
"spec": {
"name": "value",
"spec": [
{
"name": "imageUploadType",
"type": "select",
"label": "How would you like to specify an image?",
"options": [
{
"label": "Image URL",
"value": "url",
"nested": [
{
"help": "Public URL of the image. For example, `https://getmyimage.com/myimage.png`.",
"mode": "edit",
"name": "imageUrl",
"type": "url",
"label": "Image URL",
"mappable": {
"help": "Public URL of the image. For example, `https://getmyimage.com/myimage.png`."
},
"required": true
}
],
"default": true
},
{
"label": "Image File",
"value": "imageFile",
"nested": [
{
"help": "Binary data of the image. For example, you can retrieve the binary data of your image using the __HTTP: Get a file__ module.",
"name": "imageFileData",
"type": "buffer",
"label": "Image File",
"required": true,
"semantic": "file:data"
}
]
}
],
"required": true
}
],
"type": "collection",
"label": "Image"
},
"type": "array",
"label": "Images",
"required": true
},
{
"name": "model",
"type": "select",
"label": "Model",
"required": true
},
{
"name": "max_tokens",
"type": "uinteger",
"label": "Max Completion Tokens"
},
{
"name": "temperature",
"type": "number",
"label": "Temperature",
"validate": {
"max": 2,
"min": 0
}
},
{
"name": "top_p",
"type": "number",
"label": "Top P",
"validate": {
"max": 1,
"min": 0
}
},
{
"name": "n_completions",
"type": "number",
"label": "Number"
}
]
}
},
{
"id": 6,
"module": "openai-gpt-3:transformTextToStructuredData",
"version": 1,
"parameters": {
"__IMTCONN__": 2088415
},
"mapper": {
"model": "gpt-4o",
"prompt": "Из текста необходимо извлечь все покупки. Если покупок несколько — вернуть массив объектов. У каждого объекта должны быть: product, sum, category, type.",
"rawText": "{{5.result}}",
"parameters": [
{
"name": "purchases",
"type": "arrayObject",
"isRequired": true,
"description": "список всех покупок",
"definitionName": "purchase"
}
],
"objectDefinitions": [
{
"name": "purchase",
"properties": [
{
"name": "sum",
"type": "string",
"isRequired": true,
"description": "цена"
},
{
"name": "product",
"type": "string",
"isRequired": true,
"description": "указать название продукта/товара/услуги"
},
{
"name": "category",
"type": "string",
"isRequired": true,
"description": "указать категорию траты или дохода"
},
{
"name": "type",
"type": "string",
"isRequired": true,
"description": "указать тип расхода личные или рабочие"
}
],
"description": "покупки"
}
]
},
"metadata": {
"designer": {
"x": 987,
"y": -129
},
"restore": {
"expect": {
"model": {
"mode": "chose",
"label": "gpt-4o (system)"
},
"parameters": {
"mode": "chose",
"items": [
{
"type": {
"mode": "chose",
"label": "Array (objects)"
},
"isRequired": {
"mode": "chose"
}
}
]
},
"objectDefinitions": {
"mode": "chose",
"items": [
{
"properties": {
"mode": "chose",
"items": [
{
"type": {
"mode": "chose",
"label": "Text"
},
"isRequired": {
"mode": "chose"
}
},
{
"type": {
"mode": "chose",
"label": "Text"
},
"isRequired": {
"mode": "chose"
}
},
{
"type": {
"mode": "chose",
"label": "Text"
},
"isRequired": {
"mode": "chose"
}
},
{
"type": {
"mode": "chose",
"label": "Text"
},
"isRequired": {
"mode": "chose"
}
}
]
}
}
]
}
},
"parameters": {
"__IMTCONN__": {
"data": {
"scoped": "true",
"connection": "openai-gpt-3"
},
"label": "api личный"
}
}
},
"parameters": [
{
"name": "__IMTCONN__",
"type": "account:openai-gpt-3",
"label": "Connection",
"required": true
}
],
"expect": [
{
"name": "model",
"type": "select",
"label": "Model",
"required": true
},
{
"name": "rawText",
"type": "text",
"label": "Text to Parse",
"required": true
},
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "parameters",
"spec": {
"name": "value",
"spec": [],
"type": "collection",
"label": "Data Definition"
},
"type": "array",
"label": "Structured Data Definition",
"required": true
},
{
"name": "objectDefinitions",
"spec": {
"name": "value",
"spec": [
{
"name": "name",
"type": "text",
"label": "Object Name",
"required": true
},
{
"name": "description",
"type": "text",
"label": "Description",
"required": true
},
{
"name": "properties",
"spec": {
"spec": [],
"type": "collection",
"label": "Property"
},
"type": "array",
"label": "Properties",
"labels": {
"add": "Add property"
},
"required": true
}
],
"type": "collection",
"label": "Object Definition"
},
"type": "array",
"label": "Object Definitions"
}
],
"interface": [
{
"name": "purchases",
"type": "arrayObject"
}
]
}
},
{
"id": 8,
"module": "builtin:BasicFeeder",
"version": 1,
"parameters": {},
"mapper": {
"array": "{{6.purchases}}"
},
"metadata": {
"designer": {
"x": 1287,
"y": -129
},
"restore": {
"expect": {
"array": {
"mode": "edit"
}
}
},
"expect": [
{
"mode": "edit",
"name": "array",
"spec": [],
"type": "array",
"label": "Array"
}
]
}
},
{
"id": 7,
"module": "google-sheets:addRow",
"version": 2,
"parameters": {
"__IMTCONN__": 7818794
},
"mapper": {
"from": "drive",
"mode": "select",
"values": {
"0": "{{formatDate(now; \"DD.MM.YYYY\")}}",
"1": "{{8.sum}}",
"2": "{{8.product}}",
"3": "{{8.category}}",
"4": "{{8.type}}"
},
"sheetId": "Расходы",
"spreadsheetId": "/1F6iIXu_QyIS0fAiFf884poA3d0U6gKDp_d8bZw12ryI",
"includesHeaders": true,
"insertDataOption": "INSERT_ROWS",
"valueInputOption": "USER_ENTERED",
"insertUnformatted": false
},
"metadata": {
"designer": {
"x": 1587,
"y": -129
},
"restore": {
"expect": {
"from": {
"label": "My Drive"
},
"mode": {
"label": "Search by path"
},
"sheetId": {
"label": "Расходы"
},
"spreadsheetId": {
"path": [
"youtube auto"
]
},
"includesHeaders": {
"label": "Yes",
"nested": [
{
"name": "values",
"spec": [
{
"name": "0",
"type": "text",
"label": "Дата (A)"
},
{
"name": "1",
"type": "text",
"label": "Сумма (B)"
},
{
"name": "2",
"type": "text",
"label": "Продукт/товар (C)"
},
{
"name": "3",
"type": "text",
"label": "Категория (D)"
},
{
"name": "4",
"type": "text",
"label": "Доход/расход (E)"
},
{
"name": "5",
"type": "text",
"label": "Тип (F)"
},
{
"name": "6",
"type": "text",
"label": "(G)"
},
{
"name": "7",
"type": "text",
"label": "(H)"
},
{
"name": "8",
"type": "text",
"label": "(I)"
},
{
"name": "9",
"type": "text",
"label": "(J)"
},
{
"name": "10",
"type": "text",
"label": "(K)"
},
{
"name": "11",
"type": "text",
"label": "(L)"
},
{
"name": "12",
"type": "text",
"label": "(M)"
},
{
"name": "13",
"type": "text",
"label": "(N)"
},
{
"name": "14",
"type": "text",
"label": "(O)"
},
{
"name": "15",
"type": "text",
"label": "(P)"
},
{
"name": "16",
"type": "text",
"label": "(Q)"
},
{
"name": "17",
"type": "text",
"label": "(R)"
},
{
"name": "18",
"type": "text",
"label": "(S)"
},
{
"name": "19",
"type": "text",
"label": "(T)"
},
{
"name": "20",
"type": "text",
"label": "(U)"
},
{
"name": "21",
"type": "text",
"label": "(V)"
},
{
"name": "22",
"type": "text",
"label": "(W)"
},
{
"name": "23",
"type": "text",
"label": "(X)"
},
{
"name": "24",
"type": "text",
"label": "(Y)"
},
{
"name": "25",
"type": "text",
"label": "(Z)"
}
],
"type": "collection",
"label": "Values"
}
]
},
"insertDataOption": {
"mode": "chose",
"label": "Insert rows"
},
"valueInputOption": {
"mode": "chose",
"label": "User entered"
},
"insertUnformatted": {
"mode": "chose"
}
},
"parameters": {
"__IMTCONN__": {
"data": {
"scoped": "true",
"connection": "google"
},
"label": "My Google connection (santiment363@gmail.com)"
}
}
},
"parameters": [
{
"name": "__IMTCONN__",
"type": "account:google",
"label": "Connection",
"required": true
}
],
"expect": [
{
"name": "mode",
"type": "select",
"label": "Search Method",
"required": true,
"validate": {
"enum": [
"select",
"fromAll",
"map"
]
}
},
{
"name": "insertUnformatted",
"type": "boolean",
"label": "Unformatted",
"required": true
},
{
"name": "valueInputOption",
"type": "select",
"label": "Value input option",
"validate": {
"enum": [
"USER_ENTERED",
"RAW"
]
}
},
{
"name": "insertDataOption",
"type": "select",
"label": "Insert data option",
"validate": {
"enum": [
"INSERT_ROWS",
"OVERWRITE"
]
}
},
{
"name": "from",
"type": "select",
"label": "Drive",
"required": true,
"validate": {
"enum": [
"drive",
"share",
"team"
]
}
},
{
"name": "spreadsheetId",
"type": "file",
"label": "Spreadsheet ID",
"required": true
},
{
"name": "sheetId",
"type": "select",
"label": "Sheet Name",
"required": true
},
{
"name": "includesHeaders",
"type": "select",
"label": "Table contains headers",
"required": true,
"validate": {
"enum": [
true,
false
]
}
},
{
"name": "values",
"spec": [
{
"name": "0",
"type": "text",
"label": "Дата (A)"
},
{
"name": "1",
"type": "text",
"label": "Сумма (B)"
},
{
"name": "2",
"type": "text",
"label": "Продукт/товар (C)"
},
{
"name": "3",
"type": "text",
"label": "Категория (D)"
},
{
"name": "4",
"type": "text",
"label": "Доход/расход (E)"
},
{
"name": "5",
"type": "text",
"label": "Тип (F)"
},
{
"name": "6",
"type": "text",
"label": "(G)"
},
{
"name": "7",
"type": "text",
"label": "(H)"
},
{
"name": "8",
"type": "text",
"label": "(I)"
},
{
"name": "9",
"type": "text",
"label": "(J)"
},
{
"name": "10",
"type": "text",
"label": "(K)"
},
{
"name": "11",
"type": "text",
"label": "(L)"
},
{
"name": "12",
"type": "text",
"label": "(M)"
},
{
"name": "13",
"type": "text",
"label": "(N)"
},
{
"name": "14",
"type": "text",
"label": "(O)"
},
{
"name": "15",
"type": "text",
"label": "(P)"
},
{
"name": "16",
"type": "text",
"label": "(Q)"
},
{
"name": "17",
"type": "text",
"label": "(R)"
},
{
"name": "18",
"type": "text",
"label": "(S)"
},
{
"name": "19",
"type": "text",
"label": "(T)"
},
{
"name": "20",
"type": "text",
"label": "(U)"
},
{
"name": "21",
"type": "text",
"label": "(V)"
},
{
"name": "22",
"type": "text",
"label": "(W)"
},
{
"name": "23",
"type": "text",
"label": "(X)"
},
{
"name": "24",
"type": "text",
"label": "(Y)"
},
{
"name": "25",
"type": "text",
"label": "(Z)"
}
],
"type": "collection",
"label": "Values"
}
]
}
}
]
},
{
"flow": [
{
"id": 3,
"module": "telegram:SendReplyMessage",
"version": 1,
"parameters": {
"__IMTCONN__": 7994156
},
"filter": {
"name": "/start",
"conditions": [
[
{
"a": "{{1.message.text}}",
"b": "/start",
"o": "text:equal"
}
]
]
},
"mapper": {
"text": "Привет 👋 \n\nПрисылай сюда все свои траты в любом формате:\n\n👉 *Можно голосом*\n👉 *Можно текстом*\n👉 *Можно скриншотом* (но прикрепляй как файл)",
"chatId": "{{1.message.chat.id}}",
"parseMode": "Markdown",
"replyMarkup": "",
"messageThreadId": "",
"replyToMessageId": "",
"replyMarkupAssembleType": "reply_markup_enter"
},
"metadata": {
"designer": {
"x": 415,
"y": 235
},
"restore": {
"expect": {
"parseMode": {
"label": "Markdown"
},
"disableNotification": {
"mode": "chose"
},
"replyMarkupAssembleType": {
"label": "Enter the Reply Markup"
}
},
"parameters": {
"__IMTCONN__": {
"data": {
"scoped": "true",
"connection": "telegram"
},
"label": "ываываываыва"
}
}
},
"parameters": [
{
"name": "__IMTCONN__",
"type": "account:telegram",
"label": "Connection",
"required": true
}
],
"expect": [
{
"name": "chatId",
"type": "text",
"label": "Chat ID",
"required": true
},
{
"name": "text",
"type": "text",
"label": "Text",
"required": true
},
{
"name": "messageThreadId",
"type": "number",
"label": "Message Thread ID"
},
{
"name": "parseMode",
"type": "select",
"label": "Parse Mode",
"validate": {
"enum": [
"Markdown",
"HTML"
]
}
},
{
"name": "disableNotification",
"type": "boolean",
"label": "Disable Notifications"
},
{
"name": "disableWebPagePreview",
"type": "boolean",
"label": "Disable Link Previews"
},
{
"name": "replyToMessageId",
"type": "number",
"label": "Original Message ID"
},
{
"name": "replyMarkupAssembleType",
"type": "select",
"label": "Enter/Assemble the Reply Markup Field",
"validate": {
"enum": [
"reply_markup_enter",
"reply_markup_assemble"
]
}
},
{
"name": "replyMarkup",
"type": "text",
"label": "Reply Markup"
},
{
"name": "chatId",
"type": "text",
"label": "Chat ID",
"required": true
},
{
"name": "text",
"type": "text",
"label": "Text",
"required": true
},
{
"name": "messageThreadId",
"type": "number",
"label": "Message Thread ID"
},
{
"name": "parseMode",
"type": "select",
"label": "Parse Mode",
"validate": {
"enum": [
"Markdown",
"HTML"
]
}
},
{
"name": "disableNotification",
"type": "boolean",
"label": "Disable Notifications"
},
{
"name": "disableWebPagePreview",
"type": "boolean",
"label": "Disable Link Previews"
},
{
"name": "replyToMessageId",
"type": "number",
"label": "Original Message ID"
},
{
"name": "replyMarkupAssembleType",
"type": "select",
"label": "Enter/Assemble the Reply Markup Field",
"validate": {
"enum": [
"reply_markup_enter",
"reply_markup_assemble"
]
}
},
{
"name": "replyMarkup",
"type": "text",
"label": "Reply Markup"
}
]
}
}
]
}
]
}
],
"metadata": {
"instant": true,
"version": 1,
"scenario": {
"roundtrips": 1,
"maxErrors": 3,
"autoCommit": true,
"autoCommitTriggerLast": true,
"sequential": false,
"slots": null,
"confidential": false,
"dataloss": false,
"dlq": false,
"freshVariables": false
},
"designer": {
"orphans": []
},
"zone": "eu2.make.com",
"notes": []
}
}
PreviousПерша автоматизація: Опис автоматизації: Форма на сайтіNextТретя автоматизація: Моніторинг сайтів
Last updated