マーケットウォッチボット
中級
これはCrypto Trading分野の自動化ワークフローで、14個のノードを含みます。主にCode, Wait, Slack, HttpRequest, SplitInBatchesなどのノードを使用。 FinnHub APIとSlackテンプレート
前提条件
- •Slack Bot Token または Webhook URL
- •ターゲットAPIの認証情報が必要な場合あり
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "VYmYeHeu5eKYVLXA",
"meta": {
"instanceId": "3a80618028e8320a9c63d9239bfaf37c2f20bb22591695cb28556731cef25f4d",
"templateCredsSetupCompleted": true
},
"name": "Market Watcher Bot",
"tags": [
{
"id": "mmCdWnzPkjIpcvuR",
"name": "Investment",
"createdAt": "2025-06-15T04:39:59.965Z",
"updatedAt": "2025-06-15T04:39:59.965Z"
}
],
"nodes": [
{
"id": "a244c890-bc5f-4edd-91f4-37192d7807c2",
"name": "デイリーマーケットニューストリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-3000,
660
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "15 9 * * 1-5"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "1baa58b8-de7e-469c-a1ab-3c020e87714e",
"name": "HTTP リクエスト",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2340,
660
],
"parameters": {
"url": "https://finnhub.io/api/v1/company-news",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "symbol",
"value": "={{ $json.ticker }}"
},
{
"name": "from",
"value": "={{ $now.toLocal().toISO().split('T')[0] }}"
},
{
"name": "to",
"value": "={{ $now.toLocal().toISO().split('T')[0] }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "Tj0aIslgiVQgNZb4",
"name": "Header Auth - Finnhub"
}
},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "c36458a6-50c2-4219-b459-6629147c205e",
"name": "アイテムをループ",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-2560,
660
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "0da44d7e-1300-4d47-80f2-da63e647dfe8",
"name": "待機",
"type": "n8n-nodes-base.wait",
"position": [
-1260,
740
],
"webhookId": "6c990829-24a2-4dfd-a689-4bdbd37a8bd3",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "64246872-3c95-429f-93e8-561ad6b6b940",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
-1740,
660
],
"webhookId": "4a63a5b5-e257-430e-8956-8cd1a620c4f2",
"parameters": {
"text": "={{ $json.output }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "#stock-market"
},
"otherOptions": {
"includeLinkToWorkflow": false
}
},
"credentials": {
"slackApi": {
"id": "CBElgW2pS2InXBCW",
"name": "Slack Market Bot"
}
},
"typeVersion": 2.3
},
{
"id": "35e91c84-e051-4b71-91ea-2800d5919751",
"name": "フォーマット",
"type": "n8n-nodes-base.code",
"position": [
-2120,
660
],
"parameters": {
"jsCode": "let msg = '*' + ($input.first().json.related ? $input.first().json.related : $('Loop Over Items').first().json.ticker) + '* - Daily Market News :newspaper: \\n\\n';\n\nlet count = 0;\n\nif ($input.first().json.related) {\n for (const item of $input.all()) {\n count++;\n if (count <= 5) {\n msg += '- <' + item.json.url + '|' + item.json.headline + '>\\n';\n } else {\n break;\n }\n \n }\n} else {\n msg += 'No news found for this ticker'\n}\n\nreturn {\n output: msg\n}"
},
"typeVersion": 2
},
{
"id": "4ab6c87d-536e-4d40-a6c3-e92ed3f30e13",
"name": "操作なし(何もしない)",
"type": "n8n-nodes-base.noOp",
"position": [
-2360,
260
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4987c8e4-83da-403c-aca2-f56e77d9f4a9",
"name": "ティッカー準備",
"type": "n8n-nodes-base.code",
"position": [
-2780,
660
],
"parameters": {
"jsCode": "const tickers = [\"AAPL\", \"META\", \"NVDA\", \"TSLA\", \"MSFT\", \"AMZN\", \"GOOG\", \"IAU\", \"IBIT\", \"QQQ\", \"SPY\"];\n\nlet output = [];\n\nfor(const item of tickers) {\n output.push({ticker: item});\n}\n\nreturn output;"
},
"typeVersion": 2
},
{
"id": "8914ece4-d42b-4db9-a6dd-ef6310320e53",
"name": "付箋7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3820,
320
],
"parameters": {
"width": 460,
"height": 960,
"content": "## Daily Company News Bot\n### This n8n template demonstrates how to use Free FinnHub API to retrieve the company news from a list stock tickers and post messages in Slack channel with a pre-scheduled time.\n\n### How it works\n* We firstly define the list of stock tickers you are interested\n* Loop over items to call FinnHub API to get the latest company news via the ticker\n* Then we format the company news as a markdown text content which could be sent to Slack\n* Post a new message in Slack channel\n* Wait for 5 seconds, then move to the next ticker\n\n### How to use\n* Simply setup a scheduler trigger to automatically trigger the workflow\n\n### Requirements\n* FinnHub API Key\n* Slack channel webhook\n\n\n### Need Help?\nContact me via [My Blog](https://fans-ai-lab.com/contact) or ask in the [Forum](https://community.n8n.io/)!\n\nHappy Hacking!"
},
"typeVersion": 1
},
{
"id": "553353ca-c848-4110-91a5-ffdd9edabc28",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2840,
460
],
"parameters": {
"content": "## Prepare the list of the tickers \nFeel free to update the list of the tickers"
},
"typeVersion": 1
},
{
"id": "957ee9cc-3f32-4bed-aaf8-6ff3d9e8f1d3",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2380,
420
],
"parameters": {
"width": 440,
"height": 440,
"content": "## Retrieve company news via FinnHub API\n\n### FinnHub FREE API\n- go to [FinnHub API site](https://finnhub.io/)\n- get a free API key\n- create a FinnHub Header Auth credential in n8n\n\n"
},
"typeVersion": 1
},
{
"id": "eea4abee-a783-452c-afb1-496e658f2e38",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1900,
420
],
"parameters": {
"width": 440,
"height": 440,
"content": "## Post to Slack Channel via webhook\n\n### Slack Channel webhook\n- go your slack app management dashboard\n- create a new app\n- enable webhook for the newly created app\n\ndetails to follow this instruction [Sending messages using incoming webhooks](https://api.slack.com/messaging/webhooks)\n\n"
},
"typeVersion": 1
},
{
"id": "45362a93-2523-44e4-8e3e-1b642eaa7381",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1440,
420
],
"parameters": {
"width": 440,
"height": 440,
"content": "## Wait for 5 seconds\n\nYou can customize it to other waiting time you want. The main purpose here is to avoid sending too many requests to Finnhub at one time due to limited usage of FinnHub Free API\n\n"
},
"typeVersion": 1
},
{
"id": "51f5c38c-3fd9-4022-9c24-d83b4d98818d",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3060,
860
],
"parameters": {
"content": "## Cron scheduler\ncurrently it is scheduled every weekday morning at 9:15AM. You can customize it to any time you want"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1",
"timeSavedPerExecution": 15
},
"versionId": "e2ac836d-ee4b-4f78-b43b-e8054c511bc1",
"connections": {
"0da44d7e-1300-4d47-80f2-da63e647dfe8": {
"main": [
[
{
"node": "c36458a6-50c2-4219-b459-6629147c205e",
"type": "main",
"index": 0
}
]
]
},
"64246872-3c95-429f-93e8-561ad6b6b940": {
"main": [
[
{
"node": "0da44d7e-1300-4d47-80f2-da63e647dfe8",
"type": "main",
"index": 0
}
]
]
},
"35e91c84-e051-4b71-91ea-2800d5919751": {
"main": [
[
{
"node": "64246872-3c95-429f-93e8-561ad6b6b940",
"type": "main",
"index": 0
}
]
]
},
"1baa58b8-de7e-469c-a1ab-3c020e87714e": {
"main": [
[
{
"node": "35e91c84-e051-4b71-91ea-2800d5919751",
"type": "main",
"index": 0
}
]
]
},
"4987c8e4-83da-403c-aca2-f56e77d9f4a9": {
"main": [
[
{
"node": "c36458a6-50c2-4219-b459-6629147c205e",
"type": "main",
"index": 0
}
]
]
},
"c36458a6-50c2-4219-b459-6629147c205e": {
"main": [
[
{
"node": "4ab6c87d-536e-4d40-a6c3-e92ed3f30e13",
"type": "main",
"index": 0
}
],
[
{
"node": "1baa58b8-de7e-469c-a1ab-3c020e87714e",
"type": "main",
"index": 0
}
]
]
},
"a244c890-bc5f-4edd-91f4-37192d7807c2": {
"main": [
[
{
"node": "4987c8e4-83da-403c-aca2-f56e77d9f4a9",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - 仮想通貨取引
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
私のワークフロー20
Telegram、Perplexity AI、PDFレポートを使用して、米国株投資ポートフォリオを自動分析
If
Code
Html
+
If
Code
Html
62 ノードSolido AI
仮想通貨取引
GPT-4 と Airtable を使用してワークフローを自動のに記録・バックアップ
GPT-4 と Airtable を使用してワーキ弗洛ーを自動のに記録しバックアップする
If
N8n
Set
+
If
N8n
Set
38 ノードGuillaume Duvernay
AI要約
Dumpling AIとGPT-4oを使ってAIニュースの自動レビューを生成
Dumpling AI、GPT-4oを使って自動生成してAIニュースのレビューを投稿する
Code
Wait
Split Out
+
Code
Wait
Split Out
14 ノードYang
人工知能
潜在顧客開掘とメールワーキングフロー
Google Maps、SendGrid、AIを使用してB2Bリード獲得とメールマーケティングを自動化
If
Set
Code
+
If
Set
Code
141 ノードEzema Kingsley Chibuzo
リード獲得
LinkedIn オートメーション - Archit Jain
GPT-4 と Google Sheets を使って Twitter AI 投稿から LinkedIn コンテンツを自動作成
Code
Wait
Limit
+
Code
Wait
Limit
35 ノードArchit Jain
人工知能
Groq、Gemini、Slack承認システムを使用してRSSからMediumへの公開を自動化
Groq、Gemini、Slack承認システムを用いたRSSからMediumへの自動公開プロセス
If
Set
Code
+
If
Set
Code
41 ノードObisDev
コンテンツ作成
ワークフロー情報
難易度
中級
ノード数14
カテゴリー1
ノードタイプ8
作成者
Fan Luo
@luofan189Hi, there, I am Fan Luo, father of two lovely daughters Chloe and Claire. My family and I live in a small beautiful town in Toronto area, Canada. I have extensive experience as a developer, technical leader and AI automation expert and solopreneur. My expertise are web app development, hybrid app development and process automation.
外部リンク
n8n.ioで表示 →
このワークフローを共有