diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/Statistic.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/Statistic.java
index 2a17cc875696000782390062587d6e91474db53f..855d2ef1c57c58cc69cebffe7fb37facf972a25f 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/Statistic.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/Statistic.java
@@ -12,4 +12,5 @@ public class Statistic {
 	private ByStatus byStatus;
 	private int wiedervorlagen;
 	private boolean existsWiedervorlageOverdue;
+	private int ungeleseneNachrichten;
 }
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java
index cd508d6198827251fd4f661a7e0a4815570fa898..a2cb6eede0078e730bfb682a6fc222db8897a740 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java
@@ -25,9 +25,11 @@ class StatisticRemoteService {
 	static final String COUNT_VORGANG_STATUS_RESULT_NAME_FORMAT = "countVorgangStatus_%s";
 	static final String COUNT_WIEDERVORLAGE_NEXT_FRIST_RESULT_NAME = "countWiedervorlage";
 	static final String EXISTS_WIEDERVORLAGE_OVERDUE_RESULT_NAME = "existsWiedervorlageOverdue";
+	static final String COUNT_VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_RESULT_NAME = "countVorgaengeWithUngeleseneNachrichten";
 
 	static final String STATUS_PATH = "Vorgang.status";
 	static final String WIEDERVORLAGE_NEXT_FRIST_PATH_TEMPLATE = "ClientAttribute.%s.nextWiedervorlageFrist";
+	static final String VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_PATH = "ClientAttribute.OzgCloud_NachrichtenManager.hasNewPostfachNachricht";
 
 	static final String OPERAND_TODAY_DATE = "today()";
 
@@ -43,6 +45,7 @@ class StatisticRemoteService {
 				.addAllQuery(buildCountByStatusQueries(countByVorgangStatus))
 				.addQuery(buildCountWiedervorlageNextFristQuery())
 				.addQuery(buildExistsWiedervorlageOverdueQuery())
+				.addQuery(buildCountVorgaengeWithUngeleseneNachrichtenQuery())
 				.build();
 
 		var grpcResponse = statisticServiceStub.getVorgangStatistic(grpcRequest);
@@ -93,4 +96,14 @@ class StatisticRemoteService {
 				.map(mapper::toResult)
 				.collect(Collectors.toMap(StatisticResult::getName, Function.identity()));
 	}
+
+	public GrpcVorgangStatisticQuery buildCountVorgaengeWithUngeleseneNachrichtenQuery() {
+		return GrpcVorgangStatisticQuery.newBuilder()
+				.setResultName(COUNT_VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_RESULT_NAME)
+				.setPath(VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_PATH)
+				.setGroupMethod(GroupMethod.COUNT)
+				.setOperator(Operator.EQUAL)
+				.setOperandBoolValue(true)
+				.build();
+	}
 }
\ No newline at end of file
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java
index 68b9ab06c4d73f5b6810035b9b1312a6d3edbd2c..6b88ba78d635f291e3db330f661119f131ceb019 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java
@@ -48,6 +48,7 @@ class StatisticService {
 		return Statistic.builder()
 				.existsWiedervorlageOverdue(getBooleanResult(response, StatisticRemoteService.EXISTS_WIEDERVORLAGE_OVERDUE_RESULT_NAME))
 				.wiedervorlagen(getIntResult(response, StatisticRemoteService.COUNT_WIEDERVORLAGE_NEXT_FRIST_RESULT_NAME))
+				.ungeleseneNachrichten(getIntResult(response, StatisticRemoteService.COUNT_VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_RESULT_NAME))
 				.byStatus(ByStatus.builder()
 						.neu(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.NEU)))
 						.abgeschlossen(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.ABGESCHLOSSEN)))
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/GrpcVorgangStatisticQueryTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/GrpcVorgangStatisticQueryTestFactory.java
index 0d26d330dc055948cec844b3cfd851f4adf72fd5..517f2f4495241c63259375ad45e7e6389b120f67 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/GrpcVorgangStatisticQueryTestFactory.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/GrpcVorgangStatisticQueryTestFactory.java
@@ -1,14 +1,19 @@
 package de.ozgcloud.alfa.statistic;
 
+import com.thedeanda.lorem.LoremIpsum;
+
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticQuery;
 
 public class GrpcVorgangStatisticQueryTestFactory {
 
+	public static final String RESULT_NAME = LoremIpsum.getInstance().getWords(1);
+
 	public static GrpcVorgangStatisticQuery create() {
 		return createBuilder().build();
 	}
 
 	public static GrpcVorgangStatisticQuery.Builder createBuilder() {
-		return GrpcVorgangStatisticQuery.newBuilder();
+		return GrpcVorgangStatisticQuery.newBuilder()
+				.setResultName(RESULT_NAME);
 	}
 }
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java
index 5716d65c2197741fbf8d03e498f3b283e398cc17..c46fcf4d906019549f29b03431768834a11ddf5d 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java
@@ -15,6 +15,8 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.EnumSource;
 import org.junit.jupiter.params.provider.EnumSource.Mode;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
@@ -26,6 +28,7 @@ import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus;
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticQuery;
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticQuery.GroupMethod;
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticQuery.Operator;
+import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticRequest;
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticResponse;
 import de.ozgcloud.vorgang.statistic.GrpcVorgangStatisticResult;
 import de.ozgcloud.vorgang.statistic.StatisticServiceGrpc.StatisticServiceBlockingStub;
@@ -190,12 +193,20 @@ class StatisticRemoteServiceTest {
 	class TestGetVorgaengeStatistics {
 
 		private final GrpcVorgangStatisticResponse response = GrpcVorgangStatisticResponseTestFactory.create();
+		private final GrpcVorgangStatisticQuery countVorgaengeWithUngeleseneNachrichtenQuery = GrpcVorgangStatisticQueryTestFactory.createBuilder()
+				.setResultName("ungelesene nachrichten").build();
+		private final GrpcVorgangStatisticQuery existsWiedervorlageOverdueQuery = GrpcVorgangStatisticQueryTestFactory.createBuilder()
+				.setResultName("exists overdue").build();
+
+		@Captor
+		private ArgumentCaptor<GrpcVorgangStatisticRequest> grpcRequestCaptor;
 
 		@BeforeEach
 		void beforeEach() {
 			when(serviceStub.getVorgangStatistic(any())).thenReturn(response);
 
-			doReturn(GrpcVorgangStatisticQueryTestFactory.create()).when(service).buildExistsWiedervorlageOverdueQuery();
+			doReturn(existsWiedervorlageOverdueQuery).when(service).buildExistsWiedervorlageOverdueQuery();
+			doReturn(countVorgaengeWithUngeleseneNachrichtenQuery).when(service).buildCountVorgaengeWithUngeleseneNachrichtenQuery();
 		}
 
 		@Test
@@ -232,6 +243,21 @@ class StatisticRemoteServiceTest {
 
 			verify(service).buildStatisticResult(response);
 		}
+
+		@Test
+		void shouldCallBuildCountVorgaengeWithUngeleseneNachrichtenQuery() {
+			service.getVorgaengeStatistics(STATUSES_TO_COUNT);
+
+			verify(service).buildCountVorgaengeWithUngeleseneNachrichtenQuery();
+		}
+
+		@Test
+		void shouldAddCountVorgaengeWithUngeleseneNachrichtenQuery() {
+			service.getVorgaengeStatistics(STATUSES_TO_COUNT);
+
+			verify(serviceStub).getVorgangStatistic(grpcRequestCaptor.capture());
+			assertThat(grpcRequestCaptor.getValue().getQueryList()).contains(countVorgaengeWithUngeleseneNachrichtenQuery);
+		}
 	}
 
 	@Nested
@@ -270,4 +296,47 @@ class StatisticRemoteServiceTest {
 					.hasEntrySatisfying(RESULT_NAME, statisticResult -> assertThat(statisticResult.getIntValue()).isEqualTo(RESULT_INT));
 		}
 	}
+
+	@Nested
+	class TestBuildCountVorgaengeWithUngeleseneNachrichtenQuery {
+
+		@Test
+		void shouldHaveResultName() {
+			var query = callService();
+
+			assertThat(query.getResultName()).isEqualTo(COUNT_VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_RESULT_NAME);
+		}
+
+		@Test
+		void shouldHavePath() {
+			var query = callService();
+
+			assertThat(query.getPath()).isEqualTo(VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_PATH);
+		}
+
+		@Test
+		void shouldHaveGroupingMethod() {
+			var query = callService();
+
+			assertThat(query.getGroupMethod()).isEqualTo(GroupMethod.COUNT);
+		}
+
+		@Test
+		void shouldHaveOperator() {
+			var query = callService();
+
+			assertThat(query.getOperator()).isEqualTo(Operator.EQUAL);
+		}
+
+		@Test
+		void shouldHaveOperandValue() {
+			var query = callService();
+
+			assertThat(query.getOperandBoolValue()).isTrue();
+		}
+
+		private GrpcVorgangStatisticQuery callService() {
+			return service.buildCountVorgaengeWithUngeleseneNachrichtenQuery();
+		}
+	}
 }
\ No newline at end of file
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java
index 1b030d675d4eec8e8cee9f8c2bcb0f3f83e339e1..e35e1de7fecbdcfeae02ca7e75064d40e354546d 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java
@@ -138,6 +138,14 @@ class StatisticServiceTest {
 
 			assertThat(statistic.getByStatus().getNeu()).isZero();
 		}
+
+		@Test
+		void shouldContainUngeleseneNachrichten() {
+			var statistic = service.buildGetVorgaengeStatisticResult(
+					Map.of(COUNT_VORGAENGE_WITH_UNGELESENE_NACHRICHTEN_RESULT_NAME, StatisticResultTestFactory.create()));
+
+			assertThat(statistic.getUngeleseneNachrichten()).isEqualTo(StatisticResultTestFactory.INT_VALUE);
+		}
 	}
 
 	@Nested