From 858391492b9a355407c94da1b01fc64b104800b7 Mon Sep 17 00:00:00 2001
From: Pavan Nambi <92514129+Pavan-Nambi@users.noreply.github.com>
Date: Fri, 8 Aug 2025 19:56:07 +0530
Subject: [PATCH] Docs and improve trigger icon handling (#13769)
#13757 and #13766
---------
Co-authored-by: Charles Bochet
---
.../SettingsDevelopersWebhookForm.tsx | 2 +-
.../getWorkflowDiagramTriggerNode.test.ts | 80 +++++++++----------
.../workflow-trigger/utils/getTriggerIcon.ts | 5 ++
.../src/content/developers/local-setup.mdx | 2 +-
4 files changed, 47 insertions(+), 42 deletions(-)
diff --git a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx
index 77ccc1e3a0..f78bc2a1cc 100644
--- a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx
+++ b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx
@@ -175,7 +175,7 @@ export const SettingsDevelopersWebhookForm = ({
{
const result = getWorkflowDiagramTriggerNode({ trigger });
expect(result).toMatchInlineSnapshot(`
- {
- "data": {
- "hasNextStepIds": false,
- "icon": "IconHandMove",
- "name": "Manual trigger",
- "nodeType": "trigger",
- "position": {
- "x": 0,
- "y": 0,
- },
- "stepId": "trigger",
- "triggerType": "MANUAL",
- },
- "id": "trigger",
- "position": {
- "x": 0,
- "y": 0,
- },
- }
- `);
+{
+ "data": {
+ "hasNextStepIds": false,
+ "icon": "IconUser",
+ "name": "Manual trigger",
+ "nodeType": "trigger",
+ "position": {
+ "x": 0,
+ "y": 0,
+ },
+ "stepId": "trigger",
+ "triggerType": "MANUAL",
+ },
+ "id": "trigger",
+ "position": {
+ "x": 0,
+ "y": 0,
+ },
+}
+`);
});
});
@@ -205,26 +205,26 @@ describe('getWorkflowDiagramTriggerNode', () => {
const result = getWorkflowDiagramTriggerNode({ trigger });
expect(result).toMatchInlineSnapshot(`
- {
- "data": {
- "hasNextStepIds": false,
- "icon": "IconHandMove",
- "name": "Custom Trigger Name",
- "nodeType": "trigger",
- "position": {
- "x": 0,
- "y": 0,
- },
- "stepId": "trigger",
- "triggerType": "MANUAL",
- },
- "id": "trigger",
- "position": {
- "x": 0,
- "y": 0,
- },
- }
- `);
+{
+ "data": {
+ "hasNextStepIds": false,
+ "icon": "IconUser",
+ "name": "Custom Trigger Name",
+ "nodeType": "trigger",
+ "position": {
+ "x": 0,
+ "y": 0,
+ },
+ "stepId": "trigger",
+ "triggerType": "MANUAL",
+ },
+ "id": "trigger",
+ "position": {
+ "x": 0,
+ "y": 0,
+ },
+}
+`);
});
});
diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts b/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts
index f9087fa22e..37400d165f 100644
--- a/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts
+++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts
@@ -2,10 +2,15 @@ import { WorkflowTrigger } from '@/workflow/types/Workflow';
import { splitWorkflowTriggerEventName } from '@/workflow/utils/splitWorkflowTriggerEventName';
import { DATABASE_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/DatabaseTriggerTypes';
import { OTHER_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/OtherTriggerTypes';
+import { isNonEmptyString } from '@sniptt/guards';
export const getTriggerIcon = (
trigger: WorkflowTrigger,
): string | undefined => {
+ if (trigger.type === 'MANUAL' && isNonEmptyString(trigger.settings.icon)) {
+ return trigger.settings.icon;
+ }
+
if (trigger.type === 'DATABASE_EVENT') {
const eventName = splitWorkflowTriggerEventName(
trigger.settings.eventName,
diff --git a/packages/twenty-website/src/content/developers/local-setup.mdx b/packages/twenty-website/src/content/developers/local-setup.mdx
index c2b781236c..cb551e37ec 100644
--- a/packages/twenty-website/src/content/developers/local-setup.mdx
+++ b/packages/twenty-website/src/content/developers/local-setup.mdx
@@ -12,7 +12,7 @@ info: The guide for contributors (or curious developers) who want to run Twenty
Before you can install and use Twenty, make sure you install the following on your computer:
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
-- [Node v22](https://nodejs.org/en/download)
+- [Node v24.5.0](https://nodejs.org/en/download)
- [yarn v4](https://yarnpkg.com/getting-started/install)
- [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md)