AutomationFlowsSlack & Telegram › Daily Random Recipe to Telegram

Daily Random Recipe to Telegram

Original n8n title: Send a Random Recipe Once a Day to Telegram

Send A Random Recipe Once A Day To Telegram. Uses airtable, telegram, httpRequest, telegramTrigger. Scheduled trigger; 15 nodes.

Cron / scheduled trigger★★★★☆ complexity15 nodesAirtableTelegramHTTP RequestTelegram Trigger
Slack & Telegram Trigger: Cron / scheduled Nodes: 15 Complexity: ★★★★☆ Added:

This workflow follows the Airtable → 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 →

Download .json
{
  "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

Start your day with a delightful surprise by receiving a randomly selected recipe delivered straight to your Telegram chat each morning, helping you discover new meal ideas effortlessly and spark culinary creativity without any manual searching. This workflow suits busy individuals or cooking enthusiasts keen on daily inspiration, drawing recipes from an Airtable base and pairing them with images sourced via HTTP requests. The key step involves the cron trigger firing at a set time to fetch and randomise a recipe entry, then formatting it into an engaging Telegram message with photo and link.

Use this workflow when you want a simple, automated routine for varied recipe suggestions integrated seamlessly with Telegram notifications, ideal for personal use or small teams sharing food ideas. Avoid it if your recipe database requires complex filtering or real-time user inputs, as it's designed for straightforward daily sends without customisation. Common variations include adjusting the cron schedule for different times or adding filters in Airtable to focus on specific cuisines like vegetarian options.

About this workflow

Send A Random Recipe Once A Day To Telegram. Uses airtable, telegram, httpRequest, telegramTrigger. Scheduled trigger; 15 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This telegram bot is designed to send one random recipe a day.

Airtable, Telegram, HTTP Request +1
Slack & Telegram

This n8n workflow receives files sent in a Telegram chat, uploads them to Google Drive, extracts text using OCR (for images and PDFs), and stores the extracted content in Airtable for quick search and

Telegram Trigger, Telegram, Google Drive +2
Slack & Telegram

Dobby. Uses httpRequest, telegramTrigger, telegram. Scheduled trigger; 18 nodes.

HTTP Request, Telegram Trigger, Telegram
Slack & Telegram

🚀 Remote Job Automation Workflow Automatically fetch, clean, and broadcast the latest remote job listings — powered by RemoteOK, Airtable, and Telegram.

HTTP Request, Telegram, Airtable
Slack & Telegram

This n8n template demonstrates how to automatically fetch upcoming movie releases from TMDB and let users add selected movies to their Google Calendar directly from Telegram. On a daily schedule, the

HTTP Request, Data Table, Telegram +2