diff --git a/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx b/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx index 394e30547..d4e001075 100644 --- a/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx +++ b/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx @@ -8,7 +8,6 @@ import { Plus, SmilePlus, Trash2, - TriangleAlert, Webhook, X, } from "lucide-react"; @@ -44,10 +43,9 @@ import { FieldLabel } from "./workflowFormPrimitives"; import { DEFAULT_FORM_STATE, ACTION_LABELS, - ACTION_TYPES, + SELECTABLE_ACTION_TYPES, TRIGGER_LABELS, TRIGGER_TYPES, - UNSUPPORTED_ACTION_TYPES, formStateToYaml, nextStepId, yamlToFormState, @@ -186,7 +184,6 @@ function InspectorTypeMenu({ labels, onChange, options, - warningOptions = [], value, }: { ariaLabel: string; @@ -194,7 +191,6 @@ function InspectorTypeMenu({ labels: Record; onChange: (value: T) => void; options: readonly T[]; - warningOptions?: readonly T[]; value: T; }) { return ( @@ -221,7 +217,6 @@ function InspectorTypeMenu({ )} /> {labels[option]} - {warningOptions.includes(option) ? : null} ))} @@ -229,16 +224,6 @@ function InspectorTypeMenu({ ); } -function UnsupportedActionIcon() { - return ( - - ); -} - function WorkflowNode({ description, disabled, @@ -364,15 +349,12 @@ function WorkflowNode({ - {ACTION_TYPES.map((action) => ( + {SELECTABLE_ACTION_TYPES.map((action) => ( onAddAfter(action)} > {ACTION_LABELS[action]} - {UNSUPPORTED_ACTION_TYPES.includes(action) ? ( - - ) : null} ))} @@ -733,8 +715,7 @@ export function WorkflowFormBuilder({ } updateStep(selectedNode.index, next); }} - options={ACTION_TYPES} - warningOptions={UNSUPPORTED_ACTION_TYPES} + options={SELECTABLE_ACTION_TYPES} value={selectedStep.action} /> ) : null} diff --git a/desktop/src/features/workflows/ui/workflowFormTypes.ts b/desktop/src/features/workflows/ui/workflowFormTypes.ts index c2eb4a561..ad681499a 100644 --- a/desktop/src/features/workflows/ui/workflowFormTypes.ts +++ b/desktop/src/features/workflows/ui/workflowFormTypes.ts @@ -20,12 +20,13 @@ export const ACTION_TYPES = [ ] as const; export type ActionType = (typeof ACTION_TYPES)[number]; -export const UNSUPPORTED_ACTION_TYPES: readonly ActionType[] = [ - "send_dm", - "request_approval", - "add_reaction", - "set_channel_topic", -]; +// Keep every recognized schema action above so existing YAML remains editable, +// but only offer actions that can complete successfully in form selectors. +export const SELECTABLE_ACTION_TYPES = [ + "delay", + "send_message", + "call_webhook", +] as const satisfies readonly ActionType[]; export type TriggerConfig = { on: TriggerType;