Automatisation Telegram avec n8n : envoi de recettes en temps réel
Ce workflow n8n a pour objectif d'automatiser l'envoi de recettes via Telegram, offrant ainsi une solution efficace pour les chefs cuisiniers, les blogueurs culinaires ou toute personne souhaitant partager des recettes facilement. Grâce à cette automatisation n8n, vous pouvez programmer l'envoi de recettes à des moments précis ou en réponse à des événements, comme l'arrivée de nouveaux abonnés sur votre bot Telegram. Le workflow commence par un déclencheur Cron qui permet de lancer le processus à intervalles réguliers. Ensuite, il utilise des noeuds Airtable pour récupérer les recettes stockées dans une base de données, garantissant que les utilisateurs reçoivent des informations à jour. Les noeuds HTTP Request sont également intégrés pour obtenir des recettes à partir d'une API externe, enrichissant ainsi le contenu partagé. Les messages sont ensuite envoyés via Telegram, incluant des images et des liens vers les recettes, ce qui améliore l'engagement des utilisateurs. En intégrant des conditions dans le workflow, vous pouvez personnaliser les messages en fonction des préférences des abonnés. Cette automatisation permet non seulement de gagner du temps, mais aussi d'améliorer la satisfaction des utilisateurs en leur fournissant un contenu pertinent et attrayant.
Workflow n8n Telegram, Airtable, recettes : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Telegram, Airtable, recettes : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"nodes": [
{
"name": "Cron",
"type": "n8n-nodes-base.cron",
"position": [
440,
440
],
"parameters": {
"triggerTimes": {
"item": [
{}
]
}
},
"typeVersion": 1
},
{
"name": "Airtable2",
"type": "n8n-nodes-base.airtable",
"notes": "Grab our list of chats from Airtable to send a random recipe",
"position": [
660,
440
],
"parameters": {
"table": "Table 1",
"operation": "list",
"application": "your_sheet_id",
"additionalOptions": {}
},
"credentials": {
"airtableApi": {
"id": "5",
"name": "Airtable account"
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"name": "Set",
"type": "n8n-nodes-base.set",
"position": [
860,
600
],
"parameters": {
"values": {
"number": [
{
"name": "chatid",
"value": "={{$node[\"Airtable2\"].json[\"fields\"][\"chatid\"]}}"
}
],
"string": []
},
"options": {}
},
"typeVersion": 1
},
{
"name": "Recipe Photo",
"type": "n8n-nodes-base.telegram",
"position": [
1240,
440
],
"parameters": {
"file": "={{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"image\"]}}",
"chatId": "={{$node[\"Set\"].json[\"chatid\"]}}",
"operation": "sendPhoto",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1,
"continueOnFail": true
},
{
"name": "Recipe URL",
"type": "n8n-nodes-base.telegram",
"position": [
1420,
440
],
"parameters": {
"text": "=\n{{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"title\"]}}\n\n{{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"sourceUrl\"]}}",
"chatId": "={{$node[\"Set\"].json[\"chatid\"]}}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1,
"continueOnFail": true
},
{
"name": "IF",
"type": "n8n-nodes-base.if",
"notes": "If the chat ID isn't in our airtable, we add it. This is to send a new recipe daily. ",
"position": [
860,
-80
],
"parameters": {
"conditions": {
"number": [],
"string": [
{
"value1": "= {{$node[\"Airtable1\"].parameter[\"fields\"][1]}}",
"value2": "= {{$node[\"Airtable1\"].parameter[\"fields\"][0]}}",
"operation": "notEqual"
}
],
"boolean": []
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
620,
-80
],
"parameters": {
"table": "Table 1",
"operation": "list",
"application": "your_sheet_id",
"additionalOptions": {}
},
"credentials": {
"airtableApi": {
"id": "5",
"name": "Airtable account"
}
},
"typeVersion": 1
},
{
"name": "Airtable1",
"type": "n8n-nodes-base.airtable",
"position": [
1340,
-100
],
"parameters": {
"table": "Table 1",
"fields": [
"chatid",
"={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
"Name",
"={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"from\"][\"first_name\"]}}"
],
"options": {},
"operation": "append",
"application": "your_sheet_id",
"addAllFields": false
},
"credentials": {
"airtableApi": {
"id": "5",
"name": "Airtable account"
}
},
"typeVersion": 1
},
{
"name": "Telegram Recipe Image",
"type": "n8n-nodes-base.telegram",
"position": [
980,
180
],
"parameters": {
"file": "={{$node[\"Get recipes\"].json[\"recipes\"][0][\"image\"]}}",
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
"operation": "sendPhoto",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1
},
{
"name": "Telegram Recipe URL",
"type": "n8n-nodes-base.telegram",
"position": [
1180,
180
],
"parameters": {
"text": "=\n{{$node[\"Get recipes\"].json[\"recipes\"][0][\"title\"]}}\n\n{{$node[\"Get recipes\"].json[\"recipes\"][0][\"sourceUrl\"]}}",
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1
},
{
"name": "Set1",
"type": "n8n-nodes-base.set",
"position": [
1120,
-100
],
"parameters": {
"values": {
"string": [
{
"name": "chatid",
"value": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}"
},
{
"name": "Name",
"value": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"from\"][\"first_name\"]}}"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"name": "Get recipes from API",
"type": "n8n-nodes-base.httpRequest",
"notes": "https://spoonacular.com/food-api/docs",
"position": [
1080,
440
],
"parameters": {
"url": "https://api.spoonacular.com/recipes/random?apiKey=APIKEYHERE&number=1&tags=vegan",
"options": {
"fullResponse": false
},
"queryParametersUi": {
"parameter": []
}
},
"typeVersion": 1
},
{
"name": "Get recipes",
"type": "n8n-nodes-base.httpRequest",
"notes": "https://spoonacular.com/food-api/docs",
"position": [
800,
180
],
"parameters": {
"url": "https://api.spoonacular.com/recipes/random?apiKey=APIKEYHERE&number=1&tags=vegan",
"options": {
"fullResponse": false
},
"queryParametersUi": {
"parameter": []
}
},
"typeVersion": 1
},
{
"name": "Telegram Trigger - people join bot",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
420,
140
],
"webhookId": "your_bot_id",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1
},
{
"name": "Telegram - Welcome Message",
"type": "n8n-nodes-base.telegram",
"position": [
620,
180
],
"parameters": {
"text": "=Welcome! This bot will send you one vegan recipe a day. Here is your first recipe!",
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram account"
}
},
"typeVersion": 1
}
],
"connections": {
"IF": {
"main": [
[
{
"node": "Set1",
"type": "main",
"index": 0
}
]
]
},
"Set": {
"main": [
[
{
"node": "Get recipes from API",
"type": "main",
"index": 0
}
]
]
},
"Cron": {
"main": [
[
{
"node": "Airtable2",
"type": "main",
"index": 0
}
]
]
},
"Set1": {
"main": [
[
{
"node": "Airtable1",
"type": "main",
"index": 0
}
]
]
},
"Airtable": {
"main": [
[
{
"node": "IF",
"type": "main",
"index": 0
}
]
]
},
"Airtable2": {
"main": [
[
{
"node": "Set",
"type": "main",
"index": 0
}
]
]
},
"Get recipes": {
"main": [
[
{
"node": "Telegram Recipe Image",
"type": "main",
"index": 0
}
]
]
},
"Recipe Photo": {
"main": [
[
{
"node": "Recipe URL",
"type": "main",
"index": 0
}
]
]
},
"Get recipes from API": {
"main": [
[
{
"node": "Recipe Photo",
"type": "main",
"index": 0
}
]
]
},
"Telegram Recipe Image": {
"main": [
[
{
"node": "Telegram Recipe URL",
"type": "main",
"index": 0
}
]
]
},
"Telegram - Welcome Message": {
"main": [
[
{
"node": "Get recipes",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger - people join bot": {
"main": [
[
{
"node": "Airtable",
"type": "main",
"index": 0
},
{
"node": "Telegram - Welcome Message",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Telegram, Airtable, recettes : pour qui est ce workflow ?
Ce workflow s'adresse aux chefs cuisiniers, blogueurs culinaires, et entreprises de restauration qui souhaitent automatiser l'envoi de recettes à leurs abonnés sur Telegram. Il est idéal pour les équipes ayant une connaissance technique intermédiaire et cherchant à améliorer leur communication avec les clients.
Workflow n8n Telegram, Airtable, recettes : problème résolu
Ce workflow résout le problème de la gestion manuelle de l'envoi de recettes, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs peuvent se concentrer sur la création de contenu tout en s'assurant que leurs abonnés reçoivent des informations fraîches et engageantes. Cela réduit également le risque de perte d'abonnés en maintenant un contact régulier et pertinent.
Workflow n8n Telegram, Airtable, recettes : étapes du workflow
Étape 1 : Le workflow est déclenché par un Cron, permettant une exécution programmée.
- Étape 1 : Il récupère des recettes à partir d'Airtable ou d'une API via des noeuds HTTP Request.
- Étape 2 : Les recettes sont traitées et formatées à l'aide de noeuds Set pour préparer les messages à envoyer.
- Étape 3 : En fonction des conditions définies, le workflow envoie les recettes via Telegram, incluant des photos et des liens.
- Étape 4 : Un message de bienvenue est également envoyé aux nouveaux abonnés du bot Telegram, les engageant dès leur arrivée.
Workflow n8n Telegram, Airtable, recettes : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier les paramètres des noeuds Airtable pour pointer vers votre propre base de données de recettes. Assurez-vous de configurer correctement les URL des API si vous souhaitez intégrer des recettes externes. Vous pouvez également ajuster les messages envoyés via Telegram en modifiant les textes dans les noeuds correspondants. Pour une meilleure sécurité, envisagez d'ajouter des contrôles d'accès et de monitorer les performances du workflow à l'aide des outils de n8n.