From b85245d3629a965757c3b9d354fb2b21574c9417 Mon Sep 17 00:00:00 2001 From: waleed Date: Tue, 20 Jan 2026 09:49:36 -0800 Subject: [PATCH 1/2] fix(rss): add top-level title, link, pubDate fields to RSS trigger output --- apps/sim/executor/utils/start-block.ts | 7 ++----- apps/sim/lib/webhooks/rss-polling-service.ts | 6 ++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/sim/executor/utils/start-block.ts b/apps/sim/executor/utils/start-block.ts index 1ed90c3710..23163cc6d3 100644 --- a/apps/sim/executor/utils/start-block.ts +++ b/apps/sim/executor/utils/start-block.ts @@ -377,10 +377,7 @@ function buildManualTriggerOutput( return mergeFilesIntoOutput(output, workflowInput) } -function buildIntegrationTriggerOutput( - _finalInput: unknown, - workflowInput: unknown -): NormalizedBlockOutput { +function buildIntegrationTriggerOutput(workflowInput: unknown): NormalizedBlockOutput { return isPlainObject(workflowInput) ? (workflowInput as NormalizedBlockOutput) : {} } @@ -430,7 +427,7 @@ export function buildStartBlockOutput(options: StartBlockOutputOptions): Normali return buildManualTriggerOutput(finalInput, workflowInput) case StartBlockPath.EXTERNAL_TRIGGER: - return buildIntegrationTriggerOutput(finalInput, workflowInput) + return buildIntegrationTriggerOutput(workflowInput) case StartBlockPath.LEGACY_STARTER: return buildLegacyStarterOutput( diff --git a/apps/sim/lib/webhooks/rss-polling-service.ts b/apps/sim/lib/webhooks/rss-polling-service.ts index f74f3ab616..d950486995 100644 --- a/apps/sim/lib/webhooks/rss-polling-service.ts +++ b/apps/sim/lib/webhooks/rss-polling-service.ts @@ -48,6 +48,9 @@ interface RssFeed { } export interface RssWebhookPayload { + title?: string + link?: string + pubDate?: string item: RssItem feed: { title?: string @@ -349,6 +352,9 @@ async function processRssItems( `${webhookData.id}:${itemGuid}`, async () => { const payload: RssWebhookPayload = { + title: item.title, + link: item.link, + pubDate: item.pubDate, item: { title: item.title, link: item.link, From 9f012c1c58eb767589fb8fdd8b1570e254f00d60 Mon Sep 17 00:00:00 2001 From: waleed Date: Tue, 20 Jan 2026 09:59:21 -0800 Subject: [PATCH 2/2] fix(imap): add top-level fields to IMAP trigger output --- apps/sim/lib/webhooks/imap-polling-service.ts | 22 +++++++++++++++++++ apps/sim/lib/webhooks/utils.server.ts | 14 ++++++++++++ 2 files changed, 36 insertions(+) diff --git a/apps/sim/lib/webhooks/imap-polling-service.ts b/apps/sim/lib/webhooks/imap-polling-service.ts index 709311ada7..49185f9d96 100644 --- a/apps/sim/lib/webhooks/imap-polling-service.ts +++ b/apps/sim/lib/webhooks/imap-polling-service.ts @@ -54,6 +54,17 @@ export interface SimplifiedImapEmail { } export interface ImapWebhookPayload { + messageId: string + subject: string + from: string + to: string + cc: string + date: string | null + bodyText: string + bodyHtml: string + mailbox: string + hasAttachments: boolean + attachments: ImapAttachment[] email: SimplifiedImapEmail timestamp: string } @@ -613,6 +624,17 @@ async function processEmails( } const payload: ImapWebhookPayload = { + messageId: simplifiedEmail.messageId, + subject: simplifiedEmail.subject, + from: simplifiedEmail.from, + to: simplifiedEmail.to, + cc: simplifiedEmail.cc, + date: simplifiedEmail.date, + bodyText: simplifiedEmail.bodyText, + bodyHtml: simplifiedEmail.bodyHtml, + mailbox: simplifiedEmail.mailbox, + hasAttachments: simplifiedEmail.hasAttachments, + attachments: simplifiedEmail.attachments, email: simplifiedEmail, timestamp: new Date().toISOString(), } diff --git a/apps/sim/lib/webhooks/utils.server.ts b/apps/sim/lib/webhooks/utils.server.ts index 2cbe3f4281..cbf72ac0cf 100644 --- a/apps/sim/lib/webhooks/utils.server.ts +++ b/apps/sim/lib/webhooks/utils.server.ts @@ -686,6 +686,9 @@ export async function formatWebhookInput( if (foundWebhook.provider === 'rss') { if (body && typeof body === 'object' && 'item' in body) { return { + title: body.title, + link: body.link, + pubDate: body.pubDate, item: body.item, feed: body.feed, timestamp: body.timestamp, @@ -697,6 +700,17 @@ export async function formatWebhookInput( if (foundWebhook.provider === 'imap') { if (body && typeof body === 'object' && 'email' in body) { return { + messageId: body.messageId, + subject: body.subject, + from: body.from, + to: body.to, + cc: body.cc, + date: body.date, + bodyText: body.bodyText, + bodyHtml: body.bodyHtml, + mailbox: body.mailbox, + hasAttachments: body.hasAttachments, + attachments: body.attachments, email: body.email, timestamp: body.timestamp, }