diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx index ecfb61ba3d..3eeb517354 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx @@ -98,7 +98,7 @@ export function CredentialSelector({ ) const provider = effectiveProviderId - const isTriggerMode = subBlock.mode === 'trigger' + const isTriggerMode = subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced' const { data: rawCredentials = [], diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx index 222eaccd17..fabf2e975a 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx @@ -1153,8 +1153,10 @@ function PreviewEditorContent({ if (subBlock.type === ('trigger-config' as SubBlockType)) { return effectiveTrigger || isPureTriggerBlock } - if (subBlock.mode === 'trigger' && !effectiveTrigger) return false - if (effectiveTrigger && subBlock.mode !== 'trigger') return false + if ((subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced') && !effectiveTrigger) + return false + if (effectiveTrigger && subBlock.mode !== 'trigger' && subBlock.mode !== 'trigger-advanced') + return false if (!isSubBlockFeatureEnabled(subBlock)) return false if ( !isSubBlockVisibleForMode( diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-workflow/components/block/block.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-workflow/components/block/block.tsx index f6c0f9c5b5..4fa893c150 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-workflow/components/block/block.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-workflow/components/block/block.tsx @@ -319,11 +319,11 @@ function WorkflowPreviewBlockInner({ data }: NodeProps if (effectiveTrigger) { const isValidTriggerSubblock = isPureTriggerBlock - ? subBlock.mode === 'trigger' || !subBlock.mode - : subBlock.mode === 'trigger' + ? subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced' || !subBlock.mode + : subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced' if (!isValidTriggerSubblock) return false } else { - if (subBlock.mode === 'trigger') return false + if (subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced') return false } /** Skip value-dependent visibility checks in lightweight mode */ diff --git a/apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts b/apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts index aec442ceff..91c907d7a7 100644 --- a/apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts +++ b/apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts @@ -185,7 +185,10 @@ export const getBlocksMetadataServerTool: BaseServerTool< const configFields: Record = {} for (const subBlock of trig.subBlocks) { - if (subBlock.mode === 'trigger' && !SYSTEM_SUBBLOCK_IDS.includes(subBlock.id)) { + if ( + (subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced') && + !SYSTEM_SUBBLOCK_IDS.includes(subBlock.id) + ) { const fieldDef: any = { type: subBlock.type, required: subBlock.required || false, @@ -227,7 +230,9 @@ export const getBlocksMetadataServerTool: BaseServerTool< const blockInputs = computeBlockLevelInputs(blockConfig) const { commonParameters, operationParameters } = splitParametersByOperation( Array.isArray(blockConfig.subBlocks) - ? blockConfig.subBlocks.filter((sb) => sb.mode !== 'trigger') + ? blockConfig.subBlocks.filter( + (sb) => sb.mode !== 'trigger' && sb.mode !== 'trigger-advanced' + ) : [], blockInputs ) @@ -424,7 +429,7 @@ function extractInputs(metadata: CopilotBlockMetadata): { for (const schema of metadata.inputSchema || []) { // Skip trigger subBlocks - they're handled separately in triggers.configFields - if (schema.mode === 'trigger') { + if (schema.mode === 'trigger' || schema.mode === 'trigger-advanced') { continue } @@ -910,7 +915,7 @@ function splitParametersByOperation( function computeBlockLevelInputs(blockConfig: BlockConfig): Record { const inputs = blockConfig.inputs || {} const subBlocks: any[] = Array.isArray(blockConfig.subBlocks) - ? blockConfig.subBlocks.filter((sb) => sb.mode !== 'trigger') + ? blockConfig.subBlocks.filter((sb) => sb.mode !== 'trigger' && sb.mode !== 'trigger-advanced') : [] const byParamKey: Record = {} @@ -945,7 +950,7 @@ function computeOperationLevelInputs( ): Record> { const inputs = blockConfig.inputs || {} const subBlocks = Array.isArray(blockConfig.subBlocks) - ? blockConfig.subBlocks.filter((sb) => sb.mode !== 'trigger') + ? blockConfig.subBlocks.filter((sb) => sb.mode !== 'trigger' && sb.mode !== 'trigger-advanced') : [] const opInputs: Record> = {} diff --git a/apps/sim/lib/webhooks/deploy.ts b/apps/sim/lib/webhooks/deploy.ts index 43188e88f2..4a189b681b 100644 --- a/apps/sim/lib/webhooks/deploy.ts +++ b/apps/sim/lib/webhooks/deploy.ts @@ -183,7 +183,11 @@ function buildProviderConfig( ) triggerDef.subBlocks - .filter((subBlock) => subBlock.mode === 'trigger' && !SYSTEM_SUBBLOCK_IDS.includes(subBlock.id)) + .filter( + (subBlock) => + (subBlock.mode === 'trigger' || subBlock.mode === 'trigger-advanced') && + !SYSTEM_SUBBLOCK_IDS.includes(subBlock.id) + ) .forEach((subBlock) => { const valueToUse = getConfigValue(block, subBlock) if (valueToUse !== null && valueToUse !== undefined && valueToUse !== '') { diff --git a/apps/sim/tools/params.ts b/apps/sim/tools/params.ts index 4c7daf69cf..e830d1acec 100644 --- a/apps/sim/tools/params.ts +++ b/apps/sim/tools/params.ts @@ -66,7 +66,7 @@ export interface UIComponentConfig { /** Canonical parameter ID if this is part of a canonical group */ canonicalParamId?: string /** The mode of the source subblock (basic/advanced/both) */ - mode?: 'basic' | 'advanced' | 'both' | 'trigger' + mode?: 'basic' | 'advanced' | 'both' | 'trigger' | 'trigger-advanced' /** The actual subblock ID this config was derived from */ actualSubBlockId?: string /** Wand configuration for AI assistance */ @@ -944,7 +944,7 @@ export function getSubBlocksForToolInput( if (EXCLUDED_SUBBLOCK_TYPES.has(sb.type)) continue // Skip trigger-mode-only subblocks - if (sb.mode === 'trigger') continue + if (sb.mode === 'trigger' || sb.mode === 'trigger-advanced') continue // Hide tool API key fields when running on hosted Sim or when env var is set if (isSubBlockHidden(sb)) continue