From 93df64b9b0cf3fd28ecc468d81775b477aa27ac6 Mon Sep 17 00:00:00 2001 From: Abdul Rahman <81605929+abdulrahmancodes@users.noreply.github.com> Date: Tue, 12 May 2026 11:16:56 +0530 Subject: [PATCH] Show logic function label instead of technical name in workflow UI (#20470) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Before Screenshot 2026-05-12 at 7 02 32 AM ### After Screenshot 2026-05-12 at 6 53 26 AM --- .../components/SidePanelWorkflowSelectAction.tsx | 4 ++-- ...rkflow-version-step-operations.workspace-service.ts | 10 ++++++---- .../tools/list-logic-function-tools.tool.ts | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/twenty-front/src/modules/side-panel/pages/workflow/action/components/SidePanelWorkflowSelectAction.tsx b/packages/twenty-front/src/modules/side-panel/pages/workflow/action/components/SidePanelWorkflowSelectAction.tsx index f11ddaa430..4f51147c7b 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/workflow/action/components/SidePanelWorkflowSelectAction.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/workflow/action/components/SidePanelWorkflowSelectAction.tsx @@ -1,5 +1,5 @@ -import { WorkflowActionMenuItems } from '@/side-panel/pages/workflow/action/components/WorkflowActionMenuItems'; import { logicFunctionsSelector } from '@/logic-functions/states/logicFunctionsSelector'; +import { WorkflowActionMenuItems } from '@/side-panel/pages/workflow/action/components/WorkflowActionMenuItems'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { type WorkflowActionType } from '@/workflow/types/Workflow'; import { SidePanelStepListContainer } from '@/workflow/workflow-steps/components/SidePanelWorkflowSelectStepContainer'; @@ -103,7 +103,7 @@ export const SidePanelWorkflowSelectAction = ({ size={16} /> )} - text={fn.name} + text={fn.workflowActionTriggerSettings?.label ?? fn.name} onClick={() => handleFunctionClick(fn.id)} /> ))} diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts index f974697117..e318eec74c 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts @@ -19,7 +19,6 @@ import { getFlatFieldsFromFlatObjectMetadata } from 'src/engine/api/graphql/work import { type WorkflowStepPositionInput } from 'src/engine/core-modules/workflow/dtos/update-workflow-step-position.input'; import { AiAgentRoleService } from 'src/engine/metadata-modules/ai/ai-agent-role/ai-agent-role.service'; import { AgentService } from 'src/engine/metadata-modules/ai/ai-agent/agent.service'; -import { AUTO_SELECT_SMART_MODEL_ID } from 'twenty-shared/constants'; import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service'; import { LogicFunctionFromSourceService } from 'src/engine/metadata-modules/logic-function/services/logic-function-from-source.service'; import { findFlatLogicFunctionOrThrow } from 'src/engine/metadata-modules/logic-function/utils/find-flat-logic-function-or-throw.util'; @@ -28,20 +27,21 @@ import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-t import { GlobalWorkspaceOrmManager } from 'src/engine/twenty-orm/global-workspace-datasource/global-workspace-orm.manager'; import { buildSystemAuthContext } from 'src/engine/twenty-orm/utils/build-system-auth-context.util'; import { WorkspaceCacheService } from 'src/engine/workspace-cache/services/workspace-cache.service'; -import { CodeStepBuildService } from 'src/modules/workflow/workflow-builder/workflow-version-step/code-step/services/code-step-build.service'; import { WorkflowVersionStepException, WorkflowVersionStepExceptionCode, } from 'src/modules/workflow/common/exceptions/workflow-version-step.exception'; import { type WorkflowVersionWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity'; import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service'; +import { CodeStepBuildService } from 'src/modules/workflow/workflow-builder/workflow-version-step/code-step/services/code-step-build.service'; import { type BaseWorkflowActionSettings } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action-settings.type'; import { - type WorkflowAction, WorkflowActionType, + type WorkflowAction, type WorkflowEmptyAction, type WorkflowFormAction, } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type'; +import { AUTO_SELECT_SMART_MODEL_ID } from 'twenty-shared/constants'; const BASE_STEP_DEFINITION: BaseWorkflowActionSettings = { outputSchema: {}, errorHandlingOptions: { @@ -223,7 +223,9 @@ export class WorkflowVersionStepOperationsWorkspaceService { return { builtStep: { ...baseStep, - name: flatLogicFunction.name, + name: + flatLogicFunction.workflowActionTriggerSettings?.label ?? + flatLogicFunction.name, type: WorkflowActionType.LOGIC_FUNCTION, settings: { ...BASE_STEP_DEFINITION, diff --git a/packages/twenty-server/src/modules/workflow/workflow-tools/tools/list-logic-function-tools.tool.ts b/packages/twenty-server/src/modules/workflow/workflow-tools/tools/list-logic-function-tools.tool.ts index 1731c4ae83..d5f0ed4f1c 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-tools/tools/list-logic-function-tools.tool.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-tools/tools/list-logic-function-tools.tool.ts @@ -40,6 +40,7 @@ export const createListLogicFunctionToolsTool = ( logicFunctions: workflowActionFunctions.map((fn) => ({ id: fn.id, name: fn.name, + displayName: fn.workflowActionTriggerSettings?.label ?? fn.name, description: fn.description, })), };