This workflow follows the Chainllm → OpenAI Chat 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 →
{
"name": "titletopodcast",
"nodes": [
{
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"type": "n8n-nodes-base.telegramTrigger",
"typeVersion": 1.2,
"position": [
0,
104
],
"id": "f27dd0bc-09e3-4411-b8d0-75973891756c",
"name": "Telegram Trigger",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=write a 60 seconds script for below title\n\n {{ $json.message.text }}",
"messages": {
"messageValues": [
{
"message": "you're an skilled content writer and able to generate ascript for 60 seconds |write a thrilling script for the user given title with twist and turnsI am planning to post this script in the social media, it'll boost my social presence, so add authority statement in the scriptstone - bold and story telling"
}
]
},
"batching": {}
},
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"typeVersion": 1.7,
"position": [
224,
0
],
"id": "6ebbd449-8e84-4280-9dff-d3da4acfb220",
"name": "Basic LLM Chain"
},
{
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {
"temperature": 0.7
}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
296,
224
],
"id": "467fe9db-37d3-4bd5-9b3c-f1a16409e37b",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"resource": "audio",
"input": "={{ $json.text }}",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.8,
"position": [
0,
432
],
"id": "1fe1f9ec-91e5-46f3-a9a4-5c0146cca76d",
"name": "Generate audio",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendAudio",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"binaryData": true,
"additionalFields": {}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
224,
432
],
"id": "d6aab4df-b4e9-4d23-bc86-17804e750ae9",
"name": "Send an audio file",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"folderId": "1LFhYBQaypqXCzvaRVBIZm54bHMHaBTGd",
"title": "={{ $('Telegram Trigger').item.json.message.text }}1"
},
"type": "n8n-nodes-base.googleDocs",
"typeVersion": 2,
"position": [
576,
104
],
"id": "fd0f9ae9-bf62-41ce-91eb-26f3e477c3dd",
"name": "Create a document",
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"documentURL": "={{ $json.id }}",
"actionsUi": {
"actionFields": [
{
"action": "insert",
"text": "={{ $('Basic LLM Chain').item.json.text }}"
}
]
}
},
"type": "n8n-nodes-base.googleDocs",
"typeVersion": 2,
"position": [
800,
104
],
"id": "9cdf69e9-d9fc-4b89-a543-b649d80a92a7",
"name": "Update a document",
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Telegram Trigger": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Create a document",
"type": "main",
"index": 0
}
]
]
},
"Generate audio": {
"main": [
[
{
"node": "Send an audio file",
"type": "main",
"index": 0
}
]
]
},
"Create a document": {
"main": [
[
{
"node": "Update a document",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "fe3a5cc8-8ce1-409b-ac5d-3afe32938dae",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "DadyIheV4nNwYiWG",
"tags": []
}
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.
googleDocsOAuth2ApiopenAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
titletopodcast. Uses telegramTrigger, chainLlm, lmChatOpenAi, openAi. Event-driven trigger; 7 nodes.
Source: https://github.com/paari24/genAI/blob/30bfbd32b1e76049e3795e5e94449ce5c7a2d915/n8n/titletopodcast.json — 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.
This workflow is for users who want to turn Telegram into a personal AI-powered assistant capable of handling everyday tasks through natural language. It's ideal for solo founders, operators, or profe
This n8n template demonstrates how to create authentic-looking User Generated Content (UGC) advertisements using AI image generation, voice synthesis, and lip-sync technology. The workflow transforms
📌 How it works
Personal Assistent Telegram. Uses chainLlm, lmChatOpenAi, googleCalendar, telegramTrigger. Event-driven trigger; 28 nodes.
This workflow gives you the ability to reply to a long email with a voice note, rather than having to type everything out.