This workflow corresponds to n8n.io template #12795 — we link there as the canonical source.
This workflow follows the Googlegemini → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "dUw_VVzUHNOQUQkUcqJ-3",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Analyze crypto market sentiment and send Discord alerts with Gemini AI",
"tags": [
{
"id": "cARfO2kXsq6Jij8F",
"name": "n8n_creator",
"createdAt": "2026-01-07T18:37:06.835Z",
"updatedAt": "2026-01-07T18:37:06.835Z"
}
],
"nodes": [
{
"id": "0bf0b63e-0b90-4774-9969-4e1c5b27a679",
"name": "Sticky Note - Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-16
],
"parameters": {
"width": 400,
"height": 844,
"content": "## \ud83d\ude80 Crypto market sentiment analyzer\n\n**Who is this for?**\nCrypto traders and investors who want daily AI-powered market analysis delivered to Discord.\n\n**What it does:**\nFetches real-time crypto data from multiple APIs, analyzes market sentiment using Gemini AI, and sends beautifully formatted alerts to Discord.\n\n**\u2705 Uses Free APIs Only!**\nCoinGecko, Yahoo Finance, Alternative.me, and OKX - no paid subscriptions required.\n\n**How it works:**\n1. Triggers daily at scheduled time (default: 5PM)\n2. Fetches BTC/ETH prices, market cap, DXY, Fear & Greed, funding rates\n3. Combines all data and builds analysis prompt\n4. Gemini AI analyzes and provides investment stance\n5. Formats and sends rich embed to Discord webhook\n\n**Setup steps:**\n- Get free Google Gemini API key from Google AI Studio\n- Create Discord webhook in your server channel\n- Update webhook URL in Send to Discord Webhook node\n- Connect Gemini credentials to Gemini AI Analysis node\n\n**Configuration:**\n- Adjust trigger time in Daily Schedule Trigger node (default: 5PM)"
},
"typeVersion": 1
},
{
"id": "350c425d-7f59-4d09-8283-0dd33f4e4420",
"name": "Sticky Note - Data Collection",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-96
],
"parameters": {
"color": 7,
"width": 520,
"height": 140,
"content": "### \ud83d\udce5 Data Collection\nFetch prices, metrics, DXY, Fear & Greed, and funding rates from free APIs"
},
"typeVersion": 1
},
{
"id": "e1d3efc5-7283-44fc-915c-4178efc59e54",
"name": "Sticky Note - AI Output",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
304
],
"parameters": {
"color": 7,
"width": 1428,
"height": 332,
"content": "### \ud83e\udd16 AI Analysis & Output\nProcess data with Gemini AI and send formatted alerts to Discord"
},
"typeVersion": 1
},
{
"id": "645de307-28dd-44be-861a-0043cb8260ed",
"name": "Daily Schedule Trigger (5PM)",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-192,
464
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 17
}
]
}
},
"typeVersion": 1.3
},
{
"id": "0233cf32-f2d9-41f0-9e6c-a5986f94219c",
"name": "Fetch Global Market Metrics",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
-16
],
"parameters": {
"url": "https://api.coingecko.com/api/v3/global",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "2d1e0146-a25a-40fb-bd3e-b490b6d44628",
"name": "Fetch BTC ETH USDT Prices",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
176
],
"parameters": {
"url": "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,tether&vs_currencies=usd&include_market_cap=true&include_24hr_change=true",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "37a04359-f20e-4709-8213-635491217c0e",
"name": "Fetch DXY Dollar Index",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
368
],
"parameters": {
"url": "https://query1.finance.yahoo.com/v8/finance/chart/DX-Y.NYB?interval=1d&range=2d",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "f420df43-ded3-4c74-ae2c-29b5548d0500",
"name": "Fetch Fear and Greed Index",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
560
],
"parameters": {
"url": "https://api.alternative.me/fng/",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "f8a17e8e-185a-41aa-a8ab-5853f665d0c8",
"name": "Fetch BTC Funding Rate",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
752
],
"parameters": {
"url": "https://www.okx.com/api/v5/public/funding-rate?instId=BTC-USDT-SWAP",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "f3ee976d-1d66-4552-888f-b93c37ee8bce",
"name": "Fetch ETH Funding Rate",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
944
],
"parameters": {
"url": "https://www.okx.com/api/v5/public/funding-rate?instId=ETH-USDT-SWAP",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "ad8073d3-eb85-4753-9ae0-9e8c9f6ba0c5",
"name": "Combine All API Data",
"type": "n8n-nodes-base.merge",
"position": [
256,
400
],
"parameters": {
"numberInputs": 6
},
"typeVersion": 3.2
},
{
"id": "a12b6208-c3df-402f-bcf6-80b5918ac2ef",
"name": "Format and Parse All Data",
"type": "n8n-nodes-base.code",
"position": [
480,
464
],
"parameters": {
"jsCode": "var allInputs = $input.all();\n\nvar cryptoPrices, globalData, dxyResponse, fearGreedData, btcFundingData, ethFundingData;\n\nfor (var i = 0; i < allInputs.length; i++) {\n var json = allInputs[i].json;\n \n if (json.bitcoin && json.ethereum && json.tether) {\n cryptoPrices = json;\n }\n else if (json.data && json.data.total_market_cap) {\n globalData = json.data;\n }\n else if (json.chart && json.chart.result) {\n dxyResponse = json;\n }\n else if (json.name === \"Fear and Greed Index\" && json.data && json.data[0]) {\n fearGreedData = json.data[0];\n }\n else if (json.code === \"0\" && json.data && json.data[0] && json.data[0].instId) {\n var instId = json.data[0].instId;\n if (instId === \"BTC-USDT-SWAP\") {\n btcFundingData = json.data[0];\n } else if (instId === \"ETH-USDT-SWAP\") {\n ethFundingData = json.data[0];\n }\n }\n}\n\nif (!cryptoPrices || !globalData) {\n throw new Error('Missing crypto or market data');\n}\n\nvar btcPrice = cryptoPrices.bitcoin.usd;\nvar btcChange24h = cryptoPrices.bitcoin.usd_24h_change;\nvar ethPrice = cryptoPrices.ethereum.usd;\nvar ethChange24h = cryptoPrices.ethereum.usd_24h_change;\nvar usdtPrice = cryptoPrices.tether.usd;\n\nvar marketCap = globalData.total_market_cap.usd;\nvar marketCapChange = globalData.market_cap_change_percentage_24h_usd;\nvar btcDominance = globalData.market_cap_percentage.btc;\nvar ethDominance = globalData.market_cap_percentage.eth;\nvar usdtDominance = globalData.market_cap_percentage.usdt;\n\nvar dxyValue = \"N/A\";\nvar dxyChange24h = \"0.00\";\nif (dxyResponse) {\n try {\n var result = dxyResponse.chart.result[0];\n var dxyPrices = result.indicators.quote[0].close;\n var currentDXY = dxyPrices[dxyPrices.length - 1];\n \n dxyValue = currentDXY.toFixed(2);\n \n if (dxyPrices.length >= 2) {\n var previousDXY = dxyPrices[dxyPrices.length - 2];\n if (previousDXY && !isNaN(previousDXY)) {\n dxyChange24h = ((currentDXY - previousDXY) / previousDXY * 100).toFixed(2);\n }\n } else if (result.meta && result.meta.chartPreviousClose) {\n var prevClose = result.meta.chartPreviousClose;\n dxyChange24h = ((currentDXY - prevClose) / prevClose * 100).toFixed(2);\n }\n } catch (error) {\n dxyValue = \"N/A\";\n }\n}\n\nvar fearGreedValue = \"N/A\";\nvar fearGreedClassification = \"N/A\";\nif (fearGreedData) {\n fearGreedValue = fearGreedData.value;\n fearGreedClassification = fearGreedData.value_classification;\n}\n\nvar btcFundingRate = \"N/A\";\nif (btcFundingData && btcFundingData.fundingRate) {\n btcFundingRate = (parseFloat(btcFundingData.fundingRate) * 100).toFixed(4);\n}\n\nvar ethFundingRate = \"N/A\";\nif (ethFundingData && ethFundingData.fundingRate) {\n ethFundingRate = (parseFloat(ethFundingData.fundingRate) * 100).toFixed(4);\n}\n\nvar today = new Date().toISOString().split('T')[0];\n\nreturn {\n date: today,\n btc_price: btcPrice.toFixed(2),\n btc_change_24h: btcChange24h.toFixed(2),\n eth_price: ethPrice.toFixed(2),\n eth_change_24h: ethChange24h.toFixed(2),\n usdt_price: usdtPrice.toFixed(4),\n market_cap: (marketCap / 1+1234567890).toFixed(2),\n market_cap_change_24h: marketCapChange.toFixed(2),\n btc_dominance: btcDominance.toFixed(2),\n eth_dominance: ethDominance.toFixed(2),\n usdt_dominance: usdtDominance.toFixed(2),\n dxy: dxyValue,\n dxy_change_24h: dxyChange24h,\n fear_greed_value: fearGreedValue,\n fear_greed_classification: fearGreedClassification,\n btc_funding_rate: btcFundingRate,\n eth_funding_rate: ethFundingRate\n};"
},
"typeVersion": 2
},
{
"id": "b5b4f83a-dab7-4a22-a68e-698e6c2cb8e7",
"name": "Build Gemini Analysis Prompt",
"type": "n8n-nodes-base.code",
"position": [
704,
464
],
"parameters": {
"jsCode": "var data = $input.first().json;\n\nvar prompt = 'You are an expert crypto market analyst. Analyze the following data and provide actionable investment insights.\\n\\n';\nprompt += 'CURRENT DATA (Today - ' + data.date + '):\\n';\nprompt += '- BTC: $' + data.btc_price + ' (' + data.btc_change_24h + '% / 24h)\\n';\nprompt += '- ETH: $' + data.eth_price + ' (' + data.eth_change_24h + '% / 24h)\\n';\nprompt += '- USDT: $' + data.usdt_price + '\\n';\nprompt += '- Total Market Cap: $' + data.market_cap + 'B (' + data.market_cap_change_24h + '% / 24h)\\n\\n';\nprompt += 'DOMINANCE METRICS:\\n';\nprompt += '- BTC Dominance: ' + data.btc_dominance + '%\\n';\nprompt += '- ETH Dominance: ' + data.eth_dominance + '%\\n';\nprompt += '- USDT Dominance: ' + data.usdt_dominance + '%\\n\\n';\nprompt += 'MARKET INDICATORS:\\n';\nprompt += '- DXY (US Dollar Index): ' + data.dxy + ' (' + data.dxy_change_24h + '% / 24h)\\n';\nprompt += '- Fear & Greed Index: ' + data.fear_greed_value + '/100 (' + data.fear_greed_classification + ')\\n';\nprompt += '- BTC Funding Rate: ' + data.btc_funding_rate + '%\\n';\nprompt += '- ETH Funding Rate: ' + data.eth_funding_rate + '%\\n\\n';\nprompt += 'ANALYSIS INSTRUCTIONS:\\n\\n';\nprompt += '1. DXY CORRELATION ANALYSIS:\\n';\nprompt += ' - Typically DXY and crypto are inversely correlated\\n';\nprompt += ' - If DXY rising + crypto falling = strong bearish confirmation\\n';\nprompt += ' - If DXY falling + crypto rising = strong bullish confirmation\\n';\nprompt += ' - If they move together = unusual, explain why\\n\\n';\nprompt += '2. FEAR & GREED SENTIMENT:\\n';\nprompt += ' - 0-25 (Extreme Fear) = Often a contrarian buy signal\\n';\nprompt += ' - 25-45 (Fear) = Cautious, potential opportunity\\n';\nprompt += ' - 45-55 (Neutral) = No strong signal\\n';\nprompt += ' - 55-75 (Greed) = Take caution, consider taking profits\\n';\nprompt += ' - 75-100 (Extreme Greed) = High risk, potential top\\n\\n';\nprompt += '3. FUNDING RATES ANALYSIS:\\n';\nprompt += ' - Positive funding (>0.01%) = Longs paying shorts (bullish sentiment, but risk of overleveraged)\\n';\nprompt += ' - Negative funding (<0%) = Shorts paying longs (bearish sentiment, potential for short squeeze)\\n';\nprompt += ' - Very high positive (>0.05%) = Market overheated, correction likely\\n';\nprompt += ' - Very negative (<-0.02%) = Market oversold, potential bounce\\n\\n';\nprompt += '4. DOMINANCE SHIFTS:\\n';\nprompt += ' - Rising BTC.D = Risk-off, money flowing to Bitcoin\\n';\nprompt += ' - Falling BTC.D = Risk-on, money flowing to altcoins\\n';\nprompt += ' - Rising USDT.D = Fear, capital exiting crypto\\n\\n';\nprompt += '5. Provide clear investment stance: BULLISH / BEARISH / NEUTRAL\\n\\n';\nprompt += '6. Give specific actionable advice based on ALL these metrics combined\\n\\n';\nprompt += 'FORMAT YOUR RESPONSE EXACTLY LIKE THIS:\\n\\n';\nprompt += 'MARKET ANALYSIS:\\n[Analyze current price action, market cap trends, and what they indicate]\\n\\n';\nprompt += 'DXY & MACRO CORRELATION:\\n[Explain DXY impact on crypto and what the current correlation tells us]\\n\\n';\nprompt += 'SENTIMENT & POSITIONING:\\n[Analyze Fear & Greed + Funding Rates - are traders overleveraged? Is sentiment extreme?]\\n\\n';\nprompt += 'DOMINANCE INSIGHTS:\\n[Capital flow between BTC/ETH/stablecoins]\\n\\n';\nprompt += 'INVESTMENT STANCE: [BULLISH/BEARISH/NEUTRAL]\\n\\n';\nprompt += 'RECOMMENDATION:\\n[Specific actionable advice based on all metrics - DCA, take profits, wait, etc.]\\n\\n';\nprompt += 'KEY RISK FACTORS:\\n[1-2 main risks to watch based on the data]';\n\nvar output = {};\nfor (var key in data) {\n output[key] = data[key];\n}\noutput.prompt = prompt;\n\nreturn output;"
},
"typeVersion": 2
},
{
"id": "0f020404-0d9c-42a0-9db8-2c7d871529c8",
"name": "Gemini AI Analysis",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
928,
464
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-flash"
},
"options": {},
"messages": {
"values": [
{
"content": "={\n \"contents\": [{\n \"parts\": [{\n \"text\": \"={{ $json.prompt }}\"\n }]\n }]\n}"
}
]
}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "23442ae7-9bae-48b3-88cf-75e2d1f9656c",
"name": "Extract AI Analysis and Stance",
"type": "n8n-nodes-base.code",
"position": [
1280,
464
],
"parameters": {
"jsCode": "var marketDataArray = $node[\"Format and Parse All Data\"].json;\nvar marketData = Array.isArray(marketDataArray) ? marketDataArray[0] : marketDataArray;\n\nvar geminiInput = $input.first().json; \n\nvar aiAnalysis = '';\n\nif (Array.isArray(geminiInput) && geminiInput.length > 0 && geminiInput[0].content) {\n aiAnalysis = geminiInput[0].content.parts[0].text;\n} else if (geminiInput.content) {\n aiAnalysis = geminiInput.content.parts[0].text;\n} else {\n aiAnalysis = \"ERROR: Could not parse AI response.\";\n}\n\nvar stanceMatch = aiAnalysis.match(/INVESTMENT STANCE: \\[?(.*?)[\\]\\n]/i);\nvar recommendationMatch = aiAnalysis.match(/RECOMMENDATION:\\n(.*?)$/s);\n\nvar recommendation = stanceMatch ? stanceMatch[1].toUpperCase().trim() : 'NEUTRAL';\nvar actionAdvice = recommendationMatch ? recommendationMatch[1].trim() : 'Hold current positions.';\n\nvar output = {};\nfor (var key in marketData) {\n output[key] = marketData[key];\n}\noutput.ai_analysis = aiAnalysis;\noutput.recommendation = recommendation;\noutput.action_advice = actionAdvice;\n\nreturn [{ json: output }];"
},
"typeVersion": 2
},
{
"id": "66fb2a96-f035-4a33-a8fb-09b0a791560e",
"name": "Build Discord Alert Message",
"type": "n8n-nodes-base.code",
"position": [
1504,
464
],
"parameters": {
"jsCode": "var data = $input.first().json;\n\nvar emoji = \"\ud83d\udfe1\"; \nvar color = 16776960; \nvar stance = \"NEUTRAL\";\n\nif (data.recommendation === \"BULLISH\") {\n emoji = \"\ud83d\udfe2\";\n color = 3066993;\n stance = \"BULLISH\";\n} else if (data.recommendation === \"BEARISH\") {\n emoji = \"\ud83d\udd34\";\n color = 15158332;\n stance = \"BEARISH\";\n} else if (data.recommendation.indexOf(\"BULLISH\") !== -1) {\n emoji = \"\ud83d\udfe2\";\n color = 3066993;\n stance = \"BULLISH\";\n} else if (data.recommendation.indexOf(\"BEARISH\") !== -1) {\n emoji = \"\ud83d\udd34\";\n color = 15158332;\n stance = \"BEARISH\";\n}\n\nvar fngEmoji = \"\ud83d\ude10\";\nvar fngValue = parseInt(data.fear_greed_value);\nif (fngValue <= 25) fngEmoji = \"\ud83d\ude31\";\nelse if (fngValue <= 45) fngEmoji = \"\ud83d\ude1f\";\nelse if (fngValue <= 55) fngEmoji = \"\ud83d\ude10\";\nelse if (fngValue <= 75) fngEmoji = \"\ud83d\ude0a\";\nelse fngEmoji = \"\ud83e\udd11\";\n\nvar fngSignal = fngValue <= 25 ? \"Extreme fear - contrarian buy signal\" : \n fngValue >= 75 ? \"Extreme greed - take caution\" : \n \"Neutral sentiment\";\n\nvar dxyCorrelation = parseFloat(data.dxy_change_24h) > 0.5 && parseFloat(data.btc_change_24h) < -1 ? \n \"Strong inverse correlation\" : \n \"Weak/no correlation\";\n\nvar fundingStatus = parseFloat(data.btc_funding_rate) > 0.05 ? \"Overheated - caution\" :\n parseFloat(data.btc_funding_rate) > 0.01 ? \"Moderate bullish positioning\" :\n \"Low leverage - healthy\";\n\nvar btcDomTrend = parseFloat(data.btc_dominance) > 55 ? \"High - Risk-off, capital in BTC\" : \n parseFloat(data.btc_dominance) < 45 ? \"Low - Risk-on, altcoin season\" :\n \"Neutral - Balanced market\";\n\nvar ethDomTrend = parseFloat(data.eth_dominance) > 15 ? \"High - Strong ETH performance\" :\n parseFloat(data.eth_dominance) < 10 ? \"Low - ETH underperforming\" :\n \"Normal - ETH holding steady\";\n\nvar usdtDomTrend = parseFloat(data.usdt_dominance) > 5 ? \"Rising - Fear, capital to stables\" :\n parseFloat(data.usdt_dominance) < 3 ? \"Low - Capital deploying to crypto\" :\n \"Stable - Normal conditions\";\n\nvar recommendationSection = data.action_advice || \"\";\nvar firstSentence = recommendationSection.split(/[.!?]/)[0].trim();\nvar actionText = firstSentence.length > 0 && firstSentence.length < 300 ? firstSentence + \".\" : \"Hold current positions and monitor market conditions.\";\n\nvar analysis = data.ai_analysis || \"\";\nvar marketSection = analysis.match(/MARKET ANALYSIS:\\s*([^]*?)(?=\\n\\n|DOMINANCE|DXY|SENTIMENT|$)/i);\nvar dominanceSection = analysis.match(/DOMINANCE INSIGHTS:\\s*([^]*?)(?=\\n\\n|MARKET|DXY|SENTIMENT|WEEKLY|DAILY|$)/i);\n\nfunction getFirstSentence(text) {\n if (!text) return \"Data not available\";\n var sentences = text.split(/\\.\\s+/);\n return sentences[0] ? sentences[0].trim() + \".\" : text.substring(0, 150).trim() + \"...\";\n}\n\nvar marketInsight = marketSection ? getFirstSentence(marketSection[1].trim()) : \"Market data processing...\";\nvar dominanceInsight = dominanceSection ? getFirstSentence(dominanceSection[1].trim()) : \"Dominance data processing...\";\n\nvar discordMessage = {\n \"embeds\": [{\n \"title\": emoji + \" \" + stance + \" - \" + data.date,\n \"color\": color,\n \"description\": \"**Action:** \" + actionText,\n \"fields\": [\n {\n \"name\": \"\ud83d\udcca Market Overview\",\n \"value\": \"\u2022 **BTC:** $\" + data.btc_price + \" (\" + data.btc_change_24h + \"%) | **ETH:** $\" + data.eth_price + \" (\" + data.eth_change_24h + \"%)\\n\u2022 **Market Cap:** $\" + data.market_cap + \"B (\" + data.market_cap_change_24h + \"%)\\n\u2022 **USDT:** $\" + data.usdt_price,\n \"inline\": false\n },\n {\n \"name\": \"\ud83d\udcc8 Dominance Metrics\",\n \"value\": \"\u2022 **BTC.D:** \" + data.btc_dominance + \"% \u2192 *\" + btcDomTrend + \"*\\n\u2022 **ETH.D:** \" + data.eth_dominance + \"% \u2192 *\" + ethDomTrend + \"*\\n\u2022 **USDT.D:** \" + data.usdt_dominance + \"% \u2192 *\" + usdtDomTrend + \"*\",\n \"inline\": false\n },\n {\n \"name\": \"\ud83c\udfaf Key Indicators\",\n \"value\": \"\u2022 \" + fngEmoji + \" **Fear & Greed:** \" + data.fear_greed_value + \"/100 \u2192 *\" + fngSignal + \"*\\n\u2022 \ud83d\udcb5 **DXY Index:** \" + data.dxy + \" (\" + data.dxy_change_24h + \"%) \u2192 *\" + dxyCorrelation + \"*\\n\u2022 \ud83d\udcb0 **Funding:** BTC \" + data.btc_funding_rate + \"% / ETH \" + data.eth_funding_rate + \"% \u2192 *\" + fundingStatus + \"*\",\n \"inline\": false\n },\n {\n \"name\": \"\ud83d\udca1 AI Analysis\",\n \"value\": \"\u2022 **Market:** \" + marketInsight + \"\\n\u2022 **Capital Flow:** \" + dominanceInsight,\n \"inline\": false\n }\n ],\n \"footer\": {\n \"text\": \"Powered by n8n + Gemini AI\"\n },\n \"timestamp\": new Date().toISOString()\n }]\n};\n\nreturn discordMessage;"
},
"typeVersion": 2
},
{
"id": "20bf26a5-ce70-412b-a824-969095b16cd8",
"name": "Send to Discord Webhook",
"type": "n8n-nodes-base.httpRequest",
"position": [
1728,
464
],
"parameters": {
"url": "YOUR-DISCORD-WEBHOOK-URL",
"method": "POST",
"options": {},
"jsonBody": "={{ $json }}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.3
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "7c1a7abc-9b8a-4e8c-88dc-583cf1699fa8",
"connections": {
"Gemini AI Analysis": {
"main": [
[
{
"node": "Extract AI Analysis and Stance",
"type": "main",
"index": 0
}
]
]
},
"Combine All API Data": {
"main": [
[
{
"node": "Format and Parse All Data",
"type": "main",
"index": 0
}
]
]
},
"Fetch BTC Funding Rate": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 4
}
]
]
},
"Fetch DXY Dollar Index": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 2
}
]
]
},
"Fetch ETH Funding Rate": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 5
}
]
]
},
"Fetch BTC ETH USDT Prices": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 1
}
]
]
},
"Format and Parse All Data": {
"main": [
[
{
"node": "Build Gemini Analysis Prompt",
"type": "main",
"index": 0
}
]
]
},
"Fetch Fear and Greed Index": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 3
}
]
]
},
"Build Discord Alert Message": {
"main": [
[
{
"node": "Send to Discord Webhook",
"type": "main",
"index": 0
}
]
]
},
"Fetch Global Market Metrics": {
"main": [
[
{
"node": "Combine All API Data",
"type": "main",
"index": 0
}
]
]
},
"Build Gemini Analysis Prompt": {
"main": [
[
{
"node": "Gemini AI Analysis",
"type": "main",
"index": 0
}
]
]
},
"Daily Schedule Trigger (5PM)": {
"main": [
[
{
"node": "Fetch Global Market Metrics",
"type": "main",
"index": 0
},
{
"node": "Fetch DXY Dollar Index",
"type": "main",
"index": 0
},
{
"node": "Fetch BTC ETH USDT Prices",
"type": "main",
"index": 0
},
{
"node": "Fetch Fear and Greed Index",
"type": "main",
"index": 0
},
{
"node": "Fetch BTC Funding Rate",
"type": "main",
"index": 0
},
{
"node": "Fetch ETH Funding Rate",
"type": "main",
"index": 0
}
]
]
},
"Extract AI Analysis and Stance": {
"main": [
[
{
"node": "Build Discord Alert Message",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googlePalmApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Crypto traders, investors, and enthusiasts who want automated daily market analysis delivered to Discord without manually checking multiple data sources.
Source: https://n8n.io/workflows/12795/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
AI Institutional Stock Valuation Engine with Risk Scoring & Scenario Targets
Overview This is a production-grade, fully automated stock analysis system built entirely in n8n. It combines institutional-level financial analysis, dual AI model consensus, and a self-improving back
This workflow is a complete outbound automation system that discovers local businesses, extracts contact emails, generates personalized cold emails using AI, and runs a multi-step follow-up sequence —
A professional AI equity analysis automation built on n8n that transforms structured financial data and real-time news into disciplined, risk-adjusted price targets and actionable BUY/HOLD/SELL signal
N8Nflow Zhtw. Uses executeCommand, readBinaryFiles, httpRequest, googleGemini. Scheduled trigger; 28 nodes.