diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue
index 5ea5c6c1fd5..998e678e97d 100644
--- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue
+++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue
@@ -5,6 +5,8 @@ import type { NodeConnectionType } from 'n8n-workflow';
import { NodeConnectionTypes } from 'n8n-workflow';
import { N8nIconButton } from '@n8n/design-system';
+import CanvasEdgeTooltip from './CanvasEdgeTooltip.vue';
+
const emit = defineEmits<{
add: [];
delete: [];
@@ -35,27 +37,28 @@ function onDelete() {
-
-
+
+
+
+
+
+
diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue
new file mode 100644
index 00000000000..64f4f83cc8f
--- /dev/null
+++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue
index c3860795b86..051dc3019d4 100644
--- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue
+++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue
@@ -82,7 +82,7 @@ function onClickAdd() {
.label {
position: absolute;
- top: 20px;
+ top: var(--spacing--lg);
left: 50%;
/* stylelint-disable-next-line @n8n/css-var-naming */
transform: translate(-50%, 0) scale(var(--canvas-zoom-compensation-factor, 1));
diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue
index a17cddb492a..24cfe474df8 100644
--- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue
+++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue
@@ -42,7 +42,7 @@ const handleStyles = computed(() => ({
.label {
position: absolute;
- top: -20px;
+ top: calc(-1 * var(--spacing--lg));
left: 50%;
/* stylelint-disable-next-line @n8n/css-var-naming */
transform: translate(-50%, 0) scale(var(--canvas-zoom-compensation-factor, 1));