diff --git a/apps/sim/app/api/table/[tableId]/groups/route.ts b/apps/sim/app/api/table/[tableId]/groups/route.ts
index 197a1722b1b..5b9f960896a 100644
--- a/apps/sim/app/api/table/[tableId]/groups/route.ts
+++ b/apps/sim/app/api/table/[tableId]/groups/route.ts
@@ -116,6 +116,9 @@ export const PATCH = withRouteHandler(async (request: NextRequest, { params }: R
...(validated.inputMappings !== undefined
? { inputMappings: validated.inputMappings }
: {}),
+ ...(validated.deploymentMode !== undefined
+ ? { deploymentMode: validated.deploymentMode }
+ : {}),
...(validated.type !== undefined ? { type: validated.type } : {}),
...(validated.autoRun !== undefined ? { autoRun: validated.autoRun } : {}),
},
diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/cells/cell-render.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/cells/cell-render.tsx
index 065385a9f05..c4c7904a711 100644
--- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/cells/cell-render.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/cells/cell-render.tsx
@@ -22,6 +22,7 @@ export type CellRenderKind =
| { kind: 'error' }
| { kind: 'waiting'; labels: string[] }
| { kind: 'not-found' }
+ | { kind: 'no-output' }
// Plain typed cells
| { kind: 'boolean'; checked: boolean }
| { kind: 'json'; text: string }
@@ -106,6 +107,9 @@ export function resolveCellRender({
if (exec?.status === 'error') return { kind: 'error' }
// Enrichment ran to completion but matched nothing → "Not found".
if (isEnrichmentOutput && exec?.status === 'completed') return { kind: 'not-found' }
+ // Workflow output: the group's run completed but this block produced no
+ // value for the cell → grey "No output" (distinct from a never-run blank).
+ if (exec?.status === 'completed') return { kind: 'no-output' }
return { kind: 'empty' }
}
@@ -394,6 +398,15 @@ export function CellRender({ kind, isEditing }: CellRenderProps): React.ReactEle
)
+ case 'no-output':
+ return (
+
diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/workflow-sidebar/workflow-sidebar.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/workflow-sidebar/workflow-sidebar.tsx
index f36cb0ac0ae..fa7c0f8cc30 100644
--- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/workflow-sidebar/workflow-sidebar.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/workflow-sidebar/workflow-sidebar.tsx
@@ -8,6 +8,8 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'
import { ExternalLink, RepeatIcon, SplitIcon, X } from 'lucide-react'
import {
Button,
+ ButtonGroup,
+ ButtonGroupItem,
Combobox,
type ComboboxOptionGroup,
FieldDivider,
@@ -34,6 +36,7 @@ import type {
ColumnDefinition,
WorkflowGroup,
WorkflowGroupDependencies,
+ WorkflowGroupDeploymentMode,
WorkflowGroupInputMapping,
WorkflowGroupOutput,
} from '@/lib/table'
@@ -347,6 +350,11 @@ export function WorkflowSidebarBody({
const [autoRun, setAutoRun] = useState