My workflow won't publish

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Credential with ID u4eOYjqeHEOE6Ni4 does not exist for type telegramApi

Hi @Michael_Alexander

1)Since the error mentions telegramApi, look for any Telegram nodes in your workflow.

  • Open your workflow.
  • Look for nodes with a warning icon or those that use Telegram.
  • Click into each Telegram node and check the Credential dropdown menu. You will likely see a “Missing” or “Invalid” credential selected.

2)You need to provide a valid credential that exists on your current instance:

  1. Go to the Credentials tab in the left-hand sidebar of n8n.
  2. Click Add Credential​.
  3. Search for Telegram API​.
  4. Enter your Bot Token (obtained from @BotFather on Telegram).
  5. Save the credential.

3)Assign credential to node

  1. Go back to your workflow.
  2. Open the Telegram node(s) that were causing the error.
  3. In the Credential dropdown, select the new Telegram credential you just created.
  4. Repeat this for every Telegram node in the workflow.

Once all nodes are linked to a valid, existing credential, try to save or publish the workflow again. The error should now be resolved.

Another possiblity.

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.

  1. Delete the Telegram Trigger node entirely from your workflow.
  2. Save the workflow (even if it’s not published).
  3. Add a brand new Telegram Trigger node.
  4. Select your new credential
  5. 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:

  1. I opened every Telegram node and checked the credential dropdown
  2. I deleted the old credential and created a brand new one with a valid bot token
  3. 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?

You did not do this, @Michael_Alexander

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?

This may help

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:

  1. 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.

  2. 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.

Thank you.

@Michael_Alexander

Please open another thread for other issue to prevent clutter.
This thread is about your publishing problem

Did you see the new thread I opened regarding the issue I’m having with my Telegram bot looping?

Are you able to publish the workflow now?

I have a separate issue

Hi,

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.

Thank you.

Like I said, separate issue go to separate thread.
So,

I went to a different thread earlier. You didn’t respond in that thread either. Can you please help me with my problem?

Is the workflow publishing issue resolved?

Yes, that’s resolved. I have a separate issue now. My telegram bot keeps looping

Did my reply solve the workflow publishing issue?
If yes, please mark my reply as the solution. Thank You

No it didn’t. Can I please speak to a human?

So how did you solve it?