From 35713044f5a81411898fefb8c6e7f7326b3267c0 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Tue, 30 Sep 2025 10:58:34 -0700 Subject: [PATCH 1/3] make trigger select uuid consistent with sidebar selection --- .../sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx index 90f43f4e33b..c4e1018f6bf 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx @@ -781,7 +781,7 @@ const WorkflowContent = React.memo(() => { // Create the trigger block at the center of the viewport const centerPosition = project({ x: window.innerWidth / 2, y: window.innerHeight / 2 }) - const id = `${triggerId}_${Date.now()}` + const id = crypto.randomUUID() // Add the trigger block with trigger mode if specified addBlock( From e7a7173f09ea3a4b946c3cee039ae52e8c545052 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Tue, 30 Sep 2025 11:04:31 -0700 Subject: [PATCH 2/3] add trigger allowed flag for core triggers --- apps/sim/blocks/blocks/api_trigger.ts | 1 + apps/sim/blocks/blocks/chat_trigger.ts | 1 + apps/sim/blocks/blocks/input_trigger.ts | 1 + apps/sim/blocks/blocks/manual_trigger.ts | 1 + apps/sim/blocks/blocks/schedule.ts | 1 + 5 files changed, 5 insertions(+) diff --git a/apps/sim/blocks/blocks/api_trigger.ts b/apps/sim/blocks/blocks/api_trigger.ts index 66f7e919048..5a830f9b6c0 100644 --- a/apps/sim/blocks/blocks/api_trigger.ts +++ b/apps/sim/blocks/blocks/api_trigger.ts @@ -3,6 +3,7 @@ import type { BlockConfig } from '@/blocks/types' export const ApiTriggerBlock: BlockConfig = { type: 'api_trigger', + triggerAllowed: true, name: 'API', description: 'Expose as HTTP API endpoint', longDescription: diff --git a/apps/sim/blocks/blocks/chat_trigger.ts b/apps/sim/blocks/blocks/chat_trigger.ts index 9dc98f0b1c3..7276489ac4d 100644 --- a/apps/sim/blocks/blocks/chat_trigger.ts +++ b/apps/sim/blocks/blocks/chat_trigger.ts @@ -7,6 +7,7 @@ const ChatTriggerIcon = (props: SVGProps) => createElement(Messag export const ChatTriggerBlock: BlockConfig = { type: 'chat_trigger', + triggerAllowed: true, name: 'Chat', description: 'Start workflow from a chat deployment', longDescription: 'Chat trigger to run the workflow via deployed chat interfaces.', diff --git a/apps/sim/blocks/blocks/input_trigger.ts b/apps/sim/blocks/blocks/input_trigger.ts index 954c31bc1a0..073c38ad7e6 100644 --- a/apps/sim/blocks/blocks/input_trigger.ts +++ b/apps/sim/blocks/blocks/input_trigger.ts @@ -7,6 +7,7 @@ const InputTriggerIcon = (props: SVGProps) => createElement(FormI export const InputTriggerBlock: BlockConfig = { type: 'input_trigger', + triggerAllowed: true, name: 'Input Form', description: 'Start workflow manually with a defined input schema', longDescription: diff --git a/apps/sim/blocks/blocks/manual_trigger.ts b/apps/sim/blocks/blocks/manual_trigger.ts index 508ef3f7921..4d8a433d6dd 100644 --- a/apps/sim/blocks/blocks/manual_trigger.ts +++ b/apps/sim/blocks/blocks/manual_trigger.ts @@ -7,6 +7,7 @@ const ManualTriggerIcon = (props: SVGProps) => createElement(Play export const ManualTriggerBlock: BlockConfig = { type: 'manual_trigger', + triggerAllowed: true, name: 'Manual', description: 'Start workflow manually from the editor', longDescription: diff --git a/apps/sim/blocks/blocks/schedule.ts b/apps/sim/blocks/blocks/schedule.ts index 72a54d68118..c1e8aef79b5 100644 --- a/apps/sim/blocks/blocks/schedule.ts +++ b/apps/sim/blocks/blocks/schedule.ts @@ -7,6 +7,7 @@ const ScheduleIcon = (props: SVGProps) => createElement(Clock, pr export const ScheduleBlock: BlockConfig = { type: 'schedule', + triggerAllowed: true, name: 'Schedule', description: 'Trigger workflow execution on a schedule', longDescription: From 3e09df9cd62c9f3855f6baa8738dc55b37b4e020 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Tue, 30 Sep 2025 11:26:37 -0700 Subject: [PATCH 3/3] fix autolayout with new triggers --- apps/sim/lib/workflows/autolayout/utils.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/sim/lib/workflows/autolayout/utils.ts b/apps/sim/lib/workflows/autolayout/utils.ts index 87cc71cd527..71f7cace531 100644 --- a/apps/sim/lib/workflows/autolayout/utils.ts +++ b/apps/sim/lib/workflows/autolayout/utils.ts @@ -1,3 +1,4 @@ +import { TriggerUtils } from '@/lib/workflows/triggers' import type { BlockState } from '@/stores/workflows/workflow/types' import type { BlockDimensions, BoundingBox } from './types' @@ -70,5 +71,9 @@ export function getBlocksByParent(blocks: Record): { } export function isStarterBlock(block: BlockState): boolean { - return block.type === 'starter' || block.type === 'webhook' || block.type === 'schedule' + if (TriggerUtils.isTriggerBlock({ type: block.type, triggerMode: block.triggerMode })) { + return true + } + + return block.triggerMode === true }