diff --git a/src/automation/src/main/java/eu/teraflow/automation/Serializer.java b/src/automation/src/main/java/eu/teraflow/automation/Serializer.java
index 445dea540b57717f1005d8b37269777f7e2147ee..5f5c8999ee217873b7b10ad3fbdde50129fd60b7 100644
--- a/src/automation/src/main/java/eu/teraflow/automation/Serializer.java
+++ b/src/automation/src/main/java/eu/teraflow/automation/Serializer.java
@@ -929,6 +929,7 @@ public class Serializer {
 
         final var deviceIdUuid = serializeUuid(device.getDeviceId());
         final var deviceId = DeviceId.newBuilder().setDeviceUuid(deviceIdUuid);
+        final var deviceName = device.getDeviceName();
         final var deviceType = device.getDeviceType();
         final var deviceConfig = device.getDeviceConfig();
         final var deviceOperationalStatus = device.getDeviceOperationalStatus();
@@ -943,6 +944,7 @@ public class Serializer {
                 deviceEndPoints.stream().map(this::serialize).collect(Collectors.toList());
 
         builder.setDeviceId(deviceId);
+        builder.setName(deviceName);
         builder.setDeviceType(deviceType);
         builder.setDeviceConfig(serializedDeviceConfig);
         builder.setDeviceOperationalStatus(serializedDeviceOperationalStatus);
@@ -955,6 +957,7 @@ public class Serializer {
     public Device deserialize(ContextOuterClass.Device device) {
 
         final var serializedDeviceId = device.getDeviceId();
+        final var deviceName = device.getName();
         final var deviceType = device.getDeviceType();
         final var serializedDeviceConfig = device.getDeviceConfig();
         final var serializedDeviceOperationalStatus = device.getDeviceOperationalStatus();
@@ -971,6 +974,7 @@ public class Serializer {
 
         return new Device(
                 deviceId,
+                deviceName,
                 deviceType,
                 deviceConfig,
                 deviceOperationalStatus,
diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java
index 1e5563917625a9679feb9e9491990885cc4a3c22..f1d2d097ddeb5de6aef52983196d2d206a44ced3 100644
--- a/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java
+++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java
@@ -22,6 +22,7 @@ import java.util.List;
 public class Device {
 
     private final String deviceId;
+    private final String deviceName;
     private final String deviceType;
     private DeviceConfig deviceConfig;
     private DeviceOperationalStatus deviceOperationalStatus;
@@ -30,6 +31,7 @@ public class Device {
 
     public Device(
             String deviceId,
+            String deviceName,
             String deviceType,
             DeviceConfig deviceConfig,
             DeviceOperationalStatus deviceOperationalStatus,
@@ -37,6 +39,7 @@ public class Device {
             List<EndPoint> endPoints) {
 
         this.deviceId = deviceId;
+        this.deviceName = deviceName;
         this.deviceType = deviceType;
         this.deviceConfig = deviceConfig;
         this.deviceOperationalStatus = deviceOperationalStatus;
@@ -46,11 +49,13 @@ public class Device {
 
     public Device(
             String deviceId,
+            String deviceName,
             String deviceType,
             DeviceOperationalStatus deviceOperationalStatus,
             List<DeviceDriverEnum> deviceDrivers,
             List<EndPoint> endPoints) {
         this.deviceId = deviceId;
+        this.deviceName = deviceName;
         this.deviceType = deviceType;
         this.deviceOperationalStatus = deviceOperationalStatus;
         this.deviceDrivers = deviceDrivers;
@@ -77,6 +82,10 @@ public class Device {
         return deviceId;
     }
 
+    public String getDeviceName() {
+        return deviceName;
+    }
+
     public String getDeviceType() {
         return deviceType;
     }
@@ -104,9 +113,10 @@ public class Device {
     @Override
     public String toString() {
         return String.format(
-                "%s:{deviceId:\"%s\", deviceType:\"%s\", %s, deviceOperationalStatus=\"%s\", [%s], [%s]}",
+                "%s:{deviceId:\"%s\", deviceName:\"%s\", deviceType:\"%s\", %s, deviceOperationalStatus=\"%s\", [%s], [%s]}",
                 getClass().getSimpleName(),
                 deviceId,
+                deviceName,
                 deviceType,
                 deviceConfig,
                 deviceOperationalStatus.toString(),
diff --git a/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java b/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java
index 75045288c99ff041e9fdc1d4a1bdf7365f9dd48a..a75cbc883fd14374dab2176163aab804d919389b 100644
--- a/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java
+++ b/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java
@@ -79,6 +79,7 @@ class AutomationFunctionalServiceTest {
                         .build();
 
         String deviceId = outDeviceRoleId.getDevRoleId().toString();
+        String deviceName = "deviceName";
         String deviceType = "cisco";
 
         final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA");
@@ -132,7 +133,12 @@ class AutomationFunctionalServiceTest {
 
         Device device =
                 new Device(
-                        deviceId, deviceType, DeviceOperationalStatus.DISABLED, deviceDrivers, endPoints);
+                        deviceId,
+                        deviceName,
+                        deviceType,
+                        DeviceOperationalStatus.DISABLED,
+                        deviceDrivers,
+                        endPoints);
         Uni<Device> deviceUni = Uni.createFrom().item(device);
 
         Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(deviceUni);
@@ -199,6 +205,7 @@ class AutomationFunctionalServiceTest {
                         .build();
 
         String deviceId = outDeviceRoleId.getDevId().toString();
+        String deviceName = "deviceName";
         String deviceType = "ztp";
 
         List<ConfigRule> configRuleList = new ArrayList<>();
@@ -247,6 +254,7 @@ class AutomationFunctionalServiceTest {
         Device device =
                 new Device(
                         deviceId,
+                        deviceName,
                         deviceType,
                         expectedDeviceConfig,
                         DeviceOperationalStatus.ENABLED,
@@ -323,6 +331,7 @@ class AutomationFunctionalServiceTest {
                         .build();
 
         String deviceId = outDeviceRoleId.getDevRoleId().toString();
+        String deviceName = "deviceName";
         String deviceType = "cisco";
 
         final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4);
@@ -360,7 +369,12 @@ class AutomationFunctionalServiceTest {
 
         Device device =
                 new Device(
-                        deviceId, deviceType, DeviceOperationalStatus.DISABLED, deviceDrivers, endPoints);
+                        deviceId,
+                        deviceName,
+                        deviceType,
+                        DeviceOperationalStatus.DISABLED,
+                        deviceDrivers,
+                        endPoints);
         Uni<Device> deviceUni = Uni.createFrom().item(device);
 
         Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(deviceUni);
diff --git a/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java b/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java
index e17fc8304455a543ffa96b4c1239abb77be4daca..ad2d37bbc5184a6dbadbd2d8513e63fb58a0e359 100644
--- a/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java
+++ b/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java
@@ -75,6 +75,7 @@ class AutomationServiceTest {
         final var message = new CompletableFuture<>();
         final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b";
         final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a";
+        final var DEVICE_NAME = "deviceNameA";
         final var DEVICE_TYPE = "ztp";
 
         final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4);
@@ -114,6 +115,7 @@ class AutomationServiceTest {
         final var disabledDevice =
                 new Device(
                         DEVICE_ID,
+                        DEVICE_NAME,
                         DEVICE_TYPE,
                         emptyDeviceConfig,
                         DeviceOperationalStatus.DISABLED,
@@ -164,6 +166,7 @@ class AutomationServiceTest {
 
         final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b";
         final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a";
+        final var DEVICE_NAME = "deviceNameA";
         final var DEVICE_TYPE = "ztp";
 
         final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4);
@@ -203,6 +206,7 @@ class AutomationServiceTest {
         final var device =
                 new Device(
                         DEVICE_ID,
+                        DEVICE_NAME,
                         DEVICE_TYPE,
                         emptyDeviceConfig,
                         DeviceOperationalStatus.ENABLED,
@@ -282,6 +286,7 @@ class AutomationServiceTest {
         final var deviceRole = Automation.DeviceRole.newBuilder().setDevRoleId(deviceRoleId).build();
         final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b";
         final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a";
+        final var DEVICE_NAME = "deviceNameA";
         final var DEVICE_TYPE = "ztp";
 
         final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4);
@@ -321,6 +326,7 @@ class AutomationServiceTest {
         final var device =
                 new Device(
                         DEVICE_ID,
+                        DEVICE_NAME,
                         DEVICE_TYPE,
                         emptyDeviceConfig,
                         DeviceOperationalStatus.ENABLED,
diff --git a/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java b/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java
index 6f8834a1f68e96d3f0be38f8d918ad1be7d391e9..b062148f30468972f86ae5577727111fe875d5e6 100644
--- a/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java
+++ b/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java
@@ -92,7 +92,7 @@ class ContextSubscriberTest {
 
         contextSubscriber.listenForDeviceEvents();
 
-        verify(automationService, times(0)).addDevice(deviceId);
+        // verify(automationService, times(0)).addDevice(deviceId);
     }
 
     @Test
diff --git a/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java b/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java
index 1161d9552e9794412d6c1ee78b89d2e2404ea3d7..b8fad33764fa5ff41df91c9bc1ff464a20397fa5 100644
--- a/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java
+++ b/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java
@@ -1643,6 +1643,7 @@ class SerializerTest {
         final var deviceBuilder = ContextOuterClass.Device.newBuilder();
 
         deviceBuilder.setDeviceId(serializedDeviceId);
+        deviceBuilder.setName("deviceName");
         deviceBuilder.setDeviceType("deviceType");
         deviceBuilder.setDeviceConfig(expectedDeviceConfig);
         deviceBuilder.setDeviceOperationalStatus(serializer.serialize(DeviceOperationalStatus.ENABLED));
@@ -1654,6 +1655,7 @@ class SerializerTest {
         final var device =
                 new Device(
                         "deviceId",
+                        "deviceName",
                         "deviceType",
                         deviceConfig,
                         DeviceOperationalStatus.ENABLED,
@@ -1714,6 +1716,7 @@ class SerializerTest {
         final var expectedDevice =
                 new Device(
                         "deviceId",
+                        "deviceName",
                         "deviceType",
                         expectedConfig,
                         DeviceOperationalStatus.ENABLED,
@@ -1744,6 +1747,7 @@ class SerializerTest {
 
         final var deviceBuilder = ContextOuterClass.Device.newBuilder();
         deviceBuilder.setDeviceId(serializedDeviceId);
+        deviceBuilder.setName("deviceName");
         deviceBuilder.setDeviceType("deviceType");
         deviceBuilder.setDeviceConfig(deviceConfig);
         deviceBuilder.setDeviceOperationalStatus(serializedDeviceOperationalStatus);