YNAB資産価値サブワークフロー
上級
これはPersonal Productivity, Multimodal AI分野の自動化ワークフローで、17個のノードを含みます。主にIf, Set, Crypto, Discord, HttpRequestなどのノードを使用。 Rentcast.ioとDiscordを使ってYNABでの不動産価値更新を自動化
前提条件
- •Discord Bot Token または Webhook
- •ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "d3bI8kfQ6uKjfER3",
"meta": {
"instanceId": "ae3a7d69e340d9eec0196c03fd00e81b6e376d3084103c5850dd2cee1ac033f6"
},
"name": "YNAB Property Value Subworkflow",
"tags": [],
"nodes": [
{
"id": "d46c4d7e-10ff-498c-a009-9f684bd895f4",
"name": "操作なし, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
1344,
144
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e6ee1747-c27b-4cfc-94fd-4e3aa9daea9d",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
224,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "288b3077-cf0f-4e97-b8ee-460cbd788e54",
"name": "rentcast_api",
"type": "string",
"value": "={{ $json.rentcast_api }}"
},
{
"id": "18b6218a-822d-4458-9cfd-abd3e9682139",
"name": "ynab_api",
"type": "string",
"value": "={{ $json.ynab_api }}"
},
{
"id": "18f5b320-426b-4d62-97e4-dbfc2b9698be",
"name": "address",
"type": "string",
"value": "={{ $json.address }}"
},
{
"id": "87861b17-9350-4c75-aea1-e802a4801dbe",
"name": "propertyType",
"type": "string",
"value": "={{ $json.propertyType }}"
},
{
"id": "c0e713a4-aad3-4d6f-b757-232ee6e148bd",
"name": "bedrooms",
"type": "number",
"value": "={{ $json.bedrooms }}"
},
{
"id": "96902f6b-ba5a-45af-9ccc-a354e915bf52",
"name": "bathrooms",
"type": "number",
"value": "={{ $json.bathrooms }}"
},
{
"id": "9e0e7ad0-1eac-47cf-a9c4-77d9abb55d88",
"name": "squareFootage",
"type": "number",
"value": "={{ $json.squareFootage }}"
},
{
"id": "6a079c8e-e3f2-455c-8749-d5f0634ea2c5",
"name": "ynab_budget",
"type": "string",
"value": "={{ $json.ynab_budget }}"
},
{
"id": "c4bce4a9-816f-4c72-a1d3-84181a2c1c63",
"name": "ynab_account",
"type": "string",
"value": "={{ $json.ynab_account }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "73000abb-1a23-4f86-a091-d47973c40710",
"name": "YNAB Asset Value",
"type": "n8n-nodes-base.httpRequest",
"position": [
672,
48
],
"parameters": {
"url": "=https://api.ynab.com/v1/budgets/{{$('Edit Fields').item.json.ynab_budget}}/accounts/{{$('Edit Fields').item.json.ynab_account}}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
},
{
"name": "Authorization",
"value": "=Bearer {{ $('Edit Fields').item.json.ynab_api }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "f36fdf71-cc82-4c9f-a3e4-2201a34a40a6",
"name": "Get Value",
"type": "n8n-nodes-base.set",
"position": [
896,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ce68c03d-a486-4fb1-a688-5b4b92b79b14",
"name": "data.account.balance",
"type": "number",
"value": "={{ $json.data.account.balance /1000}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8cd50113-3a53-43fa-a0a9-d381d49d7ad0",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1120,
48
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1c3b354c-9fc2-4468-8130-1c14bc674645",
"operator": {
"type": "number",
"operation": "notEquals"
},
"leftValue": "={{ Math.round(($('Get Property Value').item.json.price * 1000) - $('Get Value').item.json.data.account.balance * 1000) }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e81cd156-355e-4add-8f1c-783f2910b87a",
"name": "Get Property Value",
"type": "n8n-nodes-base.httpRequest",
"position": [
448,
48
],
"parameters": {
"url": "=https://api.rentcast.io/v1/avm/value?address={{encodeURIComponent($json.address)}}&propertyType={{encodeURIComponent($json.propertyType)}}&bedrooms={{$json.bedrooms}}&bathrooms={{$json.bathrooms}}&squareFootage={{$json.squareFootage}}&compCount=5",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "X-Api-Key",
"value": "={{ $json.rentcast_api }}"
},
{
"name": "accept",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "a5d5449c-be98-4f57-81d8-23c625fcf9aa",
"name": "HTTP リクエスト",
"type": "n8n-nodes-base.httpRequest",
"position": [
1568,
-48
],
"parameters": {
"url": "=https://api.ynab.com/v1/budgets/{{ $('Edit Fields').item.json.ynab_budget }}/transactions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"transaction\": {\n \"account_id\": \"{{ $('Edit Fields').item.json.ynab_account }}\",\n \"date\": \"{{$today.format('yyyy-MM-dd')}}\",\n \"amount\": {{ Math.round(($('Get Property Value').item.json.price * 1000) - $('Get Value').item.json.data.account.balance * 1000) }},\n \"payee_name\": \"n8n\",\n \"memo\": \"n8n adjustment from rentcast.io\",\n \"cleared\": \"reconciled\",\n \"approved\": true,\n \"flag_color\": \"yellow\",\n \"subtransactions\": [],\n \"import_id\": \"{{ $json.data }}\"\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
},
{
"name": "Authorization",
"value": "=Bearer {{ $('Edit Fields').item.json.ynab_api }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "639257f6-0f8e-4306-bdeb-32f7d1bf4536",
"name": "暗号化",
"type": "n8n-nodes-base.crypto",
"position": [
1344,
-48
],
"parameters": {
"action": "generate"
},
"typeVersion": 1
},
{
"id": "d1740d6a-2c15-4bfc-9ccd-37ab0834a707",
"name": "開始",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
16,
48
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "rentcast_api"
},
{
"name": "ynab_api"
},
{
"name": "address"
},
{
"name": "propertyType"
},
{
"name": "bedrooms",
"type": "number"
},
{
"name": "squareFootage",
"type": "number"
},
{
"name": "ynab_budget"
},
{
"name": "ynab_account"
},
{
"name": "bathrooms",
"type": "number"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "b12c0b5d-21a5-450c-907e-111d0ed59cfb",
"name": "Discord No Change",
"type": "n8n-nodes-base.discord",
"position": [
1568,
144
],
"webhookId": "2dbc856f-8ac7-46ee-92df-46157dd4ed35",
"parameters": {
"content": "=No change in property value\nAddress: {{ $('Edit Fields').item.json.address }}\nValue: {{ '$' + ($('Get Value').item.json.data.account.balance).toLocaleString('en-US') }}",
"options": {
"username": "n8n Equity Watcher",
"avatar_url": "https://www.iconsdb.com/icons/download/navy-blue/house-64.png"
},
"authentication": "webhook"
},
"credentials": {
"discordWebhookApi": {
"id": "jtusjd0AfNR35Ocl",
"name": "Discord Webhook Budget Items"
}
},
"typeVersion": 2
},
{
"id": "8d434762-5406-45a4-bdab-111f5e63d9c5",
"name": "Discord Changed",
"type": "n8n-nodes-base.discord",
"position": [
1824,
-48
],
"webhookId": "2dbc856f-8ac7-46ee-92df-46157dd4ed35",
"parameters": {
"content": "=💵 Property Value Changed \nAddresss: {{ $('Edit Fields').item.json.address }}\nValue: {{ '$' + ($('Get Property Value').item.json.price).toLocaleString('en-US') }}\n\n",
"options": {
"username": "n8n Equity Watcher",
"avatar_url": "https://www.iconsdb.com/icons/download/navy-blue/house-64.png"
},
"authentication": "webhook"
},
"credentials": {
"discordWebhookApi": {
"id": "jtusjd0AfNR35Ocl",
"name": "Discord Webhook Budget Items"
}
},
"typeVersion": 2
},
{
"id": "9d58ca53-e05e-4cae-ad81-c6198cb15834",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
-240
],
"parameters": {
"width": 2064,
"height": 688,
"content": "## YNAB Property Value\n### Leverages the rentcast.io api to fetch approximate value of real estate. \n### It then creates an adjustment transaction in YNAB to reflect the asset value. \n### Rentago provides 50 free api requests per month, then its $0.20 per request. \n"
},
"typeVersion": 1
},
{
"id": "693b592c-0e99-4851-9d03-15a355821e15",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-32
],
"parameters": {
"color": 4,
"width": 208,
"height": 256,
"content": "### rentago.io api fetch"
},
"typeVersion": 1
},
{
"id": "8ddbddb4-009f-4886-bd1d-c1571e25c186",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1056,
-32
],
"parameters": {
"color": 4,
"height": 256,
"content": "### If property value has changed 0 dollars, do nothing.\n"
},
"typeVersion": 1
},
{
"id": "8e9ef8fb-002a-48ba-94e4-72b58a807ec7",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
-32
],
"parameters": {
"color": 4,
"width": 400,
"height": 256,
"content": "### Compare rentago property value with the current asset value in YNAB"
},
"typeVersion": 1
},
{
"id": "0d4a761c-9789-4af8-b0a1-587434aa311a",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
-32
],
"parameters": {
"color": 4,
"width": 400,
"height": 256,
"content": "### This workflow is intended to be a subworkflow that can be called multiple times (once per property)"
},
"typeVersion": 1
},
{
"id": "88898c45-2502-4cb0-8187-de6d8efc9b5d",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1504,
-128
],
"parameters": {
"color": 4,
"height": 256,
"content": "### Create adjustment transaction in YNAB\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "dba17b05-6291-482b-8e8c-dcec6454254a",
"connections": {
"8cd50113-3a53-43fa-a0a9-d381d49d7ad0": {
"main": [
[
{
"node": "Crypto",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Start": {
"main": [
[
{
"node": "e6ee1747-c27b-4cfc-94fd-4e3aa9daea9d",
"type": "main",
"index": 0
}
]
]
},
"Crypto": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"f36fdf71-cc82-4c9f-a3e4-2201a34a40a6": {
"main": [
[
{
"node": "8cd50113-3a53-43fa-a0a9-d381d49d7ad0",
"type": "main",
"index": 0
}
]
]
},
"e6ee1747-c27b-4cfc-94fd-4e3aa9daea9d": {
"main": [
[
{
"node": "e81cd156-355e-4add-8f1c-783f2910b87a",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "8d434762-5406-45a4-bdab-111f5e63d9c5",
"type": "main",
"index": 0
}
]
]
},
"73000abb-1a23-4f86-a091-d47973c40710": {
"main": [
[
{
"node": "f36fdf71-cc82-4c9f-a3e4-2201a34a40a6",
"type": "main",
"index": 0
}
]
]
},
"e81cd156-355e-4add-8f1c-783f2910b87a": {
"main": [
[
{
"node": "73000abb-1a23-4f86-a091-d47973c40710",
"type": "main",
"index": 0
}
]
]
},
"No Operation, do nothing": {
"main": [
[
{
"node": "b12c0b5d-21a5-450c-907e-111d0ed59cfb",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - 個人の生産性, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
YNABによる自動のな予算管理
GPT-5-Miniを使ってYNABの取引を自動分類しDiscordへの通知を送信
If
Set
Merge
+
If
Set
Merge
29 ノードspencer owen
AI要約
ComfyUI を使用して AI メディアの生成:画像、動画、3D、オーディオ橋渡し
ComfyUI を使って AI メディアを生成する:画像、動画、3D、オーディオ連携
If
Set
Code
+
If
Set
Code
51 ノードNielo
デザイン
✨🩷自動化ソーシャルメディアコンテンツ公開工厂 + 系统提示组合
基于动态系统提示とGPT-4oのAI驱动多平台ソーシャルメディアコンテンツ工厂
If
Set
Code
+
If
Set
Code
100 ノードAmit Mehta
コンテンツ作成
Go High Level で Redis と Anthropic を使ってWhatsApp への返信を自動化
Go High Level、Redis、Anthropicを使ってWhatsAppの回答を自動化する
If
Set
Code
+
If
Set
Code
31 ノードJorge Martínez
AIチャットボット
バッチSEOコンテンツ生成とAI画像付きWebflowドラフト作成(テンプレート)
GPT、Gemini画像、Webflowデラフトで行う大量SEOコンテンツ生成
If
Set
Code
+
If
Set
Code
54 ノードDahiana
コンテンツ作成
✨🩷ソーシャルメディアコンテンツ自動投稿工場 + システムプロンプト組み合わせ
GPT-4oを使用して6つのプラットフォーム向けにプラットフォーム最適化されたソーシャルメディアコンテンツを生成
If
Set
Code
+
If
Set
Code
100 ノードLuan Correia
ソーシャルメディア