This workflow corresponds to n8n.io template #8491 — we link there as the canonical source.
This workflow follows the Google Sheets → 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5849516d-783e-49b5-ba45-898a56b963ad",
"name": "Google Calendar Trigger",
"type": "n8n-nodes-base.googleCalendarTrigger",
"position": [
-2416,
1328
],
"parameters": {
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "eventStarted",
"calendarId": {
"__rl": true,
"mode": "list",
"value": " ",
"cachedResultName": " "
}
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "2c72ae06-9d5f-4e95-a081-f1ae0e2ad8a5",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-176,
1104
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "f5c0d425-c86e-4456-b272-0ade1b6d747d",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.forecast }}",
"rightValue": "%"
},
{
"id": "95a2f60e-c880-4ec9-b810-3e53fdf3642b",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.forecast }}",
"rightValue": "K"
},
{
"id": "c59e9ffc-8e0d-457a-a247-b3388bed9780",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.forecast }}",
"rightValue": "M"
},
{
"id": "75aee0fb-55d7-4965-a364-877edf9bf215",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.forecast }}",
"rightValue": "B"
},
{
"id": "2319659f-6637-4476-a0ee-c45fb880c231",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.forecast }}",
"rightValue": "T"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9709bfa3-8c67-4241-a210-d5bada1e2992",
"name": "To Number",
"type": "n8n-nodes-base.set",
"position": [
48,
1184
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3c47e85b-5eae-4c49-8569-8e875cab9f70",
"name": "actual",
"type": "number",
"value": "={{ $json.actual.toNumber() }}"
},
{
"id": "3c36f4c5-79e9-4864-af35-a8421e15f3a0",
"name": "forecast",
"type": "number",
"value": "={{ $json.forecast.toNumber() }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "102b9deb-63e4-4f0d-9115-7d832bb8d359",
"name": "Get Actual Data?",
"type": "n8n-nodes-base.if",
"position": [
-624,
1248
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "13f60780-09c2-432e-9e80-a69212f27682",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json.month+\" \"+$('Get News Details').item.json.day+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "ce61b3b3-19c1-4dbc-b985-41d0f084fb79",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json.month+\" \"+$('Get News Details').item.json['day-1']+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "a0ac0845-f24f-476b-a25c-40aba9662561",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json['month-1']+\" \"+\"28\"+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "b2b89cec-1f73-4fa0-8360-2a6d94e22f79",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json['month-1']+\" \"+\"29\"+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "035adc96-e70d-4819-bd6a-961fc1327a41",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json['month-1']+\" \"+\"30\"+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "bfb56a75-23f3-4d4d-bdc3-c77cf1bfcdb7",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+140) }}",
"rightValue": "={{ $('Get News Details').item.json['month-1']+\" \"+\"31\"+\", \"+$('Get News Details').item.json.year }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "37c99ed6-88e6-4ae7-8e9c-699da0fc586c",
"name": "Delete %KMBT, To Number",
"type": "n8n-nodes-base.set",
"position": [
48,
992
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "09efa7c8-fda5-4b95-be29-354d7568cb90",
"name": "actual",
"type": "number",
"value": "={{ $json.actual.substring(0, $json.actual.length-1).toNumber() }}"
},
{
"id": "7af14224-e13e-43e0-bbc7-f4b4052ac0e9",
"name": "forecast",
"type": "number",
"value": "={{ $json.forecast.substring(0,$json.forecast.length-1).toNumber() }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "0d5618f4-73d2-406e-802b-4a218219f54a",
"name": "'Actual' less than 'Forecast' is good for currency?",
"type": "n8n-nodes-base.if",
"position": [
272,
1104
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "eb3a077d-03ab-4b01-bee6-6963302255e1",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text }}",
"rightValue": "'Actual' less than 'Forecast' is good for currency;"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a023b738-7da5-4fd0-95c7-01eddb611fa2",
"name": "IF Has Forecast",
"type": "n8n-nodes-base.if",
"position": [
-2192,
1328
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5f6b43c6-bb28-4ab1-a0c8-57d2da8308b6",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.description }}",
"rightValue": "Forecast: "
}
]
}
},
"typeVersion": 2.2
},
{
"id": "31aacb00-edce-4081-877f-7c260c73e79e",
"name": "No Operation, do nothing1",
"type": "n8n-nodes-base.noOp",
"position": [
-1968,
1424
],
"parameters": {},
"typeVersion": 1
},
{
"id": "423ea6ad-4e8a-4aa6-84dd-3793e8eb3b09",
"name": "Get News Details",
"type": "n8n-nodes-base.set",
"position": [
-1968,
1232
],
"parameters": {
"options": {
"ignoreConversionErrors": true
},
"assignments": {
"assignments": [
{
"id": "890b530e-df58-414a-98b9-0c0b18796749",
"name": "newsLink",
"type": "string",
"value": "={{ $json.description.extractUrl() }}"
},
{
"id": "08e16e2f-7731-420c-bb41-705b784cb740",
"name": "forecast",
"type": "string",
"value": "={{ $json.description.split(\"\\\\n\\\\n\")[1].split(\" \")[1] }}"
},
{
"id": "c36de21c-1e9b-46da-8f8f-740f8f001239",
"name": "previous",
"type": "string",
"value": "={{ $json.description.split(\"\\\\n\\\\n\")[2].split(\" \")[1] }}"
},
{
"id": "a34addab-19bd-4efd-a347-dbc37722e181",
"name": "year",
"type": "string",
"value": "={{ $json.start.dateTime.substring(0, 4).toNumber() }}"
},
{
"id": "d3954244-99af-466f-b5e8-bbce6417d783",
"name": "month",
"type": "string",
"value": "={{ $if($json.start.dateTime.substring(5, 7).toNumber() == \"1\",\"Jan\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"2\",\"Feb\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"3\",\"Mar\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"4\",\"Apr\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"5\",\"May\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"6\",\"Jun\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"7\",\"Jul\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"8\",\"Aug\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"9\",\"Sep\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"10\",\"Oct\",$if($json.start.dateTime.substring(5, 7).toNumber() == \"11\",\"Nov\",\"Dec\"))))))))))) }}"
},
{
"id": "463fb1ff-03ef-46d0-a33f-04de1d2d8c32",
"name": "month-1",
"type": "string",
"value": "={{ $if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"1\",\"Jan\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"2\",\"Feb\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"3\",\"Mar\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"4\",\"Apr\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"5\",\"May\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"6\",\"Jun\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"7\",\"Jul\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"8\",\"Aug\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"9\",\"Sep\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"10\",\"Oct\",$if($json.start.dateTime.substring(5, 7).toNumber()-1 == \"11\",\"Nov\",\"Dec\"))))))))))) }}"
},
{
"id": "53a1391a-1eb7-4eef-ace0-4df75a4b7f56",
"name": "day",
"type": "string",
"value": "={{ $json.start.dateTime.substring(8, 10).toNumber() }}"
},
{
"id": "053228c0-6a3f-419f-85fd-0cd935e0677b",
"name": "day-1",
"type": "string",
"value": "={{ $if($json.start.dateTime.substring(8, 10).toNumber()-1 == 0, \"30\", $json.start.dateTime.substring(8, 10).toNumber()-1) }}"
},
{
"id": "876b25b1-121e-445f-a3c0-f9704a539e44",
"name": "currency",
"type": "string",
"value": "={{\n$if($json.summary.split(\" \")[1] == \"US\",\"USD\",\n$if($json.summary.split(\" \")[1] == \"AU\",\"AUD\",\n$if($json.summary.split(\" \")[1] == \"CA\",\"CAD\",\n$if($json.summary.split(\" \")[1] == \"SZ\",\"CHF\",\n$if($json.summary.split(\" \")[1] == \"UK\",\"GBP\",\n$if($json.summary.split(\" \")[1] == \"JN\",\"JPY\",\n$if($json.summary.split(\" \")[1] == \"NZ\",\"NZD\",\n$if($json.summary.split(\" \")[1] == \"GE\" || $json.summary.split(\" \")[1] == \"BE\" || $json.summary.split(\" \")[1] == \"EZ\" || $json.summary.split(\" \")[1] == \"IT\" || $json.summary.split(\" \")[1] == \"FR\" || $json.summary.split(\" \")[1] == \"SP\" ,\"EUR\", \"XXX\"\n))))))))\n}}"
},
{
"id": "3404bca5-0c9c-4c0e-b7d2-f2e1f8386e02",
"name": "impact",
"type": "string",
"value": "={{ $json.description.split(\"\\\\n\\\\n\")[0].split(\" \")[1] }}"
},
{
"id": "f8bd3d31-3506-441d-ad03-339fe087dd32",
"name": "summary2",
"type": "string",
"value": "={{ $if($json.summary.split(\" \")[1] == \"GE\", \"German \" + $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1], $if($json.summary.split(\" \")[1] == \"BE\", \"Belgian \" + $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1], $if($json.summary.split(\" \")[1] == \"IT\", \"Italian \" + $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1], $if($json.summary.split(\" \")[1] == \"FR\", \"French \" + $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1], $if($json.summary.split(\" \")[1] == \"SP\", \"Spanish \" + $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1], $json.summary.split($json.summary.split(\" \")[0] + \" \" + $json.summary.split(\" \")[1] + \" \")[1] ))))) }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "8274ba89-4bc9-4962-b74b-d79682313b44",
"name": "Scrape News Link",
"type": "n8n-nodes-base.airtop",
"position": [
-1296,
1232
],
"parameters": {
"url": "={{ $json.newsLink }}",
"resource": "extraction",
"operation": "scrape",
"sessionMode": "new"
},
"credentials": {
"airtopApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "728f2ce1-2f1e-44e2-ad37-427c26fb805b",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3024,
880
],
"parameters": {
"width": 460,
"height": 1488,
"content": "## Get Forex Factory News Release to Telegram, Google Sheets. Record News Data and Live Price from MyFxBook for Affected Currency Pairs.\n### This n8n template demonstrates how to capture Actual Data Releases as quickly as possible for trading decisions.\n\n### Use cases:\n1. Get notified if the actual data release is positive or negative for the relevant currency.\n2. Use the Telegram chat message about the news release as a trigger to open a trading position in MetaTrader 4.\n3. Record news data and live price to google sheets for analysis.\n\n### Currency Pairs\nEURUSD, GBPUSD, AUDUSD, NZDUSD, USDJPY, USDCHF, USDCAD, XAUUSD\n\n### How it works\n* A news release event acts as the trigger.\n* Only news with a numerical Forecast value will be processed. Events that cannot be measured numerically (e.g., speeches) are ignored.\n* Extract news details: currency, impact level (high/medium), release date, and news link.\n* Wait 10 seconds to ensure the Actual value is available on the news page.\n* Scrape the Actual value from the news link using Airtop.\n* If the Actual value is not available, wait another 5 seconds and retry scraping.\n* Extract both Actual and Forecast values from the scraped content.\n* Remove non-numeric characters (%, K, M, B, T) and convert values to numbers.\n* Determine the effect:\nIf the Actual value is lower than the Forecast value (and lower is better), send it to the True branch.\nOtherwise, send it to the False branch.\n* Record news data and live price from MyFxBook to Google Sheets.\n\n### How to use\n* Enter all required credentials.\n* Create or Download Google Sheets file like this in your Google Drive: https://docs.google.com/spreadsheets/d/1OhrbUQEc_lGegk5pRWWKz5nrnMbTZGT0lxK9aJqqId4/edit?usp=drive_link\n* Run the workflow.\n\n### Requirements\n* Google Calendar credentials\n* Airtop API key\n* Telegram Chat ID\n* Telegram Bot API token\n* Enable Google Drive API in Google Cloud Console\n* Google Sheets credentials\n\n### Need Help?\nJoin the [Discord](https://discord.gg/n8n) or ask in the [Forum](https://community.n8n.io/)!\n\nThank you!"
},
"typeVersion": 1
},
{
"id": "136beb49-ad34-455b-9402-c1a4acde66c4",
"name": "Wait 5s",
"type": "n8n-nodes-base.wait",
"position": [
-400,
1424
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "ffad90f7-f104-476d-a19a-8008d26072d8",
"name": "Less Good",
"type": "n8n-nodes-base.telegram",
"position": [
496,
992
],
"parameters": {
"text": "={{ $('Google Calendar Trigger').item.json.summary+\"\\nImpact: \"+$('Get News Details').item.json.impact+\"\\n\"+\n\"Actual: \"+$json.actual+\"\\n\"+\n\"Forecast: \"+$json.forecast+\"\\n\"+\n$if($json.actual == $json.forecast,\"NEUTRAL for \"+$('Get News Details').item.json.currency,\n$if($json.actual < $json.forecast,\"GOOD for \"+$('Get News Details').item.json.currency,\"BAD for \"+$('Get News Details').item.json.currency))}}",
"chatId": "123456789",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "3d96d65e-3a67-41ef-8a45-764be02634f3",
"name": "Greater Good",
"type": "n8n-nodes-base.telegram",
"position": [
496,
1184
],
"parameters": {
"text": "={{ $('Google Calendar Trigger').item.json.summary+\"\\nImpact: \"+$('Get News Details').item.json.impact+\"\\n\"+\n\"Actual: \"+$json.actual+\"\\n\"+\n\"Forecast: \"+$json.forecast+\"\\n\"+\n$if($json.actual == $json.forecast,\"NEUTRAL for \"+$('Get News Details').item.json.currency,\n$if($json.actual > $json.forecast,\"GOOD for \"+$('Get News Details').item.json.currency,\"BAD for \"+$('Get News Details').item.json.currency))}}",
"chatId": "123456789",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "7612d495-cb1a-416f-aa24-bbf839096f1c",
"name": "Affected Pairs",
"type": "n8n-nodes-base.set",
"position": [
-1744,
1232
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c45c0138-b044-478a-9a08-db939b863c48",
"name": "affectedPairs",
"type": "string",
"value": "={{ $if($('Get News Details').item.json.currency == \"USD\",\"EURUSD,GBPUSD,AUDUSD,NZDUSD,USDJPY,USDCHF,USDCAD,XAUUSD\", $if($('Get News Details').item.json.currency == \"EUR\",\"EURUSD\", $if($('Get News Details').item.json.currency == \"GBP\",\"GBPUSD\", $if($('Get News Details').item.json.currency == \"AUD\",\"AUDUSD\", $if($('Get News Details').item.json.currency == \"NZD\",\"NZDUSD\", $if($('Get News Details').item.json.currency == \"JPY\",\"USDJPY\", $if($('Get News Details').item.json.currency == \"CHF\",\"USDCHF\", $if($('Get News Details').item.json.currency == \"CAD\",\"USDCAD\", )))))))) }}"
},
{
"id": "ef1caa58-f008-435f-8349-9f0d54681036",
"name": "date",
"type": "string",
"value": "={{ $json.month + \" \" + $json.day + \", \" + $json.year }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "3ef99c01-7aee-4149-b354-7b5bddc0ba11",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
-2400,
2224
],
"parameters": {
"options": {},
"fieldToSplitOut": "affectedPairs"
},
"typeVersion": 1
},
{
"id": "af921879-8868-40f0-8f90-ba06b42173cd",
"name": "News Result",
"type": "n8n-nodes-base.set",
"position": [
688,
1504
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1b349427-abe3-4793-b8b4-150018d93547",
"name": "newsResult",
"type": "string",
"value": "={{ $if($json.result.text.includes(\"GOOD\"),\"GOOD\",\n$if($json.result.text.includes(\"BAD\"),\"BAD\",\n\"NEUTRAL\"\n)) }}"
},
{
"id": "32b51636-cb88-4b07-8e48-cb1325f37d02",
"name": "affectedPairs",
"type": "array",
"value": "={{ $('Affected Pairs').item.json.affectedPairs.split(\",\") }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "a85a4856-a0ed-4f22-babc-5aaaf63d262a",
"name": "Base=NewsCurrency, Good",
"type": "n8n-nodes-base.if",
"position": [
-2176,
1856
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4c6caced-3fa4-4e53-a455-569392d34aee",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Split Out').item.json.affectedPairs.substring(0,3) }}",
"rightValue": "={{ $('Get News Details').item.json.currency }}"
},
{
"id": "4999ee22-82f0-4ced-9355-99ff973fde09",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('News Result').item.json.newsResult }}",
"rightValue": "GOOD"
},
{
"id": "bf0047b0-b40f-4b4c-bcb1-22c36725615b",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "5484680b-52a4-451f-80c6-3ee4f7fbbccd",
"name": "Base=NewsCurrency, Bad",
"type": "n8n-nodes-base.if",
"position": [
-2176,
2096
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "49bd356c-090d-4614-b969-1707069f5d8f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.affectedPairs.substring(0,3) }}",
"rightValue": "={{ $('Get News Details').item.json.currency }}"
},
{
"id": "ad19d58d-6dbb-4237-8bcb-0a4af1910eef",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('News Result').item.json.newsResult }}",
"rightValue": "BAD"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d549357c-433e-4be6-8735-ad51beafedf0",
"name": "Quote=NewsCurrency, Good",
"type": "n8n-nodes-base.if",
"position": [
-2176,
2368
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a50e3a5a-5a7e-4a50-9ae3-04f00da956d3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.affectedPairs.substring(3,6) }}",
"rightValue": "={{ $('Get News Details').item.json.currency }}"
},
{
"id": "9c29a9bd-638e-45a9-b70b-39660af2701f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('News Result').item.json.newsResult }}",
"rightValue": "GOOD"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "20d42281-6f8d-41ac-ba77-cf84039c8478",
"name": "Quote=NewsCurrency, Bad",
"type": "n8n-nodes-base.if",
"position": [
-2176,
2560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "07719d15-d1aa-4698-b7d3-cc064bcf16fb",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.affectedPairs.substring(3,6) }}",
"rightValue": "={{ $('Get News Details').item.json.currency }}"
},
{
"id": "7b348fec-ba10-4f8d-932f-ede550a12e52",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('News Result').item.json.newsResult }}",
"rightValue": "BAD"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9053be77-6541-418d-8795-becbb253f3c6",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
-1056,
2032
],
"parameters": {},
"typeVersion": 1
},
{
"id": "03b82ff9-884e-4c4b-8c44-c39fc1915729",
"name": "BUY",
"type": "n8n-nodes-base.set",
"position": [
-1952,
1792
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a510b35a-466b-4e81-9f61-e5acf133f69c",
"name": "DATE",
"type": "string",
"value": "={{ $('Get News Details').item.json.month+\" \"+$('Get News Details').item.json.day+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "ae10ff0d-2b41-4518-b1a8-98f4e9038faf",
"name": "NEWS",
"type": "string",
"value": "={{ $('Affected Pairs').item.json.summary }}"
},
{
"id": "3e2302f7-aaed-409a-8855-0217dd1a073a",
"name": "IMPACT",
"type": "string",
"value": "={{ $('Affected Pairs').item.json.impact }}"
},
{
"id": "66434859-ce59-492f-96fd-0c23be814028",
"name": "POSITION",
"type": "string",
"value": "BUY"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "f3e766f0-c479-4250-8e85-d1dbc94fc5c0",
"name": "SELL",
"type": "n8n-nodes-base.set",
"position": [
-1952,
2176
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a510b35a-466b-4e81-9f61-e5acf133f69c",
"name": "DATE",
"type": "string",
"value": "={{ $('Get News Details').item.json.month+\" \"+$('Get News Details').item.json.day+\", \"+$('Get News Details').item.json.year }}"
},
{
"id": "ae10ff0d-2b41-4518-b1a8-98f4e9038faf",
"name": "NEWS",
"type": "string",
"value": "={{ $('Affected Pairs').item.json.summary }}"
},
{
"id": "3e2302f7-aaed-409a-8855-0217dd1a073a",
"name": "IMPACT",
"type": "string",
"value": "={{ $('Affected Pairs').item.json.impact }}"
},
{
"id": "66434859-ce59-492f-96fd-0c23be814028",
"name": "POSITION",
"type": "string",
"value": "SELL"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "0a1c8793-d73a-4b91-85cc-2dd5ceb3aec2",
"name": "MyFxBook",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1728,
1792
],
"parameters": {
"url": "=https://www.myfxbook.com/forex-market/currencies/{{ $('Split Out').item.json.affectedPairs }}-historical-data",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "cca1746c-0448-4c5c-9cd9-a4c0fb3a7d1c",
"name": "MyFxBook2",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1728,
2176
],
"parameters": {
"url": "=https://www.myfxbook.com/forex-market/currencies/{{ $('Split Out').item.json.affectedPairs }}-historical-data",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "0f1d3e71-1d5b-455b-bf76-abf7e0c92987",
"name": "Get Price",
"type": "n8n-nodes-base.set",
"position": [
-1504,
1792
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "11d7cfed-faee-46e0-8212-6cf45a6acbb2",
"name": "PRICE",
"type": "number",
"value": "={{ $json.data.substring($json.data.indexOf('data-value=\"'),$json.data.indexOf('data-value=\"')+50).split('\"')[1] }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "9f0fc408-76b4-4bad-8230-c6716b0889ed",
"name": "Get Price2",
"type": "n8n-nodes-base.set",
"position": [
-1504,
2176
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "11d7cfed-faee-46e0-8212-6cf45a6acbb2",
"name": "PRICE",
"type": "number",
"value": "={{ $json.data.substring($json.data.indexOf('data-value=\"'),$json.data.indexOf('data-value=\"')+50).split('\"')[1] }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "ab6cc74f-fe0d-4e9e-a76b-1781e1fbac52",
"name": "Input to Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1280,
1792
],
"parameters": {
"columns": {
"value": {
"DATE": "={{ $('BUY').item.json.DATE }}",
"NEWS": "={{ $('BUY').item.json.NEWS }}",
"PAIRS": "={{ $('BUY').item.json.affectedPairs }}",
"PRICE": "={{ $json.PRICE }}",
"IMPACT": "={{ $('BUY').item.json.IMPACT }}",
"POSITION": "={{ $('BUY').item.json.POSITION }}"
},
"schema": [
{
"id": "DATE",
"type": "string",
"display": true,
"required": false,
"displayName": "DATE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PAIRS",
"type": "string",
"display": true,
"required": false,
"displayName": "PAIRS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "NEWS",
"type": "string",
"display": true,
"required": false,
"displayName": "NEWS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "IMPACT",
"type": "string",
"display": true,
"required": false,
"displayName": "IMPACT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POSITION",
"type": "string",
"display": true,
"required": false,
"displayName": "POSITION",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PRICE",
"type": "string",
"display": true,
"required": false,
"displayName": "PRICE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "HIGH",
"type": "string",
"display": true,
"required": false,
"displayName": "HIGH",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LOW",
"type": "string",
"display": true,
"required": false,
"displayName": "LOW",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POINTS UP",
"type": "string",
"display": true,
"required": false,
"displayName": "POINTS UP",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POINTS DOWN",
"type": "string",
"display": true,
"required": false,
"displayName": "POINTS DOWN",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PROFIT/LOSS",
"type": "string",
"display": true,
"required": false,
"displayName": "PROFIT/LOSS",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ/edit?usp=drivesdk",
"cachedResultName": "ForexFactory News Data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "895fda5e-0b67-44fc-accf-227c90801034",
"name": "Input to Sheets2",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1280,
2176
],
"parameters": {
"columns": {
"value": {
"DATE": "={{ $('SELL').item.json.DATE }}",
"NEWS": "={{ $('SELL').item.json.NEWS }}",
"PAIRS": "={{ $('SELL').item.json.affectedPairs }}",
"PRICE": "={{ $json.PRICE }}",
"IMPACT": "={{ $('SELL').item.json.IMPACT }}",
"POSITION": "={{ $('SELL').item.json.POSITION }}"
},
"schema": [
{
"id": "DATE",
"type": "string",
"display": true,
"required": false,
"displayName": "DATE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PAIRS",
"type": "string",
"display": true,
"required": false,
"displayName": "PAIRS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "NEWS",
"type": "string",
"display": true,
"required": false,
"displayName": "NEWS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "IMPACT",
"type": "string",
"display": true,
"required": false,
"displayName": "IMPACT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POSITION",
"type": "string",
"display": true,
"required": false,
"displayName": "POSITION",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PRICE",
"type": "string",
"display": true,
"required": false,
"displayName": "PRICE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "HIGH",
"type": "string",
"display": true,
"required": false,
"displayName": "HIGH",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LOW",
"type": "string",
"display": true,
"required": false,
"displayName": "LOW",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POINTS UP",
"type": "string",
"display": true,
"required": false,
"displayName": "POINTS UP",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POINTS DOWN",
"type": "string",
"display": true,
"required": false,
"displayName": "POINTS DOWN",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PROFIT/LOSS",
"type": "string",
"display": true,
"required": false,
"displayName": "PROFIT/LOSS",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1f6SS-WVj3p2rZJ6SOawzWsXm5l796vQaNyGFIwABlqQ/edit?usp=drivesdk",
"cachedResultName": "ForexFactory News Data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "30258d72-7915-4250-b963-a8fab687f991",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
-1520,
1232
],
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "72545cb7-114e-4723-abcf-afae0d0b16e2",
"name": "Get News Segment",
"type": "n8n-nodes-base.set",
"position": [
-1072,
1152
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f072ec4c-228e-4713-9cff-437d99dd8224",
"name": "newsSegment",
"type": "string",
"value": "={{ $json.data.modelResponse.scrapedContent.text.substring($json.data.modelResponse.scrapedContent.text.indexOf(\"Usual Effect\")-1150,$json.data.modelResponse.scrapedContent.text.indexOf(\"Usual Effect\")+200) }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "21b32eda-5842-497d-b38c-4424b4b1698b",
"name": "Get Actual Data?2",
"type": "n8n-nodes-base.if",
"position": [
-848,
1152
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "5fd83885-b07e-4c7d-87ce-038281d6413f",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.newsSegment.substring($json.newsSegment.indexOf($('Affected Pairs').item.json.summary2),$json.newsSegment.indexOf($('Affected Pairs').item.json.summary2)+100).split(\" | \")[2] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d5374b72-624f-4381-b9f7-08d2f060643d",
"name": "Actual, Forecast Value2",
"type": "n8n-nodes-base.set",
"position": [
-400,
992
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f98f97f1-f9cd-4a4a-a987-79bf7cefd75c",
"name": "actual",
"type": "string",
"value": "={{ $json.newsSegment.substring($json.newsSegment.indexOf($('Affected Pairs').item.json.summary2),$json.newsSegment.indexOf($('Affected Pairs').item.json.summary2)+100).split(\" | \")[2] }}"
},
{
"id": "0f1aaafa-b164-4f5b-8efa-0bf0adde1750",
"name": "forecast",
"type": "string",
"value": "={{ $json.newsSegment.substring($json.newsSegment.indexOf($('Affected Pairs').item.json.summary2),$json.newsSegment.indexOf($('Affected Pairs').item.json.summary2)+100).split(\" | \")[3] }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "83dbef58-6c66-4964-aa9a-24275490d823",
"name": "Actual, Forecast Value",
"type": "n8n-nodes-base.set",
"position": [
-400,
1184
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f98f97f1-f9cd-4a4a-a987-79bf7cefd75c",
"name": "actual",
"type": "string",
"value": "={{ $if($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[1].includes(\"\\\\\"),$('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[1].replace(\"\\\\\",\"\"),$('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[1]) }}"
},
{
"id": "0f1aaafa-b164-4f5b-8efa-0bf0adde1750",
"name": "forecast",
"type": "string",
"value": "={{ $if($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[2].includes(\"\\\\\"),$('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[2].replace(\"\\\\\",\"\"),$('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.substring($('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+29, $('Scrape News Link').item.json.data.modelResponse.scrapedContent.text.indexOf(\"| --- | --- | --- | --- |\")+135).split(\" | \")[2]) }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Delete %KMBT, To Number",
"type": "main",
"index": 0
}
],
[
{
"node": "To Number",
"type": "main",
"index": 0
}
]
]
},
"BUY": {
"main": [
[
{
"node": "MyFxBook",
"type": "main",
"index": 0
}
]
]
},
"SELL": {
"main": [
[
{
"node": "MyFxBook2",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Scrape News Link",
"type": "main",
"index": 0
}
]
]
},
"Wait 5s": {
"main": [
[
{
"node": "Scrape News Link",
"type": "main",
"index": 0
}
]
]
},
"MyFxBook": {
"main": [
[
{
"node": "Get Price",
"type": "main",
"index": 0
}
]
]
},
"Get Price": {
"main": [
[
{
"node": "Input to Sheets",
"type": "main",
"index": 0
}
]
]
},
"Less Good": {
"main": [
[
{
"node": "News Result",
"type": "main",
"index": 0
}
]
]
},
"MyFxBook2": {
"main": [
[
{
"node": "Get Price2",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Base=NewsCurrency, Good",
"type": "main",
"index": 0
},
{
"node": "Base=NewsCurrency, Bad",
"type": "main",
"index": 0
},
{
"node": "Quote=NewsCurrency, Good",
"type": "main",
"index": 0
},
{
"node": "Quote=NewsCurrency, Bad",
"type": "main",
"index": 0
}
]
]
},
"To Number": {
"main": [
[
{
"node": "'Actual' less than 'Forecast' is good for currency?",
"type": "main",
"index": 0
}
]
]
},
"Get Price2": {
"main": [
[
{
"node": "Input to Sheets2",
"type": "main",
"index": 0
}
]
]
},
"News Result": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Greater Good": {
"main": [
[
{
"node": "News Result",
"type": "main",
"index": 0
}
]
]
},
"Affected Pairs": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"IF Has Forecast": {
"main": [
[
{
"node": "Get News Details",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing1",
"type": "main",
"index": 0
}
]
]
},
"Input to Sheets": {
"main": [
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Get Actual Data?": {
"main": [
[
{
"node": "Actual, Forecast Value",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 5s",
"type": "main",
"index": 0
}
]
]
},
"Get News Details": {
"main": [
[
{
"node": "Affected Pairs",
"type": "main",
"index": 0
}
]
]
},
"Get News Segment": {
"main": [
[
{
"node": "Get Actual Data?2",
"type": "main",
"index": 0
}
]
]
},
"Input to Sheets2": {
"main": [
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Scrape News Link": {
"main": [
[
{
"node": "Get News Segment",
"type": "main",
"index": 0
}
]
]
},
"Get Actual Data?2": {
"main": [
[
{
"node": "Actual, Forecast Value2",
"type": "main",
"index": 0
}
],
[
{
"node": "Get Actual Data?",
"type": "main",
"index": 0
}
]
]
},
"Actual, Forecast Value": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Base=NewsCurrency, Bad": {
"main": [
[
{
"node": "SELL",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Actual, Forecast Value2": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Base=NewsCurrency, Good": {
"main": [
[
{
"node": "BUY",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Delete %KMBT, To Number": {
"main": [
[
{
"node": "'Actual' less than 'Forecast' is good for currency?",
"type": "main",
"index": 0
}
]
]
},
"Google Calendar Trigger": {
"main": [
[
{
"node": "IF Has Forecast",
"type": "main",
"index": 0
}
]
]
},
"Quote=NewsCurrency, Bad": {
"main": [
[
{
"node": "BUY",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Quote=NewsCurrency, Good": {
"main": [
[
{
"node": "SELL",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"'Actual' less than 'Forecast' is good for currency?": {
"main": [
[
{
"node": "Less Good",
"type": "main",
"index": 0
}
],
[
{
"node": "Greater Good",
"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.
airtopApigoogleCalendarOAuth2ApigoogleSheetsOAuth2ApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Get notified if the actual data release is positive or negative for the relevant currency. Use the Telegram chat message about the news release as a trigger to open a trading position in MetaTrader 4. Record news data and live price to google sheets for analysis.
Source: https://n8n.io/workflows/8491/ — 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.
Splitout Code. Uses manualTrigger, httpRequest, stickyNote, splitOut. Event-driven trigger; 46 nodes.
Automate CSV imports into HubSpot without the mess. Powered by n8n. Supercharged by Pollup AI.
Telegram Code. Uses stickyNote, telegramTrigger, telegram, googleDrive. Event-driven trigger; 37 nodes.
Automatically processes new orders added to Google Sheets. Small orders are approved instantly; large orders trigger an HTML email with one-click Approve / Reject links — each handled by an independen
Sync your Google Calendar events with Google Sheets and get daily Slack summaries with meeting statistics. FEATURES: