Surveillance de l'actualité par IA (Linkup, Airtable et notifications Slack)
Ceci est unMarket Research, AI Summarizationworkflow d'automatisation du domainecontenant 16 nœuds.Utilise principalement des nœuds comme Set, Wait, Slack, Airtable, SplitOut. Surveillance de l'actualité basée sur l'IA (Linkup, Airtable et notifications Slack)
- •Token Bot Slack ou URL Webhook
- •Clé API Airtable
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (16)
Catégorie
{
"nodes": [
{
"id": "bf4f2727-7759-455b-a6a1-4b175e0626b2",
"name": "Boucler sur les éléments",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-160,
272
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "7ac9b3b7-d793-4b5b-9918-ccec99f52860",
"name": "Attendre",
"type": "n8n-nodes-base.wait",
"position": [
528,
688
],
"webhookId": "37096805-17ce-43b0-8818-ddea6494fcaf",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "f4746549-88aa-405e-82e2-027b010ef491",
"name": "Déclencheur programmé",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1072,
272
],
"parameters": {
"rule": {
"interval": [
{
"daysInterval": 7,
"triggerAtHour": 17,
"triggerAtMinute": 30
}
]
}
},
"typeVersion": 1.2
},
{
"id": "1b1443b3-cd20-438a-b6e3-5da5962a03fe",
"name": "Interroger Linkup pour l'actualité",
"type": "n8n-nodes-base.httpRequest",
"position": [
-608,
272
],
"parameters": {
"url": "https://api.linkup.so/v1/search",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "q",
"value": "=Find news related to \"{{ $json['News topic(s)'] }}\".\nOnly pick news, no opinion or evergreen articles.\nIdeally between 10 and 15 news."
},
{
"name": "depth",
"value": "standard"
},
{
"name": "outputType",
"value": "structured"
},
{
"name": "structuredOutputSchema",
"value": "={\n \"type\": \"object\",\n \"properties\": {\n \"news\": {\n \"type\": \"array\",\n \"description\": \"A list of news articles\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"string\",\n \"description\": \"Title of the news article\"\n },\n \"url\": {\n \"type\": \"string\",\n \"description\": \"URL of the news article\"\n },\n \"content\": {\n \"type\": \"string\",\n \"description\": \"A summary of the news in a few sentences\"\n },\n \"date\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"Publication date of the news article in ISO 8601 format (e.g., 2025-07-18T14:30:00Z) - really extract the publication date of the article, not a specific date mentioned in the news content\"\n }\n },\n \"required\": [\"title\", \"url\", \"content\", \"date\"]\n }\n }\n },\n \"required\": [\"news\"]\n}"
},
{
"name": "fromDate",
"value": "={{ \n $now\n .minus($json['News from last x days'], 'days')\n .startOf('day')\n .toISO()\n}}"
},
{
"name": "includeImages",
"value": "false"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "W7AgeoVOv60DlvyS",
"name": "Linkup - web search AI"
}
},
"typeVersion": 4.2
},
{
"id": "6fe2c597-8212-47f4-b208-ff41889b93ae",
"name": "Définir les paramètres d'actualité",
"type": "n8n-nodes-base.set",
"position": [
-832,
272
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8a140389-83bd-4b60-9b16-07bf8a7d8511",
"name": "News topic(s)",
"type": "string",
"value": "=decarbonisation, net-zero and corporate sustainability"
},
{
"id": "1dbad32c-de95-4c01-9edf-1c8118c07778",
"name": "News from last x days",
"type": "number",
"value": 7
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a5e80f86-317a-42c8-b3cd-6272e3e23739",
"name": "Stocker une actualité",
"type": "n8n-nodes-base.airtable",
"position": [
160,
304
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app5DnGDQDIE9YZkV",
"cachedResultUrl": "https://airtable.com/app5DnGDQDIE9YZkV",
"cachedResultName": "News monitoring (N8N template)"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblzZNOaLwby3lV5S",
"cachedResultUrl": "https://airtable.com/app5DnGDQDIE9YZkV/tblzZNOaLwby3lV5S",
"cachedResultName": "News"
},
"columns": {
"value": {
"URL": "={{ $json.url }}",
"Date": "={{ $json.date }}",
"Title": "={{ $json.title }}",
"Status": "new",
"Summary": "={{ $json.content }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "new",
"value": "new"
},
{
"name": "reviewed",
"value": "reviewed"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"typecast": true
},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "xSf8osMIdIhLSt91",
"name": "Duv Airtable"
}
},
"typeVersion": 2.1
},
{
"id": "c951dc15-33db-4416-94ac-937cc701ca00",
"name": "Notifier dans Slack",
"type": "n8n-nodes-base.slack",
"position": [
448,
-32
],
"webhookId": "99313eea-8dd4-4c94-8a01-369fa3b4f94b",
"parameters": {
"text": "=The News of the past {{ $('Set news parameters').item.json['News from last x days'] }} days are ready for review!\n\n{{ $json.data.length }} news were found!",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C025KLW3MQS",
"cachedResultName": "général"
},
"otherOptions": {
"includeLinkToWorkflow": false
}
},
"credentials": {
"slackApi": {
"id": "EkDmLiXskPXRqVW4",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "f3756483-bc07-4ed8-b605-b0a29552cd13",
"name": "Agréger en 1 élément",
"type": "n8n-nodes-base.aggregate",
"position": [
160,
-32
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "5edfe681-f14b-4498-96c7-50107637e674",
"name": "Séparer les actualités",
"type": "n8n-nodes-base.splitOut",
"position": [
-384,
272
],
"parameters": {
"options": {},
"fieldToSplitOut": "news"
},
"typeVersion": 1
},
{
"id": "16bda7f5-d7bc-4ac1-886b-9b405a33a627",
"name": "Note autocollante",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1696,
96
],
"parameters": {
"width": 512,
"height": 608,
"content": "## **Automated News Monitoring System**\n\nThis workflow automatically finds recent news articles about topics you define, saves them to Airtable, and notifies you on Slack.\n\n### **How it works**\n\n1. Runs on a schedule you set.\n2. Uses **Linkup's AI** to search the web for news on your topics.\n3. Extracts the **title, summary, date, and URL** for each article.\n4. Saves each article as a new record in **Airtable**.\n5. Sends a **Slack notification** when the process is complete.\n\n### **How to use**\n\n1. **Set your schedule:** Configure the **Schedule Trigger** to run when you want. Default is every 7 days.\n2. **Define your topics:** In the **Set news parameters** node, enter the keywords you want to monitor.\n3. **Connect your accounts:**\n * Add your **Linkup API key** to the \"Query Linkup for news\" node.\n * Connect your **Airtable** account in the \"Store one news\" node.\n * Connect your **Slack** account in the \"Notify in Slack\" node.\n4. **Activate the workflow.** Your news digest is now automated!"
},
"typeVersion": 1
},
{
"id": "eafe476f-8052-4e37-953c-dd1984a5066f",
"name": "Note autocollante 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
432
],
"parameters": {
"color": 7,
"width": 192,
"height": 288,
"content": "### Edit this node to set the topic and freshness\n\n* In **News topic(s)**, write the specific keywords you'd like to find news about.\n* In **News from last x days**, set the same number of days as your schedule trigger"
},
"typeVersion": 1
},
{
"id": "294dcd45-2719-4429-886b-8623c7084d5f",
"name": "Note autocollante 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
432
],
"parameters": {
"color": 7,
"width": 192,
"height": 144,
"content": "### Connect your Linkup credential\n\nGet a free API key at: https://www.linkup.so/"
},
"typeVersion": 1
},
{
"id": "f9bab16a-ce44-4a4b-aaa2-1ec8796e73c7",
"name": "Note autocollante 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
464
],
"parameters": {
"color": 7,
"width": 192,
"height": 272,
"content": "### Connect your Airtable credential\n\nCreate a table that contains the fields:\n- Title\n- Date\n- Summary\n- URL\n- Status\nWhere the news will be stored\n"
},
"typeVersion": 1
},
{
"id": "9aa4a05c-0e7f-4a89-b0d0-fb11365be5f9",
"name": "Note autocollante 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
528,
544
],
"parameters": {
"color": 7,
"width": 192,
"height": 128,
"content": "### We pause for a bit to let the Airtable API breathe... and avoid hitting rate limits per second!"
},
"typeVersion": 1
},
{
"id": "da0eeb66-2d6d-41e9-a833-339c3d18c5b6",
"name": "Note autocollante 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
128
],
"parameters": {
"color": 7,
"width": 192,
"height": 128,
"content": "### Connect the Slack channel where you'd like to receive the notification once it's ready!"
},
"typeVersion": 1
},
{
"id": "bece4bad-fee2-472a-972d-27d12a690b89",
"name": "Note autocollante 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
432
],
"parameters": {
"color": 7,
"width": 192,
"height": 144,
"content": "### Set the schedule frequence that you like!"
},
"typeVersion": 1
}
],
"pinData": {
"Schedule Trigger": [
{
"Hour": "05",
"Year": "2025",
"Month": "July",
"Minute": "20",
"Second": "28",
"Timezone": "America/New_York (UTC-04:00)",
"timestamp": "2025-07-18T05:20:28.857-04:00",
"Day of week": "Friday",
"Day of month": "18",
"Readable date": "July 18th 2025, 5:20:28 am",
"Readable time": "5:20:28 am"
}
]
},
"connections": {
"7ac9b3b7-d793-4b5b-9918-ccec99f52860": {
"main": [
[
{
"node": "bf4f2727-7759-455b-a6a1-4b175e0626b2",
"type": "main",
"index": 0
}
]
]
},
"5edfe681-f14b-4498-96c7-50107637e674": {
"main": [
[
{
"node": "bf4f2727-7759-455b-a6a1-4b175e0626b2",
"type": "main",
"index": 0
}
]
]
},
"a5e80f86-317a-42c8-b3cd-6272e3e23739": {
"main": [
[
{
"node": "7ac9b3b7-d793-4b5b-9918-ccec99f52860",
"type": "main",
"index": 0
}
]
]
},
"bf4f2727-7759-455b-a6a1-4b175e0626b2": {
"main": [
[
{
"node": "f3756483-bc07-4ed8-b605-b0a29552cd13",
"type": "main",
"index": 0
}
],
[
{
"node": "a5e80f86-317a-42c8-b3cd-6272e3e23739",
"type": "main",
"index": 0
}
]
]
},
"f4746549-88aa-405e-82e2-027b010ef491": {
"main": [
[
{
"node": "6fe2c597-8212-47f4-b208-ff41889b93ae",
"type": "main",
"index": 0
}
]
]
},
"f3756483-bc07-4ed8-b605-b0a29552cd13": {
"main": [
[
{
"node": "c951dc15-33db-4416-94ac-937cc701ca00",
"type": "main",
"index": 0
}
]
]
},
"6fe2c597-8212-47f4-b208-ff41889b93ae": {
"main": [
[
{
"node": "1b1443b3-cd20-438a-b6e3-5da5962a03fe",
"type": "main",
"index": 0
}
]
]
},
"1b1443b3-cd20-438a-b6e3-5da5962a03fe": {
"main": [
[
{
"node": "5edfe681-f14b-4498-96c7-50107637e674",
"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é ?
Avancé - Étude de marché, Résumé IA
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
Partager ce workflow