diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/components/ActionsList.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/components/ActionsList.tsx
index 6d2c3de..09017de 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/components/ActionsList.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/components/ActionsList.tsx
@@ -1,202 +1,149 @@
 import React, { useRef } from "react";
 import {
-  AddIcon,
-  RemoveIcon,
-  ResizeHeightIcon,
+    AddIcon,
+    RemoveIcon,
+    ResizeHeightIcon,
 } from "../../../../../icons/ExportCommonIcons";
 import RenameInput from "../../../../../ui/inputs/RenameInput";
 import { handleResize } from "../../../../../../functions/handleResizePannel";
-import {
-  useSelectedAction,
-  useSelectedEventData,
-  useSelectedProduct,
-} from "../../../../../../store/simulation/useSimulationStore";
-import { MathUtils } from "three";
+import { useSelectedAction, useSelectedProduct } from "../../../../../../store/simulation/useSimulationStore";
 import { useProductStore } from "../../../../../../store/simulation/useProductStore";
+import { upsertProductOrEventApi } from "../../../../../../services/simulation/UpsertProductOrEventApi";
 
 interface ActionsListProps {
-  setSelectedPointData: (data: any) => void; // You can replace `any` with a more specific type if you have one
-  selectedPointData: any; // You can replace `any` with a more specific type if you have one
-  // ui control props
-  multipleAction?: boolean;
+    selectedPointData: any;
+    multipleAction?: boolean;
+    handleAddAction?: () => void;
+    handleDeleteAction?: (actionUuid: string) => void;
 }
 
 const ActionsList: React.FC<ActionsListProps> = ({
-  setSelectedPointData,
-  selectedPointData,
-  multipleAction = false,
+    selectedPointData,
+    multipleAction = false,
+    handleAddAction,
+    handleDeleteAction,
 }) => {
-  const actionsContainerRef = useRef<HTMLDivElement>(null);
+    const actionsContainerRef = useRef<HTMLDivElement>(null);
 
-  // store
-  const { selectedEventData } = useSelectedEventData();
-  const { updateAction, addAction, removeAction } = useProductStore();
-  const { selectedProduct } = useSelectedProduct();
-  const { selectedAction, setSelectedAction, clearSelectedAction } =
-    useSelectedAction();
+    const email = localStorage.getItem('email')
+    const organization = (email!.split("@")[1]).split(".")[0];
 
-  const handleAddAction = () => {
-    if (!selectedEventData || !selectedPointData) return;
+    // store
+    const { renameAction } = useProductStore();
+    const { selectedProduct } = useSelectedProduct();
+    const { selectedAction, setSelectedAction } = useSelectedAction();
 
-    const newAction = {
-      actionUuid: MathUtils.generateUUID(),
-      actionName: `Action ${selectedPointData.actions.length + 1}`,
-      actionType: "pickAndPlace" as const,
-      process: {
-        startPoint: null,
-        endPoint: null,
-      },
-      triggers: [] as TriggerSchema[],
+    const handleRenameAction = (newName: string) => {
+        if (!selectedAction.actionId) return;
+        const event = renameAction(selectedAction.actionId, newName);
+
+        if (event) {
+            upsertProductOrEventApi({
+                productName: selectedProduct.productName,
+                productId: selectedProduct.productId,
+                organization: organization,
+                eventDatas: event
+            })
+        }
     };
 
-    addAction(
-      selectedProduct.productId,
-      selectedEventData.data.modelUuid,
-      selectedEventData.selectedPoint,
-      newAction
-    );
-
-    const updatedPoint = {
-      ...selectedPointData,
-      actions: [...selectedPointData.actions, newAction],
+    const handleActionSelect = (actionUuid: string, actionName: string) => {
+        setSelectedAction(actionUuid, actionName);
     };
-    setSelectedPointData(updatedPoint);
-    setSelectedAction(newAction.actionUuid, newAction.actionName);
-  };
 
-  const handleDeleteAction = (actionUuid: string) => {
-    if (!selectedPointData) return;
+    return (
+        <div className="actions-list-container">
+            <div className="actions">
+                <div className="header">
+                    <div className="header-value">Actions</div>
 
-    removeAction(actionUuid);
-    const newActions = selectedPointData.actions.filter(
-      (a: any) => a.actionUuid !== actionUuid
-    );
-
-    const updatedPoint = {
-      ...selectedPointData,
-      actions: newActions,
-    };
-    setSelectedPointData(updatedPoint);
-
-    if (selectedAction.actionId === actionUuid) {
-      if (newActions.length > 0) {
-        setSelectedAction(newActions[0].actionUuid, newActions[0].actionName);
-      } else {
-        clearSelectedAction();
-      }
-    }
-  };
-
-  const handleRenameAction = (newName: string) => {
-    if (!selectedAction.actionId) return;
-    updateAction(selectedAction.actionId, { actionName: newName });
-
-    if (selectedPointData?.actions) {
-      const updatedActions = selectedPointData.actions.map((action: any) =>
-        action.actionUuid === selectedAction.actionId
-          ? { ...action, actionName: newName }
-          : action
-      );
-      setSelectedPointData({
-        ...selectedPointData,
-        actions: updatedActions,
-      });
-    } else {
-      // write logic for single action
-      return;
-    }
-  };
-
-  const handleActionSelect = (actionUuid: string, actionName: string) => {
-    setSelectedAction(actionUuid, actionName);
-  };
-
-  return (
-    <div className="actions-list-container">
-      <div className="actions">
-        <div className="header">
-          <div className="header-value">Actions</div>
-
-          <button
-            className="add-button"
-            onClick={() => handleAddAction()}
-            disabled={!multipleAction}
-          >
-            <AddIcon /> Add
-          </button>
-        </div>
-        <div
-          className="lists-main-container"
-          ref={actionsContainerRef}
-          style={{ height: "120px" }}
-        >
-          <div className="list-container">
-            {multipleAction &&
-              selectedPointData.actions.map((action: any) => (
-                <div
-                  key={action.actionUuid}
-                  className={`list-item ${
-                    selectedAction.actionId === action.actionUuid
-                      ? "active"
-                      : ""
-                  }`}
-                >
-                  <button
-                    className="value"
-                    onClick={() =>
-                      handleActionSelect(action.actionUuid, action.actionName)
-                    }
-                  >
-                    <RenameInput
-                      value={action.actionName}
-                      onRename={handleRenameAction}
-                    />
-                  </button>
-                  {selectedPointData.actions.length > 1 && (
                     <button
-                      className="remove-button"
-                      onClick={() => handleDeleteAction(action.actionUuid)}
+                        className="add-button"
+                        onClick={() => {
+                            if (handleAddAction) {
+                                handleAddAction();
+                            }
+                        }}
+                        disabled={!multipleAction}
                     >
-                      <RemoveIcon />
+                        <AddIcon /> Add
                     </button>
-                  )}
                 </div>
-              ))}
-            {!multipleAction && selectedPointData && (
-              <div
-                key={selectedPointData.action.actionUuid}
-                className={`list-item active`}
-              >
-                <button
-                  className="value"
-                  onClick={() =>
-                    handleActionSelect(
-                      selectedPointData.action.actionUuid,
-                      selectedPointData.action.actionName
-                    )
-                  }
+                <div
+                    className="lists-main-container"
+                    ref={actionsContainerRef}
+                    style={{ height: "120px" }}
                 >
-                  <RenameInput
-                    value={selectedPointData.action.actionName}
-                    onRename={handleRenameAction}
-                  />
-                </button>
-              </div>
-            )}
-          </div>
-          {multipleAction && (
-            <button
-              className="resize-icon"
-              id="action-resize"
-              onMouseDown={(e: any) => handleResize(e, actionsContainerRef)}
-            >
-              <ResizeHeightIcon />
-            </button>
-          )}
+                    <div className="list-container">
+                        {multipleAction && selectedPointData &&
+                            selectedPointData.actions.map((action: any) => (
+                                <div
+                                    key={action.actionUuid}
+                                    className={`list-item ${selectedAction.actionId === action.actionUuid
+                                        ? "active"
+                                        : ""
+                                        }`}
+                                >
+                                    <button
+                                        className="value"
+                                        onClick={() =>
+                                            handleActionSelect(action.actionUuid, action.actionName)
+                                        }
+                                    >
+                                        <RenameInput
+                                            value={action.actionName}
+                                            onRename={(value) => handleRenameAction(value)}
+                                        />
+                                    </button>
+                                    {selectedPointData.actions.length > 1 && (
+                                        <button
+                                            className="remove-button"
+                                            onClick={() => {
+                                                if (handleDeleteAction) {
+                                                    handleDeleteAction(action.actionUuid);
+                                                }
+                                            }}
+                                        >
+                                            <RemoveIcon />
+                                        </button>
+                                    )}
+                                </div>
+                            ))}
+                        {!multipleAction && selectedPointData && (
+                            <div
+                                key={selectedPointData.action.actionUuid}
+                                className={`list-item active`}
+                            >
+                                <button
+                                    className="value"
+                                    onClick={() =>
+                                        handleActionSelect(
+                                            selectedPointData.action.actionUuid,
+                                            selectedPointData.action.actionName
+                                        )
+                                    }
+                                >
+                                    <RenameInput
+                                        value={selectedPointData.action.actionName}
+                                        onRename={handleRenameAction}
+                                    />
+                                </button>
+                            </div>
+                        )}
+                    </div>
+                    {multipleAction && (
+                        <button
+                            className="resize-icon"
+                            id="action-resize"
+                            onMouseDown={(e: any) => handleResize(e, actionsContainerRef)}
+                        >
+                            <ResizeHeightIcon />
+                        </button>
+                    )}
+                </div>
+            </div>
         </div>
-      </div>
-    </div>
-  );
+    );
 };
 
 export default ActionsList;
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/conveyorMechanics.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/conveyorMechanics.tsx
index 6437311..f68b6b8 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/conveyorMechanics.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/conveyorMechanics.tsx
@@ -11,14 +11,18 @@ import Trigger from "../trigger/Trigger";
 import { useSelectedEventData, useSelectedProduct } from "../../../../../../store/simulation/useSimulationStore";
 import { useProductStore } from "../../../../../../store/simulation/useProductStore";
 import ActionsList from "../components/ActionsList";
+import { upsertProductOrEventApi } from "../../../../../../services/simulation/UpsertProductOrEventApi";
 
 function ConveyorMechanics() {
     const [activeOption, setActiveOption] = useState<"default" | "spawn" | "swap" | "delay" | "despawn">("default");
     const [selectedPointData, setSelectedPointData] = useState<ConveyorPointSchema | undefined>();
     const { selectedEventData } = useSelectedEventData();
-    const { getPointByUuid, updateEvent, updateAction } = useProductStore();
+    const { getPointByUuid, getEventByModelUuid, updateEvent, updateAction } = useProductStore();
     const { selectedProduct } = useSelectedProduct();
 
+    const email = localStorage.getItem('email')
+    const organization = (email!.split("@")[1]).split(".")[0];
+
     useEffect(() => {
         if (selectedEventData) {
             const point = getPointByUuid(
@@ -33,11 +37,34 @@ function ConveyorMechanics() {
         }
     }, [selectedProduct, selectedEventData, getPointByUuid]);
 
+    const updateBackend = (
+        productName: string,
+        productId: string,
+        organization: string,
+        eventData: EventsSchema
+    ) => {
+        upsertProductOrEventApi({
+            productName: productName,
+            productId: productId,
+            organization: organization,
+            eventDatas: eventData
+        })
+    }
+
     const handleSpeedChange = (value: string) => {
         if (!selectedEventData) return;
-        updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
+        const event = updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
             speed: parseFloat(value),
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleActionTypeChange = (option: string) => {
@@ -45,40 +72,94 @@ function ConveyorMechanics() {
         const validOption = option as | "default" | "spawn" | "swap" | "delay" | "despawn";
         setActiveOption(validOption);
 
-        updateAction(selectedPointData.action.actionUuid, {
+        const event = updateAction(selectedPointData.action.actionUuid, {
             actionType: validOption,
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleRenameAction = (newName: string) => {
-        if (!selectedPointData) return;
-        updateAction(selectedPointData.action.actionUuid, { actionName: newName });
+        if (!selectedEventData || !selectedPointData) return;
+        const event = updateAction(selectedPointData.action.actionUuid, { actionName: newName });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleSpawnCountChange = (value: string) => {
-        if (!selectedPointData) return;
-        updateAction(selectedPointData.action.actionUuid, {
+        if (!selectedEventData || !selectedPointData) return;
+        const event = updateAction(selectedPointData.action.actionUuid, {
             spawnCount: value === "inherit" ? "inherit" : parseFloat(value),
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleSpawnIntervalChange = (value: string) => {
-        if (!selectedPointData) return;
-        updateAction(selectedPointData.action.actionUuid, {
+        if (!selectedEventData || !selectedPointData) return;
+        const event = updateAction(selectedPointData.action.actionUuid, {
             spawnInterval: value === "inherit" ? "inherit" : parseFloat(value),
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleMaterialSelect = (material: string) => {
-        if (!selectedPointData) return;
-        updateAction(selectedPointData.action.actionUuid, { material });
+        if (!selectedEventData || !selectedPointData) return;
+        const event = updateAction(selectedPointData.action.actionUuid, { material });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleDelayChange = (value: string) => {
-        if (!selectedPointData) return;
-        updateAction(selectedPointData.action.actionUuid, {
+        if (!selectedEventData || !selectedPointData) return;
+        const event = updateAction(selectedPointData.action.actionUuid, {
             delay: value === "inherit" ? "inherit" : parseFloat(value),
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const availableActions = {
@@ -87,9 +168,9 @@ function ConveyorMechanics() {
     };
 
     // Get current values from store
-    const currentSpeed = selectedEventData?.data.type === "transfer"
-        ? selectedEventData.data.speed.toString()
-        : "0.5";
+    const currentSpeed = (getEventByModelUuid(
+        selectedProduct.productId, selectedEventData?.data.modelUuid || ""
+    ) as ConveyorEventSchema | undefined)?.speed?.toString() || "0.5";
 
     const currentActionName = selectedPointData
         ? selectedPointData.action.actionName
@@ -132,7 +213,6 @@ function ConveyorMechanics() {
             </div>
             <section>
                 <ActionsList
-                    setSelectedPointData={setSelectedPointData}
                     selectedPointData={selectedPointData}
                 />
 
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/machineMechanics.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/machineMechanics.tsx
index 266eb39..993c46b 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/machineMechanics.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/machineMechanics.tsx
@@ -87,7 +87,6 @@ function MachineMechanics() {
                             />
                         </div>
                         <ActionsList
-                            setSelectedPointData={setSelectedPointData}
                             selectedPointData={selectedPointData}
                         />
                         <div className="selected-actions-list">
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/roboticArmMechanics.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/roboticArmMechanics.tsx
index faea93d..e56741f 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/roboticArmMechanics.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/roboticArmMechanics.tsx
@@ -1,4 +1,5 @@
 import { useEffect, useState } from "react";
+import { MathUtils } from "three";
 import InputWithDropDown from "../../../../../ui/inputs/InputWithDropDown";
 import RenameInput from "../../../../../ui/inputs/RenameInput";
 import LabledDropdown from "../../../../../ui/inputs/LabledDropdown";
@@ -7,15 +8,19 @@ import { useSelectedEventData, useSelectedProduct, useSelectedAction } from "../
 import { useProductStore } from "../../../../../../store/simulation/useProductStore";
 import PickAndPlaceAction from "../actions/PickAndPlaceAction";
 import ActionsList from "../components/ActionsList";
+import { upsertProductOrEventApi } from "../../../../../../services/simulation/UpsertProductOrEventApi";
 
 function RoboticArmMechanics() {
     const [activeOption, setActiveOption] = useState<"default" | "pickAndPlace">("default");
     const [selectedPointData, setSelectedPointData] = useState<RoboticArmPointSchema | undefined>();
     const { selectedEventData } = useSelectedEventData();
-    const { getPointByUuid, updateEvent, updateAction } = useProductStore();
+    const { getPointByUuid, getEventByModelUuid, updateEvent, updateAction, addAction, removeAction } = useProductStore();
     const { selectedProduct } = useSelectedProduct();
     const { selectedAction, setSelectedAction, clearSelectedAction } = useSelectedAction();
 
+    const email = localStorage.getItem('email')
+    const organization = (email!.split("@")[1]).split(".")[0];
+
     useEffect(() => {
         if (selectedEventData) {
             const point = getPointByUuid(
@@ -38,9 +43,23 @@ function RoboticArmMechanics() {
         }
     }, [clearSelectedAction, getPointByUuid, selectedAction.actionId, selectedEventData, selectedProduct, setSelectedAction,]);
 
+    const updateBackend = (
+        productName: string,
+        productId: string,
+        organization: string,
+        eventData: EventsSchema
+    ) => {
+        upsertProductOrEventApi({
+            productName: productName,
+            productId: productId,
+            organization: organization,
+            eventDatas: eventData
+        })
+    }
+
     const handleRenameAction = (newName: string) => {
         if (!selectedAction.actionId) return;
-        updateAction(selectedAction.actionId, { actionName: newName });
+        const event = updateAction(selectedAction.actionId, { actionName: newName });
 
         if (selectedPointData) {
             const updatedActions = selectedPointData.actions.map((action) =>
@@ -51,37 +70,145 @@ function RoboticArmMechanics() {
                 actions: updatedActions,
             });
         }
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handleSpeedChange = (value: string) => {
         if (!selectedEventData) return;
-        updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
+        const event = updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
             speed: parseFloat(value),
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handlePickPointChange = (value: string) => {
         if (!selectedAction.actionId || !selectedPointData) return;
         const [x, y, z] = value.split(",").map(Number);
 
-        updateAction(selectedAction.actionId, {
+        const event = updateAction(selectedAction.actionId, {
             process: {
                 startPoint: [x, y, z] as [number, number, number],
                 endPoint: selectedPointData.actions.find((a) => a.actionUuid === selectedAction.actionId)?.process.endPoint || null,
             },
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
     };
 
     const handlePlacePointChange = (value: string) => {
         if (!selectedAction.actionId || !selectedPointData) return;
         const [x, y, z] = value.split(",").map(Number);
 
-        updateAction(selectedAction.actionId, {
+        const event = updateAction(selectedAction.actionId, {
             process: {
                 startPoint: selectedPointData.actions.find((a) => a.actionUuid === selectedAction.actionId)?.process.startPoint || null,
                 endPoint: [x, y, z] as [number, number, number],
             },
         });
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
+    };
+
+
+    const handleAddAction = () => {
+        if (!selectedEventData || !selectedPointData) return;
+
+        const newAction = {
+            actionUuid: MathUtils.generateUUID(),
+            actionName: `Action ${selectedPointData.actions.length + 1}`,
+            actionType: "pickAndPlace" as const,
+            process: {
+                startPoint: null,
+                endPoint: null,
+            },
+            triggers: [] as TriggerSchema[],
+        };
+
+        const event = addAction(
+            selectedProduct.productId,
+            selectedEventData.data.modelUuid,
+            selectedEventData.selectedPoint,
+            newAction
+        );
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
+
+        const updatedPoint = {
+            ...selectedPointData,
+            actions: [...selectedPointData.actions, newAction],
+        };
+        setSelectedPointData(updatedPoint);
+        setSelectedAction(newAction.actionUuid, newAction.actionName);
+    };
+
+    const handleDeleteAction = (actionUuid: string) => {
+        if (!selectedPointData) return;
+
+        const event = removeAction(actionUuid);
+
+        if (event) {
+            updateBackend(
+                selectedProduct.productName,
+                selectedProduct.productId,
+                organization,
+                event
+            );
+        }
+
+        const newActions = selectedPointData.actions.filter(
+            (a: any) => a.actionUuid !== actionUuid
+        );
+
+        const updatedPoint = {
+            ...selectedPointData,
+            actions: newActions,
+        };
+        setSelectedPointData(updatedPoint);
+
+        if (selectedAction.actionId === actionUuid) {
+            if (newActions.length > 0) {
+                setSelectedAction(newActions[0].actionUuid, newActions[0].actionName);
+            } else {
+                clearSelectedAction();
+            }
+        }
     };
 
     const availableActions = {
@@ -89,9 +216,9 @@ function RoboticArmMechanics() {
         options: ["pickAndPlace"],
     };
 
-    const currentSpeed = selectedEventData?.data.type === "roboticArm"
-        ? selectedEventData.data.speed.toString()
-        : "0.5";
+    const currentSpeed = (getEventByModelUuid(
+        selectedProduct.productId, selectedEventData?.data.modelUuid || ""
+    ) as RoboticArmEventSchema | undefined)?.speed?.toString() || "0.5";
 
     const currentAction = selectedPointData?.actions.find((a) => a.actionUuid === selectedAction.actionId);
 
@@ -122,10 +249,12 @@ function RoboticArmMechanics() {
                 </div>
             </div>
             <section>
+
                 <ActionsList
-                    setSelectedPointData={setSelectedPointData}
                     selectedPointData={selectedPointData}
                     multipleAction
+                    handleAddAction={handleAddAction}
+                    handleDeleteAction={handleDeleteAction}
                 />
 
                 {selectedAction.actionId && currentAction && (
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/storageMechanics.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/storageMechanics.tsx
index f22ec37..c85da9f 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/storageMechanics.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/storageMechanics.tsx
@@ -69,7 +69,6 @@ function StorageMechanics() {
             {selectedEventData && (
                 <section>
                     <ActionsList
-                        setSelectedPointData={setSelectedPointData}
                         selectedPointData={selectedPointData}
                     />
                     <div className="selected-actions-details">
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/vehicleMechanics.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/vehicleMechanics.tsx
index d8456e5..28eb61f 100644
--- a/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/vehicleMechanics.tsx
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/mechanics/vehicleMechanics.tsx
@@ -4,186 +4,181 @@ import RenameInput from "../../../../../ui/inputs/RenameInput";
 import LabledDropdown from "../../../../../ui/inputs/LabledDropdown";
 import Trigger from "../trigger/Trigger";
 import {
-  useSelectedEventData,
-  useSelectedProduct,
+    useSelectedEventData,
+    useSelectedProduct,
 } from "../../../../../../store/simulation/useSimulationStore";
 import { useProductStore } from "../../../../../../store/simulation/useProductStore";
 import TravelAction from "../actions/TravelAction";
 import ActionsList from "../components/ActionsList";
 
 function VehicleMechanics() {
-  const [activeOption, setActiveOption] = useState<"default" | "travel">(
-    "default"
-  );
-  const [selectedPointData, setSelectedPointData] = useState<
-    VehiclePointSchema | undefined
-  >();
-  const { selectedEventData } = useSelectedEventData();
-  const { getPointByUuid, updateEvent, updateAction } = useProductStore();
-  const { selectedProduct } = useSelectedProduct();
+    const [activeOption, setActiveOption] = useState<"default" | "travel">("default");
+    const [selectedPointData, setSelectedPointData] = useState<VehiclePointSchema | undefined>();
+    const { selectedEventData } = useSelectedEventData();
+    const { getPointByUuid, getEventByModelUuid, updateEvent, updateAction } = useProductStore();
+    const { selectedProduct } = useSelectedProduct();
 
-  useEffect(() => {
-    if (selectedEventData) {
-      const point = getPointByUuid(
-        selectedProduct.productId,
-        selectedEventData.data.modelUuid,
-        selectedEventData.selectedPoint
-      ) as VehiclePointSchema | undefined;
+    useEffect(() => {
+        if (selectedEventData) {
+            const point = getPointByUuid(
+                selectedProduct.productId,
+                selectedEventData.data.modelUuid,
+                selectedEventData.selectedPoint
+            ) as VehiclePointSchema | undefined;
 
-      if (point) {
-        setSelectedPointData(point);
-        setActiveOption(point.action.actionType as "travel");
-      }
-    }
-  }, [selectedProduct, selectedEventData, getPointByUuid]);
+            if (point) {
+                setSelectedPointData(point);
+                setActiveOption(point.action.actionType as "travel");
+            }
+        }
+    }, [selectedProduct, selectedEventData, getPointByUuid]);
 
-  const handleSpeedChange = (value: string) => {
-    if (!selectedEventData) return;
-    updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
-      speed: parseFloat(value),
-    });
-  };
+    const handleSpeedChange = (value: string) => {
+        if (!selectedEventData) return;
+        updateEvent(selectedProduct.productId, selectedEventData.data.modelUuid, {
+            speed: parseFloat(value),
+        });
+    };
 
-  const handleActionTypeChange = (option: string) => {
-    if (!selectedEventData || !selectedPointData) return;
-    const validOption = option as "travel";
-    setActiveOption(validOption);
+    const handleActionTypeChange = (option: string) => {
+        if (!selectedEventData || !selectedPointData) return;
+        const validOption = option as "travel";
+        setActiveOption(validOption);
 
-    updateAction(selectedPointData.action.actionUuid, {
-      actionType: validOption,
-    });
-  };
+        updateAction(selectedPointData.action.actionUuid, {
+            actionType: validOption,
+        });
+    };
 
-  const handleRenameAction = (newName: string) => {
-    if (!selectedPointData) return;
-    updateAction(selectedPointData.action.actionUuid, { actionName: newName });
-  };
+    const handleRenameAction = (newName: string) => {
+        if (!selectedPointData) return;
+        updateAction(selectedPointData.action.actionUuid, { actionName: newName });
+    };
 
-  const handleLoadCapacityChange = (value: string) => {
-    if (!selectedPointData) return;
-    updateAction(selectedPointData.action.actionUuid, {
-      loadCapacity: parseFloat(value),
-    });
-  };
+    const handleLoadCapacityChange = (value: string) => {
+        if (!selectedPointData) return;
+        updateAction(selectedPointData.action.actionUuid, {
+            loadCapacity: parseFloat(value),
+        });
+    };
 
-  const handleUnloadDurationChange = (value: string) => {
-    if (!selectedPointData) return;
-    updateAction(selectedPointData.action.actionUuid, {
-      unLoadDuration: parseFloat(value),
-    });
-  };
+    const handleUnloadDurationChange = (value: string) => {
+        if (!selectedPointData) return;
+        updateAction(selectedPointData.action.actionUuid, {
+            unLoadDuration: parseFloat(value),
+        });
+    };
 
-  const handlePickPointChange = (value: string) => {
-    if (!selectedPointData) return;
-  };
+    const handlePickPointChange = (value: string) => {
+        if (!selectedPointData) return;
+    };
 
-  const handleUnloadPointChange = (value: string) => {
-    if (!selectedPointData) return;
-  };
+    const handleUnloadPointChange = (value: string) => {
+        if (!selectedPointData) return;
+    };
 
-  // Get current values from store
-  const currentSpeed =
-    selectedEventData?.data.type === "vehicle"
-      ? selectedEventData.data.speed.toString()
-      : "0.5";
+    // Get current values from store
 
-  const currentActionName = selectedPointData
-    ? selectedPointData.action.actionName
-    : "Action Name";
+    const currentSpeed = (getEventByModelUuid(
+        selectedProduct.productId, selectedEventData?.data.modelUuid || ""
+    ) as VehicleEventSchema | undefined)?.speed?.toString() || "0.5";
 
-  const currentLoadCapacity = selectedPointData
-    ? selectedPointData.action.loadCapacity.toString()
-    : "1";
+    const currentActionName = selectedPointData
+        ? selectedPointData.action.actionName
+        : "Action Name";
 
-  const currentUnloadDuration = selectedPointData
-    ? selectedPointData.action.unLoadDuration.toString()
-    : "1";
+    const currentLoadCapacity = selectedPointData
+        ? selectedPointData.action.loadCapacity.toString()
+        : "1";
 
-  const currentPickPoint = selectedPointData?.action.pickUpPoint;
+    const currentUnloadDuration = selectedPointData
+        ? selectedPointData.action.unLoadDuration.toString()
+        : "1";
 
-  const currentUnloadPoint = selectedPointData?.action.unLoadPoint;
+    const currentPickPoint = selectedPointData?.action.pickUpPoint;
 
-  const availableActions = {
-    defaultOption: "travel",
-    options: ["travel"],
-  };
+    const currentUnloadPoint = selectedPointData?.action.unLoadPoint;
 
-  return (
-    <>
-      {selectedEventData && (
+    const availableActions = {
+        defaultOption: "travel",
+        options: ["travel"],
+    };
+
+    return (
         <>
-          <div className="global-props section">
-            <div className="property-list-container">
-              <div className="property-item">
-                <InputWithDropDown
-                  label="Speed"
-                  value={currentSpeed}
-                  min={0}
-                  step={0.1}
-                  defaultValue={"0.5"}
-                  max={10}
-                  activeOption="m/s"
-                  onClick={() => {}}
-                  onChange={handleSpeedChange}
-                />
-              </div>
-            </div>
-          </div>
-          <section>
-            <ActionsList
-              setSelectedPointData={setSelectedPointData}
-              selectedPointData={selectedPointData}
-            />
-            <div className="selected-actions-details">
-              <div className="selected-actions-header">
-                <RenameInput
-                  value={currentActionName}
-                  onRename={handleRenameAction}
-                />
-              </div>
-              <div className="selected-actions-list">
-                <LabledDropdown
-                  defaultOption="travel"
-                  options={availableActions.options}
-                  onSelect={handleActionTypeChange}
-                />
+            {selectedEventData && (
+                <>
+                    <div className="global-props section">
+                        <div className="property-list-container">
+                            <div className="property-item">
+                                <InputWithDropDown
+                                    label="Speed"
+                                    value={currentSpeed}
+                                    min={0}
+                                    step={0.1}
+                                    defaultValue={"0.5"}
+                                    max={10}
+                                    activeOption="m/s"
+                                    onClick={() => { }}
+                                    onChange={handleSpeedChange}
+                                />
+                            </div>
+                        </div>
+                    </div>
+                    <section>
+                        <ActionsList
+                            selectedPointData={selectedPointData}
+                        />
+                        <div className="selected-actions-details">
+                            <div className="selected-actions-header">
+                                <RenameInput
+                                    value={currentActionName}
+                                    onRename={handleRenameAction}
+                                />
+                            </div>
+                            <div className="selected-actions-list">
+                                <LabledDropdown
+                                    defaultOption="travel"
+                                    options={availableActions.options}
+                                    onSelect={handleActionTypeChange}
+                                />
 
-                {activeOption === "travel" && (
-                  <TravelAction
-                    loadCapacity={{
-                      value: currentLoadCapacity,
-                      min: 1,
-                      max: 100,
-                      defaultValue: "1",
-                      onChange: handleLoadCapacityChange,
-                    }}
-                    unloadDuration={{
-                      value: currentUnloadDuration,
-                      min: 1,
-                      max: 60,
-                      defaultValue: "1",
-                      onChange: handleUnloadDurationChange,
-                    }}
-                    // pickPoint={{
-                    //     value: currentPickPoint,
-                    //     onChange: handlePickPointChange,
-                    // }}
-                    // unloadPoint={{
-                    //     value: currentUnloadPoint,
-                    //     onChange: handleUnloadPointChange,
-                    // }}
-                  />
-                )}
-              </div>
-            </div>
-            <div className="tirgger">
-              <Trigger />
-            </div>
-          </section>
+                                {activeOption === "travel" && (
+                                    <TravelAction
+                                        loadCapacity={{
+                                            value: currentLoadCapacity,
+                                            min: 1,
+                                            max: 100,
+                                            defaultValue: "1",
+                                            onChange: handleLoadCapacityChange,
+                                        }}
+                                        unloadDuration={{
+                                            value: currentUnloadDuration,
+                                            min: 1,
+                                            max: 60,
+                                            defaultValue: "1",
+                                            onChange: handleUnloadDurationChange,
+                                        }}
+                                    // pickPoint={{
+                                    //     value: currentPickPoint,
+                                    //     onChange: handlePickPointChange,
+                                    // }}
+                                    // unloadPoint={{
+                                    //     value: currentUnloadPoint,
+                                    //     onChange: handleUnloadPointChange,
+                                    // }}
+                                    />
+                                )}
+                            </div>
+                        </div>
+                        <div className="tirgger">
+                            <Trigger />
+                        </div>
+                    </section>
+                </>
+            )}
         </>
-      )}
-    </>
-  );
+    );
 }
 
 export default VehicleMechanics;
diff --git a/app/src/modules/builder/geomentries/assets/addAssetModel.ts b/app/src/modules/builder/geomentries/assets/addAssetModel.ts
index 0bc7352..c718ec3 100644
--- a/app/src/modules/builder/geomentries/assets/addAssetModel.ts
+++ b/app/src/modules/builder/geomentries/assets/addAssetModel.ts
@@ -270,7 +270,6 @@ async function handleModelLoad(
                 }
             };
             addEvent(roboticArmEvent);
-            console.log('roboticArmEvent: ', roboticArmEvent);
             eventData.point = {
                 uuid: roboticArmEvent.point.uuid,
                 position: roboticArmEvent.point.position,
diff --git a/app/src/modules/scene/controls/selectionControls/copyPasteControls.tsx b/app/src/modules/scene/controls/selectionControls/copyPasteControls.tsx
index 613fe43..fa6ec16 100644
--- a/app/src/modules/scene/controls/selectionControls/copyPasteControls.tsx
+++ b/app/src/modules/scene/controls/selectionControls/copyPasteControls.tsx
@@ -6,6 +6,7 @@ import { toast } from "react-toastify";
 // import { setFloorItemApi } from '../../../../services/factoryBuilder/assest/floorAsset/setFloorItemApi';
 import * as Types from "../../../../types/world/worldTypes";
 import { detectModifierKeys } from "../../../../utils/shortcutkeys/detectModifierKeys";
+import { useEventsStore } from "../../../../store/simulation/useEventsStore";
 
 const CopyPasteControls = ({ itemsGroupRef, copiedObjects, setCopiedObjects, pastedObjects, setpastedObjects, selectionGroup, setDuplicatedObjects, movedObjects, setMovedObjects, rotatedObjects, setRotatedObjects, boundingBoxRef }: any) => {
     const { camera, controls, gl, scene, pointer, raycaster } = useThree();
@@ -13,7 +14,8 @@ const CopyPasteControls = ({ itemsGroupRef, copiedObjects, setCopiedObjects, pas
     const { selectedAssets, setSelectedAssets } = useSelectedAssets();
     const plane = useMemo(() => new THREE.Plane(new THREE.Vector3(0, 1, 0), 0), []);
     const { floorItems, setFloorItems } = useFloorItems();
-    const { socket } = useSocketStore()
+    const { socket } = useSocketStore();
+    const { addEvent } = useEventsStore();
 
     useEffect(() => {
         if (!camera || !scene || toggleView) return;
@@ -137,38 +139,6 @@ const CopyPasteControls = ({ itemsGroupRef, copiedObjects, setCopiedObjects, pas
 
             if (itemsGroupRef.current) {
 
-                let updatedEventData = null;
-                if (obj.userData.eventData) {
-                    updatedEventData = JSON.parse(JSON.stringify(obj.userData.eventData));
-
-                    updatedEventData.modelUuid = THREE.MathUtils.generateUUID();
-
-                    if (updatedEventData.type === "Conveyor" && updatedEventData.points) {
-                        updatedEventData.points = updatedEventData.points.map((point: any) => ({
-                            ...point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        }));
-                    }
-                    else if (updatedEventData.type === "Vehicle" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                    else if (updatedEventData.type === "ArmBot" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                    else if (updatedEventData.type === "StaticMachine" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                }
-
                 const newFloorItem: Types.FloorItemType = {
                     modelUuid: obj.uuid,
                     modelName: obj.userData.name,
@@ -177,56 +147,245 @@ const CopyPasteControls = ({ itemsGroupRef, copiedObjects, setCopiedObjects, pas
                     rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z, },
                     isLocked: false,
                     isVisible: true,
-                    eventData: updatedEventData
                 };
 
-                setFloorItems((prevItems: Types.FloorItems) => {
-                    const updatedItems = [...(prevItems || []), newFloorItem];
-                    localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
-                    return updatedItems;
-                });
+                let updatedEventData = null;
+                if (obj.userData.eventData) {
+                    updatedEventData = JSON.parse(JSON.stringify(obj.userData.eventData));
+                    updatedEventData.modelUuid = newFloorItem.modelUuid;
 
-                const email = localStorage.getItem("email");
-                const organization = email ? email.split("@")[1].split(".")[0] : "default";
+                    const eventData: any = {
+                        type: obj.userData.eventData.type,
+                    };
 
-                //REST
+                    if (obj.userData.eventData.type === "Conveyor") {
+                        const ConveyorEvent: ConveyorEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: 'transfer',
+                            speed: 1,
+                            points: updatedEventData.points.map((point: any, index: number) => ({
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [point.position[0], point.position[1], point.position[2]],
+                                rotation: [point.rotation[0], point.rotation[1], point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: `Action ${index}`,
+                                    actionType: 'default',
+                                    material: 'Default Material',
+                                    delay: 0,
+                                    spawnInterval: 5,
+                                    spawnCount: 1,
+                                    triggers: []
+                                }
+                            }))
+                        };
+                        addEvent(ConveyorEvent);
+                        eventData.points = ConveyorEvent.points.map(point => ({
+                            uuid: point.uuid,
+                            position: point.position,
+                            rotation: point.rotation
+                        }));
 
-                // await setFloorItemApi(
-                //     organization,
-                //     obj.uuid,
-                //     obj.userData.name,
-                //     [worldPosition.x, worldPosition.y, worldPosition.z],
-                //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
-                //     obj.userData.modelId,
-                //     false,
-                //     true,
-                // );
+                    } else if (obj.userData.eventData.type === "Vehicle") {
+                        const vehicleEvent: VehicleEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "vehicle",
+                            speed: 1,
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: "Action 1",
+                                    actionType: "travel",
+                                    unLoadDuration: 5,
+                                    loadCapacity: 10,
+                                    steeringAngle: 0,
+                                    pickUpPoint: null,
+                                    unLoadPoint: null,
+                                    triggers: []
+                                }
+                            }
+                        };
+                        addEvent(vehicleEvent);
+                        eventData.point = {
+                            uuid: vehicleEvent.point.uuid,
+                            position: vehicleEvent.point.position,
+                            rotation: vehicleEvent.point.rotation
+                        };
 
-                //SOCKET
+                    } else if (obj.userData.eventData.type === "ArmBot") {
+                        const roboticArmEvent: RoboticArmEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "roboticArm",
+                            speed: 1,
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                actions: [
+                                    {
+                                        actionUuid: THREE.MathUtils.generateUUID(),
+                                        actionName: "Action 1",
+                                        actionType: "pickAndPlace",
+                                        process: {
+                                            startPoint: null,
+                                            endPoint: null
+                                        },
+                                        triggers: []
+                                    }
+                                ]
+                            }
+                        };
+                        addEvent(roboticArmEvent);
+                        eventData.point = {
+                            uuid: roboticArmEvent.point.uuid,
+                            position: roboticArmEvent.point.position,
+                            rotation: roboticArmEvent.point.rotation
+                        };
 
-                const data = {
-                    organization,
-                    modelUuid: newFloorItem.modelUuid,
-                    modelName: newFloorItem.modelName,
-                    modelfileID: newFloorItem.modelfileID,
-                    position: newFloorItem.position,
-                    rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
-                    isLocked: false,
-                    isVisible: true,
-                    socketId: socket.id,
-                    eventData: updatedEventData
-                };
+                    } else if (obj.userData.eventData.type === "StaticMachine") {
+                        const machineEvent: MachineEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "machine",
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: "Action 1",
+                                    actionType: "process",
+                                    processTime: 10,
+                                    swapMaterial: "Default Material",
+                                    triggers: []
+                                }
+                            }
+                        };
+                        addEvent(machineEvent);
+                        eventData.point = {
+                            uuid: machineEvent.point.uuid,
+                            position: machineEvent.point.position,
+                            rotation: machineEvent.point.rotation
+                        };
+                    }
 
-                socket.emit("v2:model-asset:add", data);
+                    obj.userData.eventData = eventData;
 
-                obj.userData = {
-                    name: newFloorItem.modelName,
-                    modelId: newFloorItem.modelfileID,
-                    modelUuid: newFloorItem.modelUuid,
-                    eventData: updatedEventData
-                };
+                    newFloorItem.eventData = eventData;
 
-                itemsGroupRef.current.add(obj);
+
+                    setFloorItems((prevItems: Types.FloorItems) => {
+                        const updatedItems = [...(prevItems || []), newFloorItem];
+                        localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
+                        return updatedItems;
+                    });
+
+                    const email = localStorage.getItem("email");
+                    const organization = email ? email.split("@")[1].split(".")[0] : "default";
+
+                    //REST
+
+                    // await setFloorItemApi(
+                    //     organization,
+                    //     obj.uuid,
+                    //     obj.userData.name,
+                    //     [worldPosition.x, worldPosition.y, worldPosition.z],
+                    //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
+                    //     obj.userData.modelId,
+                    //     false,
+                    //     true,
+                    // );
+
+                    //SOCKET
+
+                    const data = {
+                        organization,
+                        modelUuid: newFloorItem.modelUuid,
+                        modelName: newFloorItem.modelName,
+                        modelfileID: newFloorItem.modelfileID,
+                        position: newFloorItem.position,
+                        rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
+                        isLocked: false,
+                        isVisible: true,
+                        socketId: socket.id,
+                        eventData: eventData,
+                    };
+
+                    socket.emit("v2:model-asset:add", data);
+
+                    obj.userData = {
+                        name: newFloorItem.modelName,
+                        modelId: newFloorItem.modelfileID,
+                        modelUuid: newFloorItem.modelUuid,
+                    };
+
+                    itemsGroupRef.current.add(obj);
+
+                } else {
+                    setFloorItems((prevItems: Types.FloorItems) => {
+                        const updatedItems = [...(prevItems || []), newFloorItem];
+                        localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
+                        return updatedItems;
+                    });
+
+                    const email = localStorage.getItem("email");
+                    const organization = email ? email.split("@")[1].split(".")[0] : "default";
+
+                    //REST
+
+                    // await setFloorItemApi(
+                    //     organization,
+                    //     obj.uuid,
+                    //     obj.userData.name,
+                    //     [worldPosition.x, worldPosition.y, worldPosition.z],
+                    //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
+                    //     obj.userData.modelId,
+                    //     false,
+                    //     true,
+                    // );
+
+                    //SOCKET
+
+                    const data = {
+                        organization,
+                        modelUuid: newFloorItem.modelUuid,
+                        modelName: newFloorItem.modelName,
+                        modelfileID: newFloorItem.modelfileID,
+                        position: newFloorItem.position,
+                        rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
+                        isLocked: false,
+                        isVisible: true,
+                        socketId: socket.id,
+                    };
+
+                    socket.emit("v2:model-asset:add", data);
+
+                    obj.userData = {
+                        name: newFloorItem.modelName,
+                        modelId: newFloorItem.modelfileID,
+                        modelUuid: newFloorItem.modelUuid,
+                    };
+
+                    itemsGroupRef.current.add(obj);
+                }
             }
         });
 
diff --git a/app/src/modules/scene/controls/selectionControls/duplicationControls.tsx b/app/src/modules/scene/controls/selectionControls/duplicationControls.tsx
index 733e4ac..ffe560c 100644
--- a/app/src/modules/scene/controls/selectionControls/duplicationControls.tsx
+++ b/app/src/modules/scene/controls/selectionControls/duplicationControls.tsx
@@ -7,6 +7,7 @@ import { toast } from "react-toastify";
 import * as Types from "../../../../types/world/worldTypes";
 import { setFloorItemApi } from "../../../../services/factoryBuilder/assest/floorAsset/setFloorItemApi";
 import { detectModifierKeys } from "../../../../utils/shortcutkeys/detectModifierKeys";
+import { useEventsStore } from "../../../../store/simulation/useEventsStore";
 
 const DuplicationControls = ({ itemsGroupRef, duplicatedObjects, setDuplicatedObjects, setpastedObjects, selectionGroup, movedObjects, setMovedObjects, rotatedObjects, setRotatedObjects, boundingBoxRef }: any) => {
     const { camera, controls, gl, scene, pointer, raycaster } = useThree();
@@ -15,6 +16,7 @@ const DuplicationControls = ({ itemsGroupRef, duplicatedObjects, setDuplicatedOb
     const plane = useMemo(() => new THREE.Plane(new THREE.Vector3(0, 1, 0), 0), []);
     const { floorItems, setFloorItems } = useFloorItems();
     const { socket } = useSocketStore();
+    const { addEvent } = useEventsStore();
 
     useEffect(() => {
         if (!camera || !scene || toggleView) return;
@@ -115,38 +117,6 @@ const DuplicationControls = ({ itemsGroupRef, duplicatedObjects, setDuplicatedOb
 
             if (itemsGroupRef.current) {
 
-                let updatedEventData = null;
-                if (obj.userData.eventData) {
-                    updatedEventData = JSON.parse(JSON.stringify(obj.userData.eventData));
-
-                    updatedEventData.modelUuid = THREE.MathUtils.generateUUID();
-
-                    if (updatedEventData.type === "Conveyor" && updatedEventData.points) {
-                        updatedEventData.points = updatedEventData.points.map((point: any) => ({
-                            ...point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        }));
-                    }
-                    else if (updatedEventData.type === "Vehicle" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                    else if (updatedEventData.type === "ArmBot" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                    else if (updatedEventData.type === "StaticMachine" && updatedEventData.point) {
-                        updatedEventData.point = {
-                            ...updatedEventData.point,
-                            uuid: THREE.MathUtils.generateUUID()
-                        };
-                    }
-                }
-
                 const newFloorItem: Types.FloorItemType = {
                     modelUuid: obj.uuid,
                     modelName: obj.userData.name,
@@ -155,56 +125,245 @@ const DuplicationControls = ({ itemsGroupRef, duplicatedObjects, setDuplicatedOb
                     rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z, },
                     isLocked: false,
                     isVisible: true,
-                    eventData: updatedEventData
                 };
 
-                setFloorItems((prevItems: Types.FloorItems) => {
-                    const updatedItems = [...(prevItems || []), newFloorItem];
-                    localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
-                    return updatedItems;
-                });
+                let updatedEventData = null;
+                if (obj.userData.eventData) {
+                    updatedEventData = JSON.parse(JSON.stringify(obj.userData.eventData));
+                    updatedEventData.modelUuid = newFloorItem.modelUuid;
 
-                const email = localStorage.getItem("email");
-                const organization = email ? email.split("@")[1].split(".")[0] : "default";
+                    const eventData: any = {
+                        type: obj.userData.eventData.type,
+                    };
 
-                //REST
+                    if (obj.userData.eventData.type === "Conveyor") {
+                        const ConveyorEvent: ConveyorEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: 'transfer',
+                            speed: 1,
+                            points: updatedEventData.points.map((point: any, index: number) => ({
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [point.position[0], point.position[1], point.position[2]],
+                                rotation: [point.rotation[0], point.rotation[1], point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: `Action ${index}`,
+                                    actionType: 'default',
+                                    material: 'Default Material',
+                                    delay: 0,
+                                    spawnInterval: 5,
+                                    spawnCount: 1,
+                                    triggers: []
+                                }
+                            }))
+                        };
+                        addEvent(ConveyorEvent);
+                        eventData.points = ConveyorEvent.points.map(point => ({
+                            uuid: point.uuid,
+                            position: point.position,
+                            rotation: point.rotation
+                        }));
 
-                // await setFloorItemApi(
-                //     organization,
-                //     obj.uuid,
-                //     obj.userData.name,
-                //     [worldPosition.x, worldPosition.y, worldPosition.z],
-                //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
-                //     obj.userData.modelId,
-                //     false,
-                //     true,
-                // );
+                    } else if (obj.userData.eventData.type === "Vehicle") {
+                        const vehicleEvent: VehicleEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "vehicle",
+                            speed: 1,
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: "Action 1",
+                                    actionType: "travel",
+                                    unLoadDuration: 5,
+                                    loadCapacity: 10,
+                                    steeringAngle: 0,
+                                    pickUpPoint: null,
+                                    unLoadPoint: null,
+                                    triggers: []
+                                }
+                            }
+                        };
+                        addEvent(vehicleEvent);
+                        eventData.point = {
+                            uuid: vehicleEvent.point.uuid,
+                            position: vehicleEvent.point.position,
+                            rotation: vehicleEvent.point.rotation
+                        };
 
-                //SOCKET
+                    } else if (obj.userData.eventData.type === "ArmBot") {
+                        const roboticArmEvent: RoboticArmEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "roboticArm",
+                            speed: 1,
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                actions: [
+                                    {
+                                        actionUuid: THREE.MathUtils.generateUUID(),
+                                        actionName: "Action 1",
+                                        actionType: "pickAndPlace",
+                                        process: {
+                                            startPoint: null,
+                                            endPoint: null
+                                        },
+                                        triggers: []
+                                    }
+                                ]
+                            }
+                        };
+                        addEvent(roboticArmEvent);
+                        eventData.point = {
+                            uuid: roboticArmEvent.point.uuid,
+                            position: roboticArmEvent.point.position,
+                            rotation: roboticArmEvent.point.rotation
+                        };
 
-                const data = {
-                    organization,
-                    modelUuid: newFloorItem.modelUuid,
-                    modelName: newFloorItem.modelName,
-                    modelfileID: newFloorItem.modelfileID,
-                    position: newFloorItem.position,
-                    rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
-                    isLocked: false,
-                    isVisible: true,
-                    socketId: socket.id,
-                    eventData: updatedEventData
-                };
+                    } else if (obj.userData.eventData.type === "StaticMachine") {
+                        const machineEvent: MachineEventSchema = {
+                            modelUuid: newFloorItem.modelUuid,
+                            modelName: newFloorItem.modelName,
+                            position: newFloorItem.position,
+                            rotation: [newFloorItem.rotation.x, newFloorItem.rotation.y, newFloorItem.rotation.z],
+                            state: "idle",
+                            type: "machine",
+                            point: {
+                                uuid: THREE.MathUtils.generateUUID(),
+                                position: [updatedEventData.point.position[0], updatedEventData.point.position[1], updatedEventData.point.position[2]],
+                                rotation: [updatedEventData.point.rotation[0], updatedEventData.point.rotation[1], updatedEventData.point.rotation[2]],
+                                action: {
+                                    actionUuid: THREE.MathUtils.generateUUID(),
+                                    actionName: "Action 1",
+                                    actionType: "process",
+                                    processTime: 10,
+                                    swapMaterial: "Default Material",
+                                    triggers: []
+                                }
+                            }
+                        };
+                        addEvent(machineEvent);
+                        eventData.point = {
+                            uuid: machineEvent.point.uuid,
+                            position: machineEvent.point.position,
+                            rotation: machineEvent.point.rotation
+                        };
+                    }
 
-                socket.emit("v2:model-asset:add", data);
+                    obj.userData.eventData = eventData;
 
-                obj.userData = {
-                    name: newFloorItem.modelName,
-                    modelId: newFloorItem.modelfileID,
-                    modelUuid: newFloorItem.modelUuid,
-                    eventData: updatedEventData
-                };
+                    newFloorItem.eventData = eventData;
 
-                itemsGroupRef.current.add(obj);
+
+                    setFloorItems((prevItems: Types.FloorItems) => {
+                        const updatedItems = [...(prevItems || []), newFloorItem];
+                        localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
+                        return updatedItems;
+                    });
+
+                    const email = localStorage.getItem("email");
+                    const organization = email ? email.split("@")[1].split(".")[0] : "default";
+
+                    //REST
+
+                    // await setFloorItemApi(
+                    //     organization,
+                    //     obj.uuid,
+                    //     obj.userData.name,
+                    //     [worldPosition.x, worldPosition.y, worldPosition.z],
+                    //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
+                    //     obj.userData.modelId,
+                    //     false,
+                    //     true,
+                    // );
+
+                    //SOCKET
+
+                    const data = {
+                        organization,
+                        modelUuid: newFloorItem.modelUuid,
+                        modelName: newFloorItem.modelName,
+                        modelfileID: newFloorItem.modelfileID,
+                        position: newFloorItem.position,
+                        rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
+                        isLocked: false,
+                        isVisible: true,
+                        socketId: socket.id,
+                        eventData: eventData,
+                    };
+
+                    socket.emit("v2:model-asset:add", data);
+
+                    obj.userData = {
+                        name: newFloorItem.modelName,
+                        modelId: newFloorItem.modelfileID,
+                        modelUuid: newFloorItem.modelUuid,
+                    };
+
+                    itemsGroupRef.current.add(obj);
+
+                } else {
+                    setFloorItems((prevItems: Types.FloorItems) => {
+                        const updatedItems = [...(prevItems || []), newFloorItem];
+                        localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
+                        return updatedItems;
+                    });
+
+                    const email = localStorage.getItem("email");
+                    const organization = email ? email.split("@")[1].split(".")[0] : "default";
+
+                    //REST
+
+                    // await setFloorItemApi(
+                    //     organization,
+                    //     obj.uuid,
+                    //     obj.userData.name,
+                    //     [worldPosition.x, worldPosition.y, worldPosition.z],
+                    //     { "x": obj.rotation.x, "y": obj.rotation.y, "z": obj.rotation.z },
+                    //     obj.userData.modelId,
+                    //     false,
+                    //     true,
+                    // );
+
+                    //SOCKET
+
+                    const data = {
+                        organization,
+                        modelUuid: newFloorItem.modelUuid,
+                        modelName: newFloorItem.modelName,
+                        modelfileID: newFloorItem.modelfileID,
+                        position: newFloorItem.position,
+                        rotation: { x: obj.rotation.x, y: obj.rotation.y, z: obj.rotation.z },
+                        isLocked: false,
+                        isVisible: true,
+                        socketId: socket.id,
+                    };
+
+                    socket.emit("v2:model-asset:add", data);
+
+                    obj.userData = {
+                        name: newFloorItem.modelName,
+                        modelId: newFloorItem.modelfileID,
+                        modelUuid: newFloorItem.modelUuid,
+                    };
+
+                    itemsGroupRef.current.add(obj);
+                }
             }
         });
 
diff --git a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
index 9d32063..c6ec316 100644
--- a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
+++ b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
@@ -94,7 +94,7 @@ function PointsCreator() {
                                                 }}
                                                 onPointerMissed={() => {
                                                     if (selectedEventData?.data.type !== 'vehicle') {
-                                                        // clearSelectedEventSphere();
+                                                        clearSelectedEventSphere();
                                                     }
                                                     setTransformMode(null);
                                                 }}
@@ -123,7 +123,7 @@ function PointsCreator() {
                                                 );
                                             }}
                                             onPointerMissed={() => {
-                                                // clearSelectedEventSphere();
+                                                clearSelectedEventSphere();
                                                 setTransformMode(null);
                                             }}
                                             position={new THREE.Vector3(...event.point.position)}
@@ -149,7 +149,7 @@ function PointsCreator() {
                                                 );
                                             }}
                                             onPointerMissed={() => {
-                                                // clearSelectedEventSphere();
+                                                clearSelectedEventSphere();
                                                 setTransformMode(null);
                                             }}
                                             position={new THREE.Vector3(...event.point.position)}
@@ -175,7 +175,7 @@ function PointsCreator() {
                                                 );
                                             }}
                                             onPointerMissed={() => {
-                                                // clearSelectedEventSphere();
+                                                clearSelectedEventSphere();
                                                 setTransformMode(null);
                                             }}
                                             position={new THREE.Vector3(...event.point.position)}
diff --git a/app/src/store/simulation/useProductStore.ts b/app/src/store/simulation/useProductStore.ts
index e6f6ae0..4f2b546 100644
--- a/app/src/store/simulation/useProductStore.ts
+++ b/app/src/store/simulation/useProductStore.ts
@@ -14,7 +14,7 @@ type ProductsStore = {
     addEvent: (productId: string, event: EventsSchema) => void;
     removeEvent: (productId: string, modelUuid: string) => void;
     deleteEvent: (modelUuid: string) => void;
-    updateEvent: (productId: string, modelUuid: string, updates: Partial<EventsSchema>) => void;
+    updateEvent: (productId: string, modelUuid: string, updates: Partial<EventsSchema>) => EventsSchema | undefined;
 
     // Point-level actions
     addPoint: (productId: string, modelUuid: string, point: ConveyorPointSchema | VehiclePointSchema | RoboticArmPointSchema | MachinePointSchema | StoragePointSchema) => void;
@@ -32,12 +32,12 @@ type ProductsStore = {
         modelUuid: string,
         pointUuid: string,
         action: ConveyorPointSchema['action'] | VehiclePointSchema['action'] | RoboticArmPointSchema['actions'][0] | MachinePointSchema['action'] | StoragePointSchema['action']
-    ) => void;
-    removeAction: (actionUuid: string) => void;
+    ) => EventsSchema | undefined;
+    removeAction: (actionUuid: string) => EventsSchema | undefined;
     updateAction: (
         actionUuid: string,
         updates: Partial<ConveyorPointSchema['action'] | VehiclePointSchema['action'] | RoboticArmPointSchema['actions'][0] | MachinePointSchema['action'] | StoragePointSchema['action']>
-    ) => void;
+    ) => EventsSchema | undefined;
 
     // Trigger-level actions
     addTrigger: (
@@ -52,7 +52,7 @@ type ProductsStore = {
 
     // Renaming functions
     renameProduct: (productId: string, newName: string) => void;
-    renameAction: (actionUuid: string, newName: string) => void;
+    renameAction: (actionUuid: string, newName: string) => EventsSchema | undefined;
     renameTrigger: (triggerUuid: string, newName: string) => void;
 
     // Helper functions
@@ -129,15 +129,18 @@ export const useProductStore = create<ProductsStore>()(
         },
 
         updateEvent: (productId, modelUuid, updates) => {
+            let updatedEvent: EventsSchema | undefined;
             set((state) => {
                 const product = state.products.find(p => p.productId === productId);
                 if (product) {
                     const event = product.eventDatas.find(e => 'modelUuid' in e && e.modelUuid === modelUuid);
                     if (event) {
                         Object.assign(event, updates);
+                        updatedEvent = JSON.parse(JSON.stringify(event));
                     }
                 }
             });
+            return updatedEvent;
         },
 
         // Point-level actions
@@ -188,6 +191,7 @@ export const useProductStore = create<ProductsStore>()(
 
         // Action-level actions
         addAction: (productId, modelUuid, pointUuid, action) => {
+            let updatedEvent: EventsSchema | undefined;
             set((state) => {
                 const product = state.products.find(p => p.productId === productId);
                 if (product) {
@@ -196,19 +200,24 @@ export const useProductStore = create<ProductsStore>()(
                         const point = (event as ConveyorEventSchema).points.find(p => p.uuid === pointUuid);
                         if (point) {
                             point.action = action as any;
+                            updatedEvent = JSON.parse(JSON.stringify(event));
                         }
                     } else if (event && 'point' in event && (event as any).point.uuid === pointUuid) {
                         if ('action' in (event as any).point) {
                             (event as any).point.action = action;
+                            updatedEvent = JSON.parse(JSON.stringify(event));
                         } else if ('actions' in (event as any).point) {
                             (event as any).point.actions.push(action);
+                            updatedEvent = JSON.parse(JSON.stringify(event));
                         }
                     }
                 }
             });
+            return updatedEvent;
         },
 
         removeAction: (actionUuid: string) => {
+            let updatedEvent: EventsSchema | undefined;
             set((state) => {
                 for (const product of state.products) {
                     for (const event of product.eventDatas) {
@@ -219,20 +228,28 @@ export const useProductStore = create<ProductsStore>()(
                         } else if ('point' in event) {
                             const point = (event as any).point;
                             if (event.type === "roboticArm") {
-                                // Handle RoboticArmEventSchema
                                 if ('actions' in point) {
-                                    point.actions = point.actions.filter((a: any) => a.actionUuid !== actionUuid);
+                                    const index = point.actions.findIndex((a: any) => a.actionUuid === actionUuid);
+                                    if (index !== -1) {
+                                        point.actions.splice(index, 1);
+                                        updatedEvent = JSON.parse(JSON.stringify(event));
+                                        return;
+                                    }
                                 }
                             } else if ('action' in point && point.action?.actionUuid === actionUuid) {
-                                // For other schemas with a single 'action'
+                                point.action = undefined;
+                                updatedEvent = JSON.parse(JSON.stringify(event));
+                                return;
                             }
                         }
                     }
                 }
             });
+            return updatedEvent;
         },
 
         updateAction: (actionUuid, updates) => {
+            let updatedEvent: EventsSchema | undefined;
             set((state) => {
                 for (const product of state.products) {
                     for (const event of product.eventDatas) {
@@ -240,6 +257,7 @@ export const useProductStore = create<ProductsStore>()(
                             for (const point of (event as ConveyorEventSchema).points) {
                                 if (point.action && point.action.actionUuid === actionUuid) {
                                     Object.assign(point.action, updates);
+                                    updatedEvent = JSON.parse(JSON.stringify(event));
                                     return;
                                 }
                             }
@@ -247,11 +265,13 @@ export const useProductStore = create<ProductsStore>()(
                             const point = (event as any).point;
                             if ('action' in point && point.action.actionUuid === actionUuid) {
                                 Object.assign(point.action, updates);
+                                updatedEvent = JSON.parse(JSON.stringify(event));
                                 return;
                             } else if ('actions' in point) {
                                 const action = point.actions.find((a: any) => a.actionUuid === actionUuid);
                                 if (action) {
                                     Object.assign(action, updates);
+                                    updatedEvent = JSON.parse(JSON.stringify(event));
                                     return;
                                 }
                             }
@@ -259,6 +279,7 @@ export const useProductStore = create<ProductsStore>()(
                     }
                 }
             });
+            return updatedEvent;
         },
 
         // Trigger-level actions
@@ -368,6 +389,7 @@ export const useProductStore = create<ProductsStore>()(
         },
 
         renameAction: (actionUuid, newName) => {
+            let updatedEvent: EventsSchema | undefined;
             set((state) => {
                 for (const product of state.products) {
                     for (const event of product.eventDatas) {
@@ -375,6 +397,7 @@ export const useProductStore = create<ProductsStore>()(
                             for (const point of (event as ConveyorEventSchema).points) {
                                 if (point.action && point.action.actionUuid === actionUuid) {
                                     point.action.actionName = newName;
+                                    updatedEvent = JSON.parse(JSON.stringify(event));
                                     return;
                                 }
                             }
@@ -382,11 +405,13 @@ export const useProductStore = create<ProductsStore>()(
                             const point = (event as any).point;
                             if ('action' in point && point.action.actionUuid === actionUuid) {
                                 point.action.actionName = newName;
+                                updatedEvent = JSON.parse(JSON.stringify(event));
                                 return;
                             } else if ('actions' in point) {
                                 const action = point.actions.find((a: any) => a.actionUuid === actionUuid);
                                 if (action) {
                                     action.actionName = newName;
+                                    updatedEvent = JSON.parse(JSON.stringify(event));
                                     return;
                                 }
                             }
@@ -394,6 +419,7 @@ export const useProductStore = create<ProductsStore>()(
                     }
                 }
             });
+            return updatedEvent;
         },
 
         renameTrigger: (triggerUuid, newName) => {