When you use a Telegram Trigger, n8n doesn’t just store the credential in the node; it creates a registration entry in its internal database that links a specific webhookId to a specific credentialId to handle the incoming requests from Telegram. Even though you updated the node and the JSON, the backend registration for that specific webhook is still pointing to the deleted ID
Simply re-selecting the credential in an existing node does not change the webhookId. You need to force n8n to generate a brand new webhook registration.
Delete the Telegram Trigger node entirely from your workflow.
Save the workflow (even if it’s not published).
Add a brand new Telegram Trigger node.
Select your new credential
Try to Publish the workflow. This forces n8n to create a new webhookId and a new database entry, bypassing the “ghost” reference to the old credential.
Thank you for the response. I have already completed all three steps you described:
I opened every Telegram node and checked the credential dropdown
I deleted the old credential and created a brand new one with a valid bot token
I reassigned the new credential to every Telegram node in the workflow
Despite doing all of this, the workflow still will not publish and shows the same error referencing the old deleted credential ID. The old credential ID does not appear anywhere in the downloaded workflow JSON file either.
Can you escalate this or look into whether the old credential ID is cached somewhere on the backend of my n8n cloud account?
I also have a separate looping issue. When my bot sends an audio file back to Telegram, the Telegram Trigger fires again and the workflow loops. The bot ends up responding to its own audio messages repeatedly.
I have already tried:
• Adding an is_bot filter in the If node
• Adding a Filter node before the If node
• Adding a Code node with update_id deduplication
None of these stopped the loop. What is the correct way to prevent the Telegram Trigger from firing when the bot sends its own audio response?
Thank you for sending the template. I reviewed it and it looks like it requires a PostgreSQL database setup which adds complexity I am not ready for right now.
My immediate priority is getting my existing workflow back online. Can you help me with two specific things first:
My workflow will not publish due to this error: “Credential with ID u4eOYjqeHEOE6Ni4 does not exist for type telegramApi” — I have already deleted and recreated the credential and reassigned it to every node but the error persists. Your previous response suggested deleting the Telegram Trigger node entirely and recreating it to force a new webhookId. I will try that now.
Once the workflow is publishing again, is there a simpler way to fix the looping issue without requiring a PostgreSQL database? I only need this bot for personal use by one person.
I was advised to open a new thread for this issue. I am building a personal AI assistant on n8n cloud that communicates through Telegram using voice messages. The workflow is:
Telegram Trigger → If (voice check) → Get a file → Transcribe (OpenAI Whisper) → AI Agent (GPT) → Generate Audio (OpenAI TTS) → Send Audio back to Telegram
The AI Agent works correctly — it transcribes my voice, understands what I say, and responds accurately. The problem is looping. After the bot sends its audio response back to Telegram, the Telegram Trigger fires again and the whole workflow repeats. The bot ends up responding to its own audio messages over and over.
Things I have already tried:
Adding an is_bot filter in the If node
Adding a separate Filter node before the If node
Adding a Code node with update_id deduplication
Unpublishing the duplicate workflow that was using the same bot token
Your team previously suggested the Debounced Telegram AI Support Bot template as a solution. I reviewed it but it requires a PostgreSQL database setup which adds significant complexity. This bot is for personal use by one person only.
Is there a simpler way to prevent the Telegram Trigger from firing when the bot sends its own audio response back? I do not need message aggregation or session management — just a clean single-turn voice-to-voice assistant that stops after responding.