diff --git a/apps/sim/app/api/webhooks/route.ts b/apps/sim/app/api/webhooks/route.ts index 2e707d7d9f..3f86741d52 100644 --- a/apps/sim/app/api/webhooks/route.ts +++ b/apps/sim/app/api/webhooks/route.ts @@ -352,16 +352,13 @@ async function createTelegramWebhookSubscription( ) { try { const { path, providerConfig } = webhookData - const { botToken, triggerPhrase } = providerConfig || {} + const { botToken } = providerConfig || {} - if (!botToken || !triggerPhrase) { - logger.warn( - `[${requestId}] Missing botToken or triggerPhrase for Telegram webhook creation.`, - { - webhookId: webhookData.id, - } - ) - return // Cannot proceed without botToken and triggerPhrase + if (!botToken) { + logger.warn(`[${requestId}] Missing botToken for Telegram webhook creation.`, { + webhookId: webhookData.id, + }) + return // Cannot proceed without botToken } const requestOrigin = new URL(request.url).origin diff --git a/apps/sim/app/api/webhooks/test/route.ts b/apps/sim/app/api/webhooks/test/route.ts index c51b8605d6..f0b3198d35 100644 --- a/apps/sim/app/api/webhooks/test/route.ts +++ b/apps/sim/app/api/webhooks/test/route.ts @@ -129,9 +129,8 @@ export async function GET(request: NextRequest) { case 'telegram': { const botToken = providerConfig.botToken - const triggerPhrase = providerConfig.triggerPhrase - if (!botToken || !triggerPhrase) { + if (!botToken) { logger.warn(`[${requestId}] Telegram webhook missing configuration: ${webhookId}`) return NextResponse.json( { success: false, error: 'Webhook has incomplete configuration' }, @@ -229,7 +228,6 @@ export async function GET(request: NextRequest) { id: foundWebhook.id, url: webhookUrl, botToken: `${botToken.substring(0, 5)}...${botToken.substring(botToken.length - 5)}`, // Show partial token for security - triggerPhrase, isActive: foundWebhook.isActive, }, test: { @@ -238,7 +236,7 @@ export async function GET(request: NextRequest) { webhookInfo, }, message: success - ? 'Telegram webhook appears to be working. Your bot should now receive messages.' + ? 'Telegram webhook appears to be working. Any message sent to your bot will trigger the workflow.' : 'Telegram webhook test failed. Please check server logs for more details.', curlCommand, info: 'To fix issues with Telegram webhooks getting 403 Forbidden responses, ensure the webhook request includes a User-Agent header.', diff --git a/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/providers/telegram.tsx b/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/providers/telegram.tsx index 850c23c71f..c143cf73f8 100644 --- a/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/providers/telegram.tsx +++ b/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/providers/telegram.tsx @@ -8,8 +8,6 @@ import { TestResultDisplay as WebhookTestResult } from '../ui/test-result' interface TelegramConfigProps { botToken: string setBotToken: (value: string) => void - triggerPhrase: string - setTriggerPhrase: (value: string) => void isLoadingToken: boolean testResult: any copied: string | null @@ -22,8 +20,6 @@ interface TelegramConfigProps { export function TelegramConfig({ botToken, setBotToken, - triggerPhrase, - setTriggerPhrase, isLoadingToken, testResult, copied, @@ -55,26 +51,6 @@ export function TelegramConfig({ /> )} - - - {isLoadingToken ? ( - - ) : ( - { - setTriggerPhrase(e.target.value) - }} - placeholder='/start_workflow' - required - /> - )} - {testResult && ( @@ -104,8 +80,8 @@ export function TelegramConfig({ {' '} in Telegram to create a bot and copy its token. -
  • Enter your Bot Token and a trigger phrase above.
  • -
  • Save settings and send the trigger phrase to your bot to start the workflow.
  • +
  • Enter your Bot Token above.
  • +
  • Save settings and any message sent to your bot will trigger the workflow.
  • diff --git a/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/webhook-modal.tsx b/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/webhook-modal.tsx index 244570dddb..2c2690aad9 100644 --- a/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/webhook-modal.tsx +++ b/apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/webhook/components/webhook-modal.tsx @@ -79,7 +79,6 @@ export function WebhookModal({ const [discordAvatarUrl, setDiscordAvatarUrl] = useState('') const [slackSigningSecret, setSlackSigningSecret] = useState('') const [telegramBotToken, setTelegramBotToken] = useState('') - const [telegramTriggerPhrase, setTelegramTriggerPhrase] = useState('') // Airtable-specific state const [airtableWebhookSecret, _setAirtableWebhookSecret] = useState('') const [airtableBaseId, setAirtableBaseId] = useState('') @@ -104,7 +103,6 @@ export function WebhookModal({ airtableTableId: '', airtableIncludeCellValues: false, telegramBotToken: '', - telegramTriggerPhrase: '', selectedLabels: ['INBOX'] as string[], labelFilterBehavior: 'INCLUDE', markAsRead: false, @@ -227,15 +225,12 @@ export function WebhookModal({ })) } else if (webhookProvider === 'telegram') { const botToken = config.botToken || '' - const triggerPhrase = config.triggerPhrase || '' setTelegramBotToken(botToken) - setTelegramTriggerPhrase(triggerPhrase) setOriginalValues((prev) => ({ ...prev, telegramBotToken: botToken, - telegramTriggerPhrase: triggerPhrase, })) } else if (webhookProvider === 'gmail') { const labelIds = config.labelIds || [] @@ -292,9 +287,7 @@ export function WebhookModal({ airtableBaseId !== originalValues.airtableBaseId || airtableTableId !== originalValues.airtableTableId || airtableIncludeCellValues !== originalValues.airtableIncludeCellValues)) || - (webhookProvider === 'telegram' && - (telegramBotToken !== originalValues.telegramBotToken || - telegramTriggerPhrase !== originalValues.telegramTriggerPhrase)) || + (webhookProvider === 'telegram' && telegramBotToken !== originalValues.telegramBotToken) || (webhookProvider === 'gmail' && (!selectedLabels.every((label) => originalValues.selectedLabels.includes(label)) || !originalValues.selectedLabels.every((label) => selectedLabels.includes(label)) || @@ -319,7 +312,6 @@ export function WebhookModal({ airtableTableId, airtableIncludeCellValues, telegramBotToken, - telegramTriggerPhrase, selectedLabels, labelFilterBehavior, markAsRead, @@ -345,7 +337,7 @@ export function WebhookModal({ isValid = discordWebhookName.trim() !== '' break case 'telegram': - isValid = telegramBotToken.trim() !== '' && telegramTriggerPhrase.trim() !== '' + isValid = telegramBotToken.trim() !== '' break case 'gmail': isValid = selectedLabels.length > 0 @@ -359,7 +351,6 @@ export function WebhookModal({ slackSigningSecret, whatsappVerificationToken, telegramBotToken, - telegramTriggerPhrase, selectedLabels, ]) @@ -428,7 +419,6 @@ export function WebhookModal({ case 'telegram': return { botToken: telegramBotToken || undefined, - triggerPhrase: telegramTriggerPhrase || undefined, } default: return {} @@ -479,7 +469,6 @@ export function WebhookModal({ airtableTableId, airtableIncludeCellValues, telegramBotToken, - telegramTriggerPhrase, selectedLabels, labelFilterBehavior, markAsRead, @@ -713,8 +702,6 @@ export function WebhookModal({