Aave 수익 최적화 (설정 하위 프로세스 없음)
고급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 24개의 노드를 포함합니다.주로 If, Code, Switch, OneShot, Telegram 등의 노드를 사용하며. 1Shot API 및 Telegram을 통한 지갑과 Aave 간 USDC 잔액 관리 자동화
사전 요구사항
- •Telegram Bot Token
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "NxJjrXhk47s8zf7o",
"meta": {
"instanceId": "62f017ec8f130d172e2e5f39bbf09515036bfd403dfa60fe06f5ab14b78705d0"
},
"name": "Aave Yield Optimization (no setup subflow)",
"tags": [],
"nodes": [
{
"id": "068172f3-69be-4925-9f21-eceb223e92ef",
"name": "USDC 승인",
"type": "n8n-nodes-1shot.oneShotSynch",
"notes": "Point this node at the 'approve' function on USDC.",
"onError": "continueRegularOutput",
"position": [
784,
496
],
"parameters": {
"params": "={\n \"spender\": \"{{ $('Savings Configs').first().json.pool }}\",\n \"value\": \"{{ $('Calculate Excess Funds').first().json.excessFunds }}\"\n}",
"operation": "executeAsDelegator",
"additionalFields": {
"memo": "=USDC Approve: {{ $('Calculate Excess Funds').first().json.excessFunds }}"
},
"contractMethodId": "96e49453-a8c6-4ac1-b45a-ee2f3f690c44",
"delegatorWalletAddress": "0x9fead8b19c044c2f404dac38b925ea16adaa2954"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "15483cb4-3746-4d9a-8d02-e10a0411179b",
"name": "Aave L2Pool에 USDC 예치",
"type": "n8n-nodes-1shot.oneShotSynch",
"notes": "Point this node at the 'supply' function on the Aave: Pool (Base) contract.",
"onError": "continueRegularOutput",
"position": [
1008,
416
],
"parameters": {
"params": "={\n \"asset\": \"{{ $('Savings Configs').first().json.token }}\",\n \"amount\": \"{{ $('Calculate Excess Funds').first().json.excessFunds }}\",\n \"onBehalfOf\": \"{{ $('Savings Configs').first().json.delegator }}\",\n \"referralCode\": \"0\"\n}",
"operation": "executeAsDelegator",
"additionalFields": {
"memo": "=Aave deposit: {{ $('Calculate Excess Funds').first().json.excessFunds }}",
"gasLimit": "400000"
},
"contractMethodId": "74f01f06-c0aa-40ac-80fc-6b297ef0f01c",
"delegatorWalletAddress": "0x9fead8b19c044c2f404dac38b925ea16adaa2954"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "2ee7dbb8-f524-4220-be50-6f62fedf4da2",
"name": "트리거 예약",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-560,
992
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "36deb2f1-5ba4-42e6-b3bd-68410889a459",
"name": "초과 자금 계산",
"type": "n8n-nodes-base.code",
"position": [
560,
480
],
"parameters": {
"jsCode": "const excessFunds = parseInt($('Check User\\'s USDC Balance').first().json.response) - parseInt($('Savings Configs').first().json.moveToSavingsThreshold)\n\n$input.first().json.excessFunds = excessFunds;\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "906abb69-e734-4fbe-aafd-f478cc0a7553",
"name": "예치 확인",
"type": "n8n-nodes-base.telegram",
"position": [
1680,
368
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "=Excess funds in your wallet (`{{ $('Savings Configs').item.json.delegator }}`) have been moved to Aave (tx hash: `{{ $('Deposit USDC into Aave L2Pool').item.json.transactionHash }}`). \n\nYour wallet balance is now `${{ parseInt($('Confirm User\\'s USDC Balance After Deposit').item.json.response)/1000000 }}` and you have `${{ parseInt($('Confirm User\\'s Aave Savings After Deposit').item.json.response)/1000000 }}` saved in Aave.",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "3300fe41-4de4-4f80-a7ae-167ffe5c5f98",
"name": "부족 자금 계산",
"type": "n8n-nodes-base.code",
"position": [
560,
992
],
"parameters": {
"jsCode": "const fundGap = parseInt($('Savings Configs').first().json.topOffBalance) - parseInt($('Check User\\'s USDC Balance').first().json.response)\n\n// withdraw enough saving to put us halfway between the upper and lower balance settings\n// the amount must be an Integer, so floor it to be sure\nlet withdrawAmount = Math.floor((parseInt($('Savings Configs').first().json.moveToSavingsThreshold) - parseInt($('Savings Configs').first().json.topOffBalance))/2) + fundGap\n\n// if there are not enough savings, move as much as you can\nif (withdrawAmount > parseInt($('Check User\\'s Aave Savings').first().json.response)) {\n withdrawAmount = parseInt($('Check User\\'s Aave Savings').first().json.response)\n}\n\n$input.first().json.fundGap = fundGap;\n$input.first().json.withdrawAmount = withdrawAmount;\n\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "14202261-9afa-4bc3-9f2c-acff09c66ae9",
"name": "Aave에서 인출",
"type": "n8n-nodes-1shot.oneShotSynch",
"notes": "Point this node at the 'withdraw' function on the Aave: Pool (Base) contract.",
"onError": "continueRegularOutput",
"position": [
1008,
896
],
"parameters": {
"params": "={\n \"asset\": \"{{ $('Savings Configs').first().json.token }}\",\n \"amount\": \"{{ $('Calculate Insufficient Funds').first().json.withdrawAmount }}\",\n \"to\": \"{{ $('Savings Configs').first().json.delegator }}\"\n}",
"operation": "executeAsDelegator",
"additionalFields": {
"memo": "=Aave Withdraw: {{ $json.withdrawAmount }}",
"gasLimit": "500000"
},
"contractMethodId": "0f504e54-6909-4ab0-93d6-39073851c8a9",
"delegatorWalletAddress": "0x9fead8b19c044c2f404dac38b925ea16adaa2954"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "6a2ac4b0-eea0-4163-bf09-abd0703d1177",
"name": "인출 확인",
"type": "n8n-nodes-base.telegram",
"position": [
1680,
800
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "=You wallet (`{{ $('Savings Configs').item.json.delegator }}`) has been topped off from your Aave savings (tx hash: `{{ $('Withdraw from Aave').item.json.transactionHash }}`).\n\nYour wallet balance is `${{ parseInt($('Confirm User\\'s USDC Balance After Withdraw').item.json.response)/1000000 }}` and you have `${{ parseInt($('Confirm User\\'s Aave Savings After Withdraw').item.json.response)/1000000 }}` in savings in Aave.",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "2ef97cb6-7479-4291-90d0-16b6294ff473",
"name": "저축 설정",
"type": "n8n-nodes-base.code",
"position": [
-336,
992
],
"parameters": {
"jsCode": "// Any USDC balance above this gets stored in Aave\nconst moveToSavingsThreshold = 8564321; // set limit in atomic units (decimals)\n\n// If your balance drops below this, move funds from Aave into your account\n// IMPORTANT: this value must be less that moveToSavingsThreshold\nconst topOffBalance = 8123456; // set limit in atomic units (decimals)\n\nconst delegator = \"0x9fead8b19c044c2f404dac38b925ea16adaa2954\"; // your delegated wallet address.\nconst token = \"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\" // USDC on Base\nconst pool = \"0xA238Dd80C259a72e81d7e4664a9801593F98d1c5\" // L2Pool on Base\nconst telegramChatId = 5034284669; // the chat id between you and your Telegram bot\n\n$input.first().json.moveToSavingsThreshold = moveToSavingsThreshold;\n$input.first().json.topOffBalance = topOffBalance;\n$input.first().json.delegator = delegator;\n$input.first().json.token = token;\n$input.first().json.pool = pool;\n$input.first().json.telegramChatId = telegramChatId;\n\nreturn $input.all();\n"
},
"typeVersion": 2
},
{
"id": "c95d9919-c82e-48b8-b2e5-3918fb11f04a",
"name": "사용자의 Aave 저축 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' function on aBasUSDC.",
"position": [
112,
992
],
"parameters": {
"params": "={\n \"user\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "6953085e-91a5-46d2-aff8-9267012490a6"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "ca8c9c20-db85-4d9c-8355-c1656d24ef4c",
"name": "사용자의 USDC 잔액 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' funcion on USDC.",
"position": [
-112,
992
],
"parameters": {
"params": "={\n \"account\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "cb02f30e-fe92-4445-b145-15e2b0891c28"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "7016ada5-0923-47bd-a632-17fad5ddc3f0",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
336,
976
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "deposit",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b2cc4c9d-6b1a-42bb-8506-cbc085b354e4",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ parseInt($('Check User\\'s USDC Balance').item.json.response) }}",
"rightValue": "={{ $('Savings Configs').item.json.moveToSavingsThreshold }}"
}
]
},
"renameOutput": true
},
{
"outputKey": "withdraw",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d647444f-1efd-49a8-8319-47c9780e39b1",
"operator": {
"type": "number",
"operation": "lt"
},
"leftValue": "={{ parseInt($('Check User\\'s USDC Balance').item.json.response) }}",
"rightValue": "={{ $('Savings Configs').item.json.topOffBalance }}"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "8f76dfee-aa4b-46a5-87b5-5eca558312b3",
"name": "변경 없음, 계정 상태 전송",
"type": "n8n-nodes-base.telegram",
"position": [
560,
1184
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "=Your current account balance is `${{ parseInt($('Check User\\'s USDC Balance').item.json.response)/1000000 }}` and you have `${{ parseInt($('Check User\\'s Aave Savings').item.json.response)/1000000 }}` saved in Aave.",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "5e02f8f3-5b63-43c2-a769-1c89adecc5fd",
"name": "저축 부족 경고",
"type": "n8n-nodes-base.telegram",
"position": [
1008,
1088
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "=Your current account balance is `${{ parseInt($('Check User\\'s USDC Balance').item.json.response)/1000000 }}` and you have `${{ parseInt($('Check User\\'s Aave Savings').item.json.response)/100000 }}` saved in Aave.",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "6c0a3011-fe89-4dbb-954a-bbce96f7615b",
"name": "예치 실패 알림",
"type": "n8n-nodes-base.telegram",
"position": [
1232,
576
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "Aave Deposit failed",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "a35baa3e-5c75-493a-947f-53b3bfb3cf98",
"name": "인출 실패 알림",
"type": "n8n-nodes-base.telegram",
"position": [
1232,
992
],
"webhookId": "be1b7868-1626-4f44-b8d4-bec519faaace",
"parameters": {
"text": "=❌ Aave withdraw failed. \n\nYour wallet balance is `${{ parseInt($('Check User\\'s USDC Balance').item.json.response)/1000000 }}` and you have `${{ parseInt($('Check User\\'s Aave Savings').item.json.response)/1000000 }}`",
"chatId": "={{ $('Savings Configs').first().json.telegramChatId }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "uN6xtW1sUnA0WiMc",
"name": "@1shotdemobot"
}
},
"typeVersion": 1.2
},
{
"id": "0008742f-a49d-4cc3-9b80-a51a26f91289",
"name": "인출 후 사용자 USDC 잔액 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' function on USDC.",
"position": [
1232,
800
],
"parameters": {
"params": "={\n \"account\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "cb02f30e-fe92-4445-b145-15e2b0891c28"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "1a2f958f-d6fe-4295-bf3f-db2639d2f6eb",
"name": "인출 후 사용자 Aave 저축 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' function on aBasUSDC.",
"position": [
1456,
800
],
"parameters": {
"params": "={\n \"user\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "6953085e-91a5-46d2-aff8-9267012490a6"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "12fd82b4-f8db-4446-87f1-bcc6f1f8df16",
"name": "예치 후 사용자 USDC 잔액 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' function on USDC.",
"position": [
1232,
368
],
"parameters": {
"params": "={\n \"account\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "cb02f30e-fe92-4445-b145-15e2b0891c28"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "8691c25d-09e6-4f8d-984a-8e792ed25fb4",
"name": "예치 후 사용자 Aave 저축 확인",
"type": "n8n-nodes-1shot.oneShot",
"notes": "Point this node at the 'balanceOf' function on aBasUSDC.",
"position": [
1456,
368
],
"parameters": {
"params": "={\n \"user\": \"{{ $('Savings Configs').item.json.delegator }}\"\n} ",
"operation": "read",
"contractMethodId": "6953085e-91a5-46d2-aff8-9267012490a6"
},
"credentials": {
"oneShotOAuth2Api": {
"id": "nkfF9AitCKUCrErK",
"name": "1Shot account"
}
},
"typeVersion": 1
},
{
"id": "1dc64dab-0278-46cd-b7d3-17bd8dcb168b",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
672
],
"parameters": {
"width": 544,
"height": 256,
"content": "## Set Your Savings Thresholds\n\nClick on the `Savings Configs` node and set:\n\n1. The threshold where excess funds in your wallet are stored in Aave.\n2. The threshold below where funds are removed from Aave and put back into your wallet.\n3. Your wallet address that you have delegated to 1Shot API.\n4. The Telegram chat ID of you bot to receive notifications."
},
"typeVersion": 1
},
{
"id": "00fcdb46-2934-40c0-867c-fbd04a029e05",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 768,
"height": 416,
"content": "## Setup Instructions\n\nThis workflow will automatically balance your USDC funds on Base network so that you keep funds you aren't using in [Aave](https://aave.com/) to earn interest and automatically move funds out of savings back into your wallet when funds get low. \n\n1. Create a free [1Shot API](https://1shotapi.com) account.\n2. Generate an API key & secret and use these to create a credential for the 1Shot API nodes.\n3. Click the trigger on the subworkflow to automatically import the required smart contract functions and provision a 1Shot API server wallet on Base that will relay your transactions when you are not online. \n4. Point the 1Shot API nodes at the functions denoted in each nodes \"Settings\" notes box.\n5. Set your saving thresholds in the \"Savings Config\" node.\n6. Create a Telegram bot and use the bot's API key to generate a credential for the Telegram nodes. Get your chat id with the bot and input it into the \"Savings Config\" node. \n7. Configure your desired schedule in the \"Schedule\" trigger node (like every 24 hours)\n8. Activate the workflow."
},
"typeVersion": 1
},
{
"id": "be37d49b-5bf1-4423-bbb5-4e8745b3bc49",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-944,
80
],
"parameters": {
"width": 768,
"height": 560,
"content": "## YouTube Tutorial\n\n@[youtube](Hppd04sM4xE)\n"
},
"typeVersion": 1
},
{
"id": "85c55364-3b0b-46fc-b1ab-0785a427bf52",
"name": "사용자 충분한 저축 확인",
"type": "n8n-nodes-base.if",
"position": [
784,
992
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f9c2403a-4163-4c26-8452-6d12af40115b",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ parseInt($json.withdrawAmount) }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "daccf8c8-f7c3-4e7a-99f9-c2ac8761e2e9",
"connections": {
"7016ada5-0923-47bd-a632-17fad5ddc3f0": {
"main": [
[
{
"node": "36deb2f1-5ba4-42e6-b3bd-68410889a459",
"type": "main",
"index": 0
}
],
[
{
"node": "3300fe41-4de4-4f80-a7ae-167ffe5c5f98",
"type": "main",
"index": 0
}
],
[
{
"node": "8f76dfee-aa4b-46a5-87b5-5eca558312b3",
"type": "main",
"index": 0
}
]
]
},
"068172f3-69be-4925-9f21-eceb223e92ef": {
"main": [
[
{
"node": "15483cb4-3746-4d9a-8d02-e10a0411179b",
"type": "main",
"index": 0
}
],
[
{
"node": "6c0a3011-fe89-4dbb-954a-bbce96f7615b",
"type": "main",
"index": 0
}
]
]
},
"2ef97cb6-7479-4291-90d0-16b6294ff473": {
"main": [
[
{
"node": "ca8c9c20-db85-4d9c-8355-c1656d24ef4c",
"type": "main",
"index": 0
}
]
]
},
"2ee7dbb8-f524-4220-be50-6f62fedf4da2": {
"main": [
[
{
"node": "2ef97cb6-7479-4291-90d0-16b6294ff473",
"type": "main",
"index": 0
}
]
]
},
"14202261-9afa-4bc3-9f2c-acff09c66ae9": {
"main": [
[
{
"node": "0008742f-a49d-4cc3-9b80-a51a26f91289",
"type": "main",
"index": 0
}
],
[
{
"node": "a35baa3e-5c75-493a-947f-53b3bfb3cf98",
"type": "main",
"index": 0
}
]
]
},
"36deb2f1-5ba4-42e6-b3bd-68410889a459": {
"main": [
[
{
"node": "068172f3-69be-4925-9f21-eceb223e92ef",
"type": "main",
"index": 0
}
]
]
},
"c95d9919-c82e-48b8-b2e5-3918fb11f04a": {
"main": [
[
{
"node": "7016ada5-0923-47bd-a632-17fad5ddc3f0",
"type": "main",
"index": 0
}
]
]
},
"ca8c9c20-db85-4d9c-8355-c1656d24ef4c": {
"main": [
[
{
"node": "c95d9919-c82e-48b8-b2e5-3918fb11f04a",
"type": "main",
"index": 0
}
]
]
},
"3300fe41-4de4-4f80-a7ae-167ffe5c5f98": {
"main": [
[
{
"node": "85c55364-3b0b-46fc-b1ab-0785a427bf52",
"type": "main",
"index": 0
}
]
]
},
"15483cb4-3746-4d9a-8d02-e10a0411179b": {
"main": [
[
{
"node": "12fd82b4-f8db-4446-87f1-bcc6f1f8df16",
"type": "main",
"index": 0
}
],
[
{
"node": "6c0a3011-fe89-4dbb-954a-bbce96f7615b",
"type": "main",
"index": 0
}
]
]
},
"85c55364-3b0b-46fc-b1ab-0785a427bf52": {
"main": [
[
{
"node": "14202261-9afa-4bc3-9f2c-acff09c66ae9",
"type": "main",
"index": 0
}
],
[
{
"node": "5e02f8f3-5b63-43c2-a769-1c89adecc5fd",
"type": "main",
"index": 0
}
]
]
},
"8691c25d-09e6-4f8d-984a-8e792ed25fb4": {
"main": [
[
{
"node": "906abb69-e734-4fbe-aafd-f478cc0a7553",
"type": "main",
"index": 0
}
]
]
},
"12fd82b4-f8db-4446-87f1-bcc6f1f8df16": {
"main": [
[
{
"node": "8691c25d-09e6-4f8d-984a-8e792ed25fb4",
"type": "main",
"index": 0
}
]
]
},
"1a2f958f-d6fe-4295-bf3f-db2639d2f6eb": {
"main": [
[
{
"node": "6a2ac4b0-eea0-4163-bf09-abd0703d1177",
"type": "main",
"index": 0
}
]
]
},
"0008742f-a49d-4cc3-9b80-a51a26f91289": {
"main": [
[
{
"node": "1a2f958f-d6fe-4295-bf3f-db2639d2f6eb",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Uniswap V3 범위 트레이더 (두 번째 버전)
Uniswap V3, Telegram 알림 및 MetaMask 위임을 사용한 자동화된 레인지 트레이딩
If
Code
Switch
+
If
Code
Switch
41 노드1Shot API
기타
Uniswap V3를 사용한 DCA
Uniswap V3 및 1Shot API에서 달러 비용 평균법을 사용한 토큰 구매 자동화
Code
One Shot
Telegram
+
Code
One Shot
Telegram
14 노드1Shot API
암호화폐 거래
완전한 B2B 판매 프로세스: Apollo 잠재 고객 생성, Mailgun 프로모션 및 AI 응답 관리
완전한 B2B 판매 프로세스: Apollo 잠재 고객 생성, Mailgun 확장 및 AI 응답 관리
If
Set
Code
+
If
Set
Code
116 노드Paul
콘텐츠 제작
n8n 결제 조정자와 1Shot API
x402와 1Shot API를 사용하여 자체 호스팅 블록체인 결제 프로세서를 생성합니다.
If
Code
Webhook
+
If
Code
Webhook
27 노드1Shot API
암호화폐 거래
Telegram AI 가사 학습 봇 — 번역, 요약, 어휘
Telegram AI 가사 학습 봇 — 번역, 요약, 어휘
If
Set
Code
+
If
Set
Code
30 노드Raphael De Carvalho Florencio
콘텐츠 제작
AI 기반 동영상 제작 및 Instagram, TikTok, YouTube 업로드
클라우드 드라이브 기반 AI 기반 비디오 제작 및 Instagram, TikTok, YouTube 업로드
If
Set
Code
+
If
Set
Code
53 노드DevCode Journey
콘텐츠 제작