Importation quotidienne du calendaire Forex Factory vers Google Sheets et envoi vers Telegram
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme If, Code, Filter, Telegram, Aggregate. Importation quotidienne du calendrier Forex Factory d'hier vers Google Sheets et envoi de notifications Telegram
- •Token Bot Telegram
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
Catégorie
{
"id": "fvd4uwHNbYcUbqzk",
"meta": {
"instanceId": "c24388df44432e8ff2c4acecd7ab0dd2faec628bd83c70beb384cea105f7a50a",
"templateCredsSetupCompleted": true
},
"name": "Daily Import Forex Factory Calendar into Google Sheets & Send in Telegram",
"tags": [
{
"id": "RhAmCaLYc9EkF42I",
"name": "n8n",
"createdAt": "2025-08-24T08:04:35.027Z",
"updatedAt": "2025-08-24T08:04:35.027Z"
}
],
"nodes": [
{
"id": "de71e899-7dd7-40f6-9a69-f34fc4ddd93e",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
500,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "d308f5af-3dc7-4313-8bff-d7736de748e5",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.impact }}",
"rightValue": "High"
},
{
"id": "77dcdd8a-b5df-46b2-bd9e-c255643cc17e",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.impact }}",
"rightValue": "Medium"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "2c535596-f826-4834-a201-b2a15b87bd49",
"name": "Convertir le nom du mois en nombre",
"type": "n8n-nodes-base.code",
"position": [
20,
0
],
"parameters": {
"jsCode": "// Get all input items\nconst items = $input.all();\n\nconst monthMap = {\n January: 1,\n February: 2,\n March: 3,\n April: 4,\n May: 5,\n June: 6,\n July: 7,\n August: 8,\n September: 9,\n October: 10,\n November: 11,\n December: 12\n};\n\nconst output = items.map(item => {\n const monthName = item.json.Month || \"\";\n const formattedName = monthName.trim().charAt(0).toUpperCase() + monthName.trim().slice(1).toLowerCase();\n const monthNumber = monthMap[formattedName] || null;\n\n return {\n json: {\n Month: monthName,\n Month_Number: monthNumber\n }\n };\n});\n\nreturn output;\n"
},
"typeVersion": 2
},
{
"id": "a0f18403-c517-4ce0-8d4a-985cf0f082bf",
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
1480,
-140
],
"webhookId": "18deaccb-d2b8-44b3-82bc-c906f47615c4",
"parameters": {
"text": "=Forex factory Calendar: \nDate: {{ new Date(Date.now() - 24*60*60*1000).toISOString().split('T')[0] }}\n\nThe High Impact News:\n{{ $json['News Title'] }}\n\n",
"chatId": "xxxxxxxxxxxx",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "kKlsxbYBGojXYXUo",
"name": "Telegram account 4"
}
},
"typeVersion": 1.2
},
{
"id": "3d1cef00-fee9-4e3f-8da9-ad520b1ff0f2",
"name": "Ajouter à Google Sheets : Impact Faible",
"type": "n8n-nodes-base.googleSheets",
"position": [
820,
100
],
"parameters": {
"columns": {
"value": {
"date": "={{ $json.date }}",
"time": "={{ $json.time }}",
"year": "={{ $json.year }}",
"actual": "={{ $json.actual }}",
"impact": "={{ $json.impact }}",
"currency": "={{ $json.currency }}",
"forecast": "={{ $json.forecast }}",
"previous": "={{ $json.previous }}",
"News Title": "={{ $json.name }}"
},
"schema": [
{
"id": "News Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "News Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "year",
"type": "string",
"display": true,
"required": false,
"displayName": "year",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date",
"type": "string",
"display": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "time",
"type": "string",
"display": true,
"required": false,
"displayName": "time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "currency",
"type": "string",
"display": true,
"required": false,
"displayName": "currency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "impact",
"type": "string",
"display": true,
"required": false,
"displayName": "impact",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "actual",
"type": "string",
"display": true,
"required": false,
"displayName": "actual",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "forecast",
"type": "string",
"display": true,
"required": false,
"displayName": "forecast",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "previous",
"type": "string",
"display": true,
"required": false,
"displayName": "previous",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"useAppend": true
},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1954835598,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw/edit#gid=1954835598",
"cachedResultName": "calendar-Low Impact"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw/edit?usp=drivesdk",
"cachedResultName": "Import Forex Factory Calendar into Google Sheets | n8n"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "A3ebjIB2M27srsju",
"name": "Nima40"
}
},
"typeVersion": 4.6
},
{
"id": "6c618af8-eddd-4799-ae29-2e648502ebc9",
"name": "Ajouter à Google Sheets : Impact Élevé",
"type": "n8n-nodes-base.googleSheets",
"position": [
820,
-140
],
"parameters": {
"columns": {
"value": {
"date": "={{ $json.date }}",
"time": "={{ $json.time }}",
"year": "={{ $json.year }}",
"actual": "={{ $json.actual }}",
"impact": "={{ $json.impact }}",
"currency": "={{ $json.currency }}",
"forecast": "={{ $json.forecast }}",
"previous": "={{ $json.previous }}",
"News Title": "={{ $json.name }}"
},
"schema": [
{
"id": "News Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "News Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "year",
"type": "string",
"display": true,
"required": false,
"displayName": "year",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date",
"type": "string",
"display": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "time",
"type": "string",
"display": true,
"required": false,
"displayName": "time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "currency",
"type": "string",
"display": true,
"required": false,
"displayName": "currency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "impact",
"type": "string",
"display": true,
"required": false,
"displayName": "impact",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "actual",
"type": "string",
"display": true,
"required": false,
"displayName": "actual",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "forecast",
"type": "string",
"display": true,
"required": false,
"displayName": "forecast",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "previous",
"type": "string",
"display": true,
"required": false,
"displayName": "previous",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"useAppend": true
},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw/edit#gid=0",
"cachedResultName": "calendar-High/Medium Impact"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gktMWTBVN0B9SZ6cEIW1gFKuUAnHrR_hbLncqilbczw/edit?usp=drivesdk",
"cachedResultName": "Import Forex Factory Calendar into Google Sheets | n8n"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "A3ebjIB2M27srsju",
"name": "Nima40"
}
},
"typeVersion": 4.6
},
{
"id": "f9e74e46-1363-434e-a853-4f9e740917b5",
"name": "Agréger",
"type": "n8n-nodes-base.aggregate",
"position": [
1280,
-140
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "News Title"
}
]
}
},
"typeVersion": 1
},
{
"id": "2efc81dd-ebb1-42df-af02-45c60375fa26",
"name": "Déclencheur programmé : Déclencheurs quotidiens",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-220,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 8
}
]
}
},
"typeVersion": 1.2
},
{
"id": "e7c4e06a-fa45-4f1e-9509-b7f1f97eb172",
"name": "Obtenir le calendrier depuis Forex Factory",
"type": "n8n-nodes-base.httpRequest",
"position": [
260,
0
],
"parameters": {
"url": "https://forex-factory-scraper1.p.rapidapi.com/get_real_time_calendar_details",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "calendar",
"value": "Forex"
},
{
"name": "year",
"value": "={{ $('Schedule Trigger: Daily Triggers').item.json.Year }}"
},
{
"name": "month",
"value": "={{ $json.Month_Number }}"
},
{
"name": "day",
"value": "={{ $('Schedule Trigger: Daily Triggers').item.json['Day of month'] }}"
},
{
"name": "currency",
"value": "ALL"
},
{
"name": "time_format",
"value": "24h"
},
{
"name": "timezone",
"value": "GMT-05:00 Eastern Time (US & Canada)"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "forex-factory-scraper1.p.rapidapi.com"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "HKMIYjrbwUmAVM6y",
"name": "Rapid API - Forex Factory"
}
},
"typeVersion": 4.2
},
{
"id": "53189b4a-096c-404f-8cba-625dff49d939",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-460
],
"parameters": {
"color": 5,
"width": 280,
"height": 720,
"content": "## Forex Factory API\n\n**Rapid API** gives us an API. \nThe API provides the **exact day Forex Factory calendar** by its fields:\n\n**Fields:**\n- News Title \n- year \n- date \n- time \n- currency \n- impact \n- actual \n- forecast \n- previous"
},
"typeVersion": 1
},
{
"id": "c6f4da78-bcc2-45da-9371-3055d28ff331",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
660,
-460
],
"parameters": {
"color": 5,
"width": 360,
"height": 740,
"content": "## Google Sheets Append Nodes\n\nThese nodes **append the Forex Factory calendar data** into the connected Google Sheet.\n\n- **High Impact Sheet:** Stores events with *High* or *Medium* impact.\n- **Low Impact Sheet:** Stores all *Low impact* events.\n"
},
"typeVersion": 1
},
{
"id": "ea26a205-db18-4b83-96ae-356fb96b9505",
"name": "Filtrer les actualités à impact élevé",
"type": "n8n-nodes-base.filter",
"position": [
1060,
-140
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fa6853f2-3867-46e5-ad8a-c62be8ed4b77",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.impact }}",
"rightValue": "High"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "43a514e1-f821-4086-8287-903eb51c5f0d",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
-460
],
"parameters": {
"color": 5,
"height": 740,
"content": "## telegram\n\n**Add your Chat ID to it.**\n\nIt Sends High Impact News in one message."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Get calendar from Forex Factory": [
{
"json": {
"date": "2025-10-07",
"name": "Leading Indicators",
"time": "01:00",
"year": "2025",
"actual": "107.4%",
"impact": "Low Impact Expected",
"currency": "JPY",
"forecast": "107.1%",
"previous": "105.9%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "German Factory Orders m/m",
"time": "02:00",
"year": "2025",
"actual": "-0.8%",
"impact": "Low Impact Expected",
"currency": "EUR",
"forecast": "1.2%",
"previous": "-2.9%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Halifax HPI m/m",
"time": "02:00",
"year": "2025",
"actual": "-0.3%",
"impact": "Low Impact Expected",
"currency": "GBP",
"forecast": "0.2%",
"previous": "0.3%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "French Trade Balance",
"time": "02:45",
"year": "2025",
"actual": "-5.5B",
"impact": "Low Impact Expected",
"currency": "EUR",
"forecast": "-5.2B",
"previous": "-5.6B"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Foreign Currency Reserves",
"time": "03:00",
"year": "2025",
"actual": "727B",
"impact": "Low Impact Expected",
"currency": "CHF",
"forecast": "",
"previous": "715B"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Trade Balance",
"time": "08:30",
"year": "2025",
"actual": "-6.3B",
"impact": "Low Impact Expected",
"currency": "CAD",
"forecast": "-5.7B",
"previous": "-4.9B"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Ivey PMI",
"time": "10:00",
"year": "2025",
"actual": "59.8",
"impact": "Medium Impact Expected",
"currency": "CAD",
"forecast": "51.2",
"previous": "50.1"
}
},
{
"json": {
"date": "2025-10-07",
"name": "FOMC Member Bostic Speaks",
"time": "10:00",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "RCM/TIPP Economic Optimism",
"time": "10:02",
"year": "2025",
"actual": "48.3",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "49.3",
"previous": "48.7"
}
},
{
"json": {
"date": "2025-10-07",
"name": "FOMC Member Bowman Speaks",
"time": "10:05",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "FOMC Member Miran Speaks",
"time": "10:45",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "GDT Price Index",
"time": "11:29",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "NZD",
"forecast": "",
"previous": "-0.8%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "FOMC Member Kashkari Speaks",
"time": "11:30",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "German Buba President Nagel Speaks",
"time": "12:00",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "EUR",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "ECB President Lagarde Speaks",
"time": "12:10",
"year": "2025",
"actual": "",
"impact": "Medium Impact Expected",
"currency": "EUR",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "Consumer Credit m/m",
"time": "15:00",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "12.9B",
"previous": "16.0B"
}
},
{
"json": {
"date": "2025-10-07",
"name": "FOMC Member Miran Speaks",
"time": "16:05",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "API Weekly Statistical Bulletin",
"time": "16:30",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "USD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "Average Cash Earnings y/y",
"time": "19:30",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "JPY",
"forecast": "2.6%",
"previous": "4.1%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Current Account",
"time": "19:50",
"year": "2025",
"actual": "",
"impact": "Low Impact Expected",
"currency": "JPY",
"forecast": "2.45T",
"previous": "1.88T"
}
},
{
"json": {
"date": "2025-10-07",
"name": "Bank Holiday",
"time": "20:01",
"year": "2025",
"actual": "",
"impact": "Non-Economic",
"currency": "CNY",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "Official Cash Rate",
"time": "21:00",
"year": "2025",
"actual": "",
"impact": "High Impact Expected",
"currency": "NZD",
"forecast": "2.75%",
"previous": "3.00%"
}
},
{
"json": {
"date": "2025-10-07",
"name": "RBNZ Rate Statement",
"time": "21:00",
"year": "2025",
"actual": "",
"impact": "High Impact Expected",
"currency": "NZD",
"forecast": "",
"previous": ""
}
},
{
"json": {
"date": "2025-10-07",
"name": "BOJ Gov Ueda Speaks",
"time": "21:45",
"year": "2025",
"actual": "",
"impact": "High Impact Expected",
"currency": "JPY",
"forecast": "",
"previous": ""
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "c3bdd71b-5b7e-4325-b417-4f94b83d4653",
"connections": {
"de71e899-7dd7-40f6-9a69-f34fc4ddd93e": {
"main": [
[
{
"node": "6c618af8-eddd-4799-ae29-2e648502ebc9",
"type": "main",
"index": 0
}
],
[
{
"node": "3d1cef00-fee9-4e3f-8da9-ad520b1ff0f2",
"type": "main",
"index": 0
}
]
]
},
"f9e74e46-1363-434e-a853-4f9e740917b5": {
"main": [
[
{
"node": "a0f18403-c517-4ce0-8d4a-985cf0f082bf",
"type": "main",
"index": 0
}
]
]
},
"ea26a205-db18-4b83-96ae-356fb96b9505": {
"main": [
[
{
"node": "f9e74e46-1363-434e-a853-4f9e740917b5",
"type": "main",
"index": 0
}
]
]
},
"2c535596-f826-4834-a201-b2a15b87bd49": {
"main": [
[
{
"node": "e7c4e06a-fa45-4f1e-9509-b7f1f97eb172",
"type": "main",
"index": 0
}
]
]
},
"e7c4e06a-fa45-4f1e-9509-b7f1f97eb172": {
"main": [
[
{
"node": "de71e899-7dd7-40f6-9a69-f34fc4ddd93e",
"type": "main",
"index": 0
}
]
]
},
"2efc81dd-ebb1-42df-af02-45c60375fa26": {
"main": [
[
{
"node": "2c535596-f826-4834-a201-b2a15b87bd49",
"type": "main",
"index": 0
}
]
]
},
"6c618af8-eddd-4799-ae29-2e648502ebc9": {
"main": [
[
{
"node": "ea26a205-db18-4b83-96ae-356fb96b9505",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Création de contenu, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Nima Salimi
@salimiWith a deep understanding of marketing processes and data flows, I create solutions that streamline user engagement, campaign management, and data synchronization across multiple platforms. My goal is to help businesses reduce manual effort, improve accuracy, and accelerate their marketing initiatives through smart automation.
Partager ce workflow