@@ -24,6 +24,7 @@ import { getWorkflowById } from '@/lib/workflows/utils'
2424import { ExecutionSnapshot } from '@/executor/execution/snapshot'
2525import type { ExecutionMetadata } from '@/executor/execution/types'
2626import { hasExecutionResult } from '@/executor/utils/errors'
27+ import { getBlock } from '@/blocks'
2728import { safeAssign } from '@/tools/safe-assign'
2829import { getTrigger , isTriggerValid } from '@/triggers'
2930
@@ -418,11 +419,23 @@ async function executeWebhookJobInternal(
418419 const rawSelectedTriggerId = triggerBlock ?. subBlocks ?. selectedTriggerId ?. value
419420 const rawTriggerId = triggerBlock ?. subBlocks ?. triggerId ?. value
420421
421- const resolvedTriggerId = [ rawSelectedTriggerId , rawTriggerId ] . find (
422+ let resolvedTriggerId = [ rawSelectedTriggerId , rawTriggerId ] . find (
422423 ( candidate ) : candidate is string =>
423424 typeof candidate === 'string' && isTriggerValid ( candidate )
424425 )
425426
427+ if ( ! resolvedTriggerId ) {
428+ const blockConfig = getBlock ( triggerBlock . type )
429+ if ( blockConfig ?. category === 'triggers' && isTriggerValid ( triggerBlock . type ) ) {
430+ resolvedTriggerId = triggerBlock . type
431+ } else if ( triggerBlock . triggerMode && blockConfig ?. triggers ?. enabled ) {
432+ const available = blockConfig . triggers ?. available ?. [ 0 ]
433+ if ( available && isTriggerValid ( available ) ) {
434+ resolvedTriggerId = available
435+ }
436+ }
437+ }
438+
426439 if ( resolvedTriggerId ) {
427440 const triggerConfig = getTrigger ( resolvedTriggerId )
428441
0 commit comments