n8n एक स्व-होस्ट करने योग्य, ओपन-सोर्स वर्कफ़्लो ऑटोमेशन प्लेटफ़ॉर्म है जो आपको एक दृश्य नोड संपादक के माध्यम से एपीआई, डेटाबेस और सास टूल कनेक्ट करने देता है कोई बैकएंड बुनियादी ढांचा आवश्यक नहीं है। मैक्रो डेटा वर्कफ़्लोज़ के लिए, n8 n एक प्राकृतिक फिट हैः एक शेड्यूल पर संकेतक रीडिंग खींचें, आगामी रिलीज कैलेंडर घटनाओं द्वारा फ़िल्टर करें, और स्लैक, Google शीट्स, डेटाबेस, या किसी डाउनस्ट्रीम वेबहुक में परिणाम पुश करें सभी नेत्रहीन रूप से कॉन्फ़िगर किए गए हैं और समर्पित सर्वर प्रक्रिया के बिना 24/7 चल रहे हैं। यह गाइड आपको खरोंच से n8 en में एक पूर्ण FXMacroData स्वचालन वर्कफ़लो बनाने के माध्यम سے चलता है।
आप क्या बनाएंगे
- एक अनुसूचित कार्यप्रवाह हर सप्ताह के दिन सुबह चलता है और किसी मुद्रा जोड़ी के लिए नवीनतम मैक्रो संकेतक प्राप्त करता है
- HTTP अनुरोध नोड पाइपलाइन FXMacroData घोषणाओं के अंत बिंदु को बुलाता है और JSON प्रतिक्रिया को पार्स करता है
- रिलीज़ कैलेंडर पूर्व चेतावनी शाखा आगामी उच्च प्रभाव वाली घटनाओं का पता लगाता है और स्लैक या डिस्कॉर्ड को एक प्रारंभिक चेतावनी भेजता है
- Google शीट्स लॉगिंग शाखा ऐतिहासिक ट्रैकिंग के लिए एक स्प्रेडशीट में प्रत्येक नए रीडिंग को संलग्न करता है
- एक सशर्त फ़िल्टर केवल नीचे की ओर क्रियाओं को चलाता है जब अंतिम रन के बाद से एक मूल्य बदल गया है
पूर्व शर्तें
- n8n उदाहरण n8n.io क्लाउड खाता (फ्री टियर वर्क्स) या
npx n8n/ डॉकर - FXMacroData एपीआई कुंजी पर साइन अप करें /अपना नाम लिखें; कई USD संकेतक बिना कुंजी के सार्वजनिक रूप से सुलभ हैं
- स्लैक या डिस्कॉर्ड वेबहूक URL (वैकल्पिक) सूचना चरणों के लिए; आप इन्हें छोड़ सकते हैं और केवल Google शीट शाखा का उपयोग कर सकते हैं
- Google शीट्स OAuth कनेक्शन (वैकल्पिक) n8n के अंतर्निहित Google क्रेडेंशियल्स के माध्यम से कॉन्फ़िगर करें यदि आप स्प्रेडशीट लॉगिंग चाहते हैं
चरण 1
चरण 1 n8n प्रारंभ करें और एक रिक्त कार्यप्रवाह बनाएँ
स्थानीय रूप से n8n चलाने का सबसे तेज़ तरीका है npx. यदि आप Docker या क्लाउड संस्करण पसंद करते हैं, नोड विन्यास समान है वर्कफ़्लो बनाने के लिए आगे कूदो.
# Local quick-start (Node.js 18+ required)
npx n8n
# Or with Docker
docker run -it --rm \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
खुला http://localhost:5678 अपने ब्राउज़र में, एक खाता बनाएँ, और क्लिक करें
+ नया कार्यप्रवाह आप एक खाली कैनवास देखेंगे यह है जहां पाइपलाइन रहता है।
अपनी एपीआई कुंजी को n8n क्रेडेंशियल के रूप में स्टोर करें ताकि यह कभी नोड कॉन्फ़िगरेशन में एम्बेडेड न हो. n8 n में, पर जाएं सेटिंग्स → क्रेडेंशियल्स → क्रेडेन्शियल जोड़ें → HTTP हेडर लेखक और अपनी कुंजी बचाओ:
Name: FXMacroData API Key
Header Name: (leave blank — we use query params)
Value: YOUR_FXMACRODATA_API_KEY
आप अगले चरण में HTTP अनुरोध नोड में इस संग्रहीत क्रेडेंशियल का संदर्भ देंगे.
- चरण 2
चरण 2 एक अनुसूची ट्रिगर नोड जोड़ें
ए अनुसूची ट्रिगर करें नोड एक परिभाषित अंतराल पर वर्कफ़्लो को फायर करता है। मैक्रो डेटा वर्कफ़्लोज़ के लिए, लंदन ओपन (07:30 यूटीसी) से 30 मिनट पहले दैनिक ट्रिगर यह सुनिश्चित करता है कि दिन के पहले उच्च तरलता सत्र से पहले ताजा रीडिंग उपलब्ध हों।
क्लिक करें + कैनवास पर बटन और खोज के लिए अनुसूची ट्रिगर करेंइसे निम्नानुसार कॉन्फ़िगर करें:
// अनुसूची ट्रिगर नोड सेटिंग्स
ट्रिगर अंतरालः कस्टम (cron)
क्रॉन अभिव्यक्तिः 30 7 * * 1-5
// सोमवार-शुक्रवार 07:30 UTC पर चलता है
परीक्षण के लिए, ट्रिगर को पर स्विच करें मैनुअल अस्थायी रूप से यह आप शेड्यूल के लिए प्रतीक्षा किए बिना एक क्लिक के साथ कैनवास से पूर्ण कार्यप्रवाह चलाने के लिए अनुमति देता है।
सुझावः अपने कार्यक्रम को परिष्कृत करने के लिए रिलीज कैलेंडर का उपयोग करें
हर दिन मतदान करने के बजाय, आप इस सप्ताह की आगामी रिलीज़ को पूर्व-पुनर्प्राप्त कर सकते हैं रिलीज कैलेंडर अंत बिंदु सोमवार सुबह और एक n8n का उपयोग करें यदि नोड को बिना किसी अनुसूचित घोषणा के दिनों में फ़ेच चरण को छोड़ने के लिए। यह पैटर्न नीचे चरण 5 में दिखाया गया है।
चरण 3
चरण 3 FXMacroData के लिए HTTP अनुरोध नोड कॉन्फ़िगर करें
जोड़ें HTTP अनुरोध अनुसूची ट्रिगर के बाद नोड (क्लिक करें + ट्रिगर के आउटपुट कनेक्टर पर और खोज के लिए HTTP अनुरोध) यह नोड FXMacroData को एपीआई कॉल करता है और सीधे कार्यप्रवाह में JSON प्रतिक्रिया लौटाता है।
इन सेटिंग्स के साथ नोड को कॉन्फ़िगर करें:
// HTTP अनुरोध नोड नवीनतम यूरो नीति दर प्राप्त करें
विधि: GET
URL: https://fxmacrodata.com/api/v1/annunciations/eur/policy_rate
प्रमाणीकरणः कोई नहीं (हम कुंजी को नीचे क्वेरी पैरामीटर के रूप में पास करते हैं)
क्वेरी पैरामीटरः
api_key = YOUR_API_KEY
उत्तर स्वरूपः JSON
n8n के HTTP अनुरोध नोड में एक समर्पित है क्वेरी पैरामीटर तालिका एक पंक्ति जोड़ें:
Name: api_key
Value: {{ $credentials.fxmacrodataApiKey.value }}
(or paste your key directly for quick testing)
क्लिक करें नोड निष्पादित करें प्रतिक्रिया सत्यापित करने के लिए. आप के समान आउटपुट देखना चाहिएः
{
"currency": "EUR",
"indicator": "policy_rate",
"date": "2025-06-12",
"val": 3.40,
"prior": 3.65,
"announcement_datetime": "2025-06-12T13:15:00Z"
}
announcement_datetime यह फ़ील्ड आपको यह बताता है कि यह मान आधिकारिक तौर पर कब प्रकाशित हुआ था इसे डिडूप्लिकेशन कुंजी के रूप में प्रयोग करें ताकि आपके वर्कफ़्लो में एक ही रिलीज़ पर कभी भी दो बार अलर्ट न हो
एक कार्यप्रवाह में कई संकेतक प्राप्त करना
कई संकेतकों को खींचने के लिए (जैसे नीति दर, सीपीआई, और एक ही मुद्रा के लिए बेरोजगारी), ट्रिगर के बाद समानांतर HTTP अनुरोध नोड्स जोड़ें एक प्रति एंडपॉइंट और एक के साथ उनके आउटपुट को मर्ज करें विलय नोड सेट करने के लिए संयोजन मोड परिवर्तन चरण से पहले।
चरण 4
चरण 4 एक कोड नोड के साथ प्रतिक्रिया को पार्स और परिवर्तित करें
एक जोड़ें कोड node के बाद HTTP अनुरोध node आप के बारे में परवाह है और पेलोड को समृद्ध करने के लिए निकालने के लिए. n8n के कोड नोड जावास्क्रिप्ट चलाता है और पिछले नोड के आउटपुट के लिए पूर्ण पहुँच है के माध्यम से $input.all(). .
// Code node: parse FXMacroData announcement response
const items = $input.all();
return items.map(item => {
const d = item.json;
// Determine direction relative to prior value
const direction =
d.val > d.prior ? "↑ Hawkish signal" :
d.val < d.prior ? "↓ Dovish signal" : "→ Unchanged";
const surpriseText =
d.consensus != null
? `Consensus was ${d.consensus}; actual ${d.val > d.consensus ? "beat" : "missed"}.`
: "";
return {
json: {
currency: d.currency,
indicator: d.indicator,
value: d.val,
prior: d.prior,
direction,
surprise: surpriseText,
announcement_datetime: d.announcement_datetime,
summary: `${d.currency.toUpperCase()} ${d.indicator.replace(/_/g, " ")}: ` +
`${d.val} (prior ${d.prior}) — ${direction}`
}
};
});
यह प्रत्येक वस्तु के लिए एक स्वच्छ, समृद्ध वस्तु का उत्पादन करता है। summary फ़ील्ड सीधे स्लैक संदेश या स्प्रेडशीट पंक्ति में पेस्ट करने के लिए तैयार है.
चरण 5
चरण 5 एक IF नोड के साथ एक सशर्त फ़िल्टर जोड़ें
आप केवल नीचे की ओर कार्रवाई को फायर करना चाहते हैं जब रिलीज वास्तव में नई है नहीं अगर एपीआई वही लौटाता है announcement_datetime आप पहले से ही एक पिछले रन में संसाधित कर रहे हैं. एक जोड़ें
यदि कोड नोड के बाद नोड।
n8n का उपयोग करें स्थिर डेटा (कोड नोड के माध्यम से सुलभ है। $getWorkflowStaticData
और आख़िरी बार देखा गया announcement_datetime रन के बीचः
// Code node: deduplication guard — place before the IF node
const staticData = $getWorkflowStaticData("global");
return $input.all().map(item => {
const ts = item.json.announcement_datetime;
const isNew = ts !== staticData.lastSeen;
// Update state only if this is a new release
if (isNew) {
staticData.lastSeen = ts;
}
return { json: { ...item.json, isNew } };
});
तो कॉन्फ़िगर करें यदि नोडः
// यदि नोड केवल जारी करने के लिए जारी है जब नया है
स्थितिः {{ $json.isNew }} के बराबर है true
// वास्तविक शाखा → सूचना / लॉग
// झूठी शाखा → रोक / नोओप
कनेक्ट करें नोओप नोड को झूठी शाखा में भेजें ताकि कार्यप्रवाह उन दिनों में त्रुटि के बिना साफ-सुथरा निकल जाए जब कोई नया रिलीज़ प्रिंट नहीं किया गया हो।
चरण 6
चरण 6 स्लैक या डिस्कॉर्ड पर सूचनाएं भेजें
आईएफ नोड को कनेक्ट करें सच आउटपुट a ढीला नोड (या एक HTTP अनुरोध कोड नोड से समृद्ध फ़ील्ड का उपयोग करने के लिए संदेश शरीर को कॉन्फ़िगर करें:
// स्लैक नोड सेटिंग्स
संसाधन: संदेश
ऑपरेशन: भेजना
चैनलः #मैक्रो-चेतावनी
पाठ:
*नया मैक्रो रिलीज़*
{{ $json.summary }}
{{ $json.surprise }}
प्रकाशितः {{ $ json.announcement_datetime }}
डिस्कॉर्ड के लिए, एक HTTP अनुरोध विधि के साथ नोड POST और डिस्कॉर्ड वेबहूक URL, के साथ शरीर पर सेट किया गया हैः
{
"content": "📊 **New macro release**\n{{ $json.summary }}\n{{ $json.surprise }}\nPublished: {{ $json.announcement_datetime }}"
}
सेट शरीर सामग्री प्रकार JSON और नोड स्वचालित रूप से सीरियलाइजेशन संभालेंगे.
चरण 7
चरण 7 Google शीट्स में लॉग रिलीज़
स्लैक अधिसूचना के समानांतर, एक जोड़ें गूगल शीट्स एक स्थायी ऐतिहासिक लॉग रखने के लिए नोड. इसे आईएफ नोड के एक ही सच्चे शाखा आउटपुट से कनेक्ट करें (n8n कई नोड्स को एक ही आउटपुट प्राप्त करने की अनुमति देता है).
Google शीट नोड को कॉन्फ़िगर करें:
// Google शीट्स नोड सेटिंग्स
संसाधन: दस्तावेज़ के भीतर शीट
ऑपरेशन: पंक्ति जोड़ें या अद्यतन करें
स्प्रेडशीटः (अपने Google शीट का चयन करें)
शीट: macro_log
मानचित्रण करने के लिए स्तंभः
घोषणा_ दिनांक समय → {{ $ json. घोषणा_ तिथि समय }}
मुद्रा → {{ $json.currency }}
सूचक → {{ $json.indicator }}
मूल्य → {{ $ json.value }}
पूर्व → {{ $json.prior }}
दिशा → {{ $json.direction }}
आपको Google OAuth क्रेडेंशियल्स को n8n के तहत सेट करना होगा। सेटिंग्स → क्रेडेंशियल्स → Google शीट्स OAuth2 एपीआई इस नोड को प्रमाणित करने से पहले. n8n के अंतर्निहित प्रमाणपत्र सेटअप गाइड का पालन करें यह लगभग दो मिनट लगते हैं.
चरण 8
चरण 8 रिलीज कैलेंडर पूर्व चेतावनी शाखा जोड़ें
FXMacroData के लिए अद्वितीय एक शक्तिशाली पैटर्न का उपयोग कर रहा है रिलीज कैलेंडर अंत बिंदु आग लगाओ। पूर्व चेतावनी उच्च प्रभाव वाले प्रिंट से पहले संख्या हिट होने से पहले अपनी टीम को स्थिति तैयार करने का समय दे।
एक दूसरा HTTP अनुरोध नोड जोड़ें जो सीधे शेड्यूल ट्रिगर से जुड़ा हो (घोषणाओं के लिए समानांतर में) । इसे चालू सप्ताह के लिए आगामी रिलीज़ खींचने के लिए कॉन्फ़िगर करें:
Method: GET
URL: https://fxmacrodata.com/api/v1/calendar/eur
Params: api_key=YOUR_API_KEY
एक कोड नोड के साथ इसका पालन करें जो अगले 60 मिनट के भीतर होने वाली घटनाओं के लिए फ़िल्टर करता हैः
// Code node: filter calendar events due within the next hour
const nowMs = Date.now();
const oneHrMs = 60 * 60 * 1000;
return $input.all().flatMap(item => {
const events = Array.isArray(item.json) ? item.json : [item.json];
return events
.filter(ev => {
const evMs = new Date(ev.release_datetime).getTime();
return evMs > nowMs && evMs <= nowMs + oneHrMs;
})
.map(ev => ({
json: {
currency: ev.currency,
indicator: ev.indicator,
release_datetime: ev.release_datetime,
alert: `⏰ *Upcoming release in <1 hour*\n` +
`${ev.currency.toUpperCase()} ${ev.indicator.replace(/_/g, " ")}\n` +
`Scheduled: ${ev.release_datetime}`
}
}));
});
आउटपुट को एक स्लैक नोड (या डिस्कॉर्ड HTTP अनुरोध) से कनेक्ट करें जो alert अपने क्षेत्र के लिए #macro-alerts जब एक घंटे के भीतर कोई घटना नहीं होती है, तो फ़िल्टर की गई सरणी खाली होती है और n8n बस कोई आउटपुट नहीं उत्पन्न करता है कोई कार्रवाई नहीं की जाती है।
गतिशील मुद्रा के लिए अभिव्यक्ति मोड का उपयोग करना
कार्यप्रवाह को कई मुद्राओं में सामान्य बनाने के लिए, हार्डकोडेड को प्रतिस्थापित करें eur एक n8n अभिव्यक्ति के साथ यूआरएल में। एक बनाने सेट एक को परिभाषित करने के लिए अपने कार्यप्रवाह के शीर्ष पर नोड currency चर, तो दोनों HTTP अनुरोध नोड्स में संदर्भित करेंः
https://fxmacrodata.com/api/v1/announcements/{{ $vars.currency }}/policy_rate?api_key=YOUR_API_KEY
आप फिर किसी भी के लिए एक ही कार्यप्रवाह टेम्पलेट चला सकते हैं 14 समर्थित मुद्राएँ बस चर मान बदलकर.
चरण 9
चरण 9 कार्यप्रवाह को सक्रिय करें और निगरानी करें
एक बार जब आप प्रत्येक नोड को व्यक्तिगत रूप से का उपयोग करके परीक्षण किया है नोड निष्पादित करें बटन, क्लिक करके पूर्ण कार्यप्रवाह को चलाएं कार्यप्रवाह निष्पादित करें किसी भी त्रुटि के लिए निष्पादन लॉग की जाँच करें n8n का विजुअल डिबगर हाइलाइट करता है कि कौन सा नोड विफल रहा और उस चरण पर सटीक इनपुट/आउटपुट दिखाता है।
कार्यप्रवाह को उत्पादन में डालने के लिए, सक्रिय n8n अब चरण 2 में परिभाषित cron शेड्यूल पर स्वचालित रूप से कार्यप्रवाह चलाएगा।
निगरानी जाँच सूची
- ✅ ✅ निष्पादन इतिहास बाएं साइडबार में दिखाई दे रहा है निष्पादन; प्रति रन सफलता/असफलता दिखाता है
- ✅ ✅ त्रुटि कार्यप्रवाह त्रुटि प्रबंधन कार्यप्रवाह को अलग से कॉन्फ़िगर करें सेटिंग्स → त्रुटि कार्यप्रवाह यदि कोई नोड अपवाद फेंकता है तो सूचित किया जाना
- ✅ ✅ असफल होने पर पुनः प्रयास करें स्वचालित रूप से अस्थायी नेटवर्क त्रुटियों को पुनः प्रयास करने के लिए HTTP अनुरोध नोड सेटिंग्स में इसे सक्षम करें
- ✅ ✅ निष्पादन डेटा का छँटाई स्वयं होस्ट किए गए उदाहरणों पर असीमित डिस्क उपयोग से बचने के लिए n8n सेटिंग्स में एक प्रतिधारण विंडो (जैसे 30 दिन) सेट करें
चरण 10
चरण 10 अतिरिक्त संकेतकों और मुद्राओं पर विस्तार
आपने जो पाइपलाइन बनाई है वह एक मुद्रा के लिए एक एकल संकेतक को लक्षित करती है। इसे व्यापक मैक्रो कवरेज सेट तक विस्तारित करना सीधा है क्योंकि n8n के दृश्य शाखाओं का नक्शा सीधे FXMacroData URL संरचना में होता है। प्रत्येक एंडपॉइंट एक ही पैटर्न का पालन करता हैः
https://fxmacrodata.com/api/v1/announcements/{currency}/{indicator}?api_key=YOUR_API_KEY
एक कार्यप्रवाह रन में कई संकेतक लाने के लिए, एक जोड़ें भागों में विभाजित ट्रिगर के बाद नोड और यह एक सूची खिला { currency, indicator } प्रत्येक पुनरावृत्ति एक HTTP अनुरोध चलाता है। नीचे दिया गया पैटर्न क्रम में तीन यूआर रीडिंग प्राप्त करता हैः
// Set node: define the indicator list
// Add this as a "Set" node at the top, outputting a single item
// with a field named "indicators"
const indicators = [
{ currency: "eur", indicator: "policy_rate" },
{ currency: "eur", indicator: "inflation" },
{ currency: "eur", indicator: "unemployment" }
];
return [{ json: { indicators } }];
तो एक जोड़ें अलग हो जाना node को अलग-अलग आइटमों में विस्तारित करने के लिए, और उन आइटम्स को HTTP अनुरोध नोड से कनेक्ट करें. HTTP अनुरोध URL में, वर्तमान आइटमः
URL: https://fxmacrodata.com/api/v1/announcements/{{ $json.currency }}/{{ $json.indicator }}
Params: api_key=YOUR_API_KEY
यह एकल टेम्पलेट पैटर्न कार्यप्रवाह को कॉम्पैक्ट रखता है चाहे आप कितने भी संकेतक ट्रैक करें। आप किसी भी मुद्रा के लिए पूर्ण संकेतिक सूची का पता लगा सकते हैं।
/api-data-docs वही
{currency}/{indicator} पथ संरचना पूरे क्षेत्र में लागू होती है।
JSON के रूप में पूर्ण कार्यप्रवाह आयात करना
n8n आपको किसी भी कार्यप्रवाह को JSON फ़ाइल के रूप में निर्यात करने और साझा करने देता है. अपना कार्यप्रवास बनाने के बाद, क्लिक करें
मेनू → डाउनलोड पोर्टेबल निर्यात करने के लिए .json टीम के साथी इसे तुरंत आयात कर सकते हैं + नया कार्यप्रवाह → फ़ाइल से आयात करें, अपने स्वयं के एपीआई कुंजी क्रेडेंशियल जोड़ें, और इसे सक्रिय पूरे पाइपलाइन हस्तांतरण सेकंड में।
संक्षेप में
सारांश
अब आपके पास n8n में चल रही एक पूरी तरह से स्वचालित मैक्रो डेटा पाइपलाइन है जोः
- कार्यदिवस cron शेड्यूल पर ट्रिगर (या मांग पर)
- क्वेरी-पैरामीटर प्रमाणीकरण के साथ HTTP अनुरोध के माध्यम से नवीनतम FXMacroData संकेतक प्राप्त करता है
- एक कोड नोड में दिशात्मक संकेतों के साथ JSON प्रतिक्रिया को पार्स और समृद्ध करता है
- पिछले देखा के खिलाफ deduplicates
announcement_datetimeदोहरी चेतावनी से बचने के लिए - जब कोई नया रिलीज़ प्रिंट होता है तो स्लैक या डिस्कॉर्ड सूचनाएं भेजता है
- ऐतिहासिक विश्लेषण के लिए Google शीट्स लॉग में प्रत्येक नई रीडिंग जोड़ता है
- आग से संबंधित चेतावनी कार्यक्रम से एक घंटे पहले
यहाँ से, प्राकृतिक अगले चरणों में सूचक सूची में अधिक मुद्राओं को जोड़ना, विज़ुअलाइज़ेशन के लिए शीट्स लॉग को लुकर स्टूडियो डैशबोर्ड से जोड़ना या ताजा रिलीज़ पर सीधे ऑर्डर अलर्ट ट्रिगर करने के लिए ट्रेडिंग प्लेटफॉर्म वेबहूक के साथ एकीकृत करना शामिल है। पूर्ण एपीआई प्रलेखन पूर्ण सूचक सूची की खोज करने और अपनी स्वयं की मैक्रो इंटेलिजेंस परत बनाने के लिए शुरू करें।