diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/RootViewLinkHandler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/RootViewLinkHandler.java
index a8af53edb791331f6beb006f0b95bd89d8758f8d..6b1eddb06bbdde10b0b234ace883e20d2978bc65 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/RootViewLinkHandler.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/RootViewLinkHandler.java
@@ -27,12 +27,14 @@ import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Stream;
 
 import org.springframework.hateoas.EntityModel;
 import org.springframework.hateoas.Link;
 import org.springframework.hateoas.server.LinkBuilder;
 import org.springframework.stereotype.Component;
 
+import de.ozgcloud.alfa.common.FeatureToggleProperties;
 import de.ozgcloud.alfa.common.user.CurrentUserService;
 import de.ozgcloud.alfa.common.user.UserId;
 import de.ozgcloud.alfa.common.user.UserRole;
@@ -68,11 +70,12 @@ class RootViewLinkHandler {
 
 	static final int PAGE_SIZE = 100;
 
+	private static final List<VorgangStatus> STATUS_LIST = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
+			VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN, VorgangStatus.WEITERGELEITET);
+
 	private final CurrentUserService currentUserService;
 	private final SystemStatusService systemStatusService;
-
-	private final List<VorgangStatus> statusList = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
-			VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN);
+	private final FeatureToggleProperties featureToggleProperties;
 
 	public void addViewLinks(EntityModel<Root> model, Optional<UserId> userId) {
 		model.add(buildGetAllVorgaengeLink());
@@ -158,7 +161,7 @@ class RootViewLinkHandler {
 	}
 
 	void addVorgangStatusLinks(EntityModel<Root> model, String linkRelTemplate) {
-		statusList.forEach(status -> model.add(buildGetAllVorgaengeByStatus(status, linkRelTemplate)));
+		getVorgangStatuses().forEach(status -> model.add(buildGetAllVorgaengeByStatus(status, linkRelTemplate)));
 	}
 
 	Link buildGetAllVorgaengeByStatus(VorgangStatus status, String linkRelTemplate) {
@@ -175,7 +178,11 @@ class RootViewLinkHandler {
 	}
 
 	List<Link> buildVorgangStatusLinks(String linkRelTemplate, UserId userId) {
-		return statusList.stream().map(status -> buildGetAllVorgaengeByAssignedToAndStatus(status, linkRelTemplate, userId)).toList();
+		return getVorgangStatuses().map(status -> buildGetAllVorgaengeByAssignedToAndStatus(status, linkRelTemplate, userId)).toList();
+	}
+
+	Stream<VorgangStatus> getVorgangStatuses() {
+		return STATUS_LIST.stream().filter(status -> status != VorgangStatus.WEITERGELEITET || featureToggleProperties.isForwardByOzgCloudEnabled());
 	}
 
 	Link buildGetAllVorgaengeByAssignedToAndStatus(VorgangStatus status, String linkRelTemplate, UserId userId) {
@@ -214,4 +221,5 @@ class RootViewLinkHandler {
 				.getAllByAssignedToAndUngeleseneNachrichten(0, PAGE_SIZE, userId, VorgangController.PARAM_NACHRICHTEN_UNGELESENE))
 						.withRel(linkRel);
 	}
+
 }
\ No newline at end of file
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java
index 6f0a4929e00ed92387cf4cf0d7394ce698a2dd07..852c8cfc857519ad795c68c9c81930f6728e4800 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java
@@ -39,4 +39,5 @@ class ByStatus {
 	private int abgeschlossen;
 	private int verworfen;
 	private int zuLoeschen;
+	private int weitergeleitet;
 }
\ 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 9e8cbd8c31459b379a51b42b5334c9babb2bcf07..57b9c2e7c56f6c53b3027d44972243c109c7ab39 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
@@ -28,26 +28,27 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import de.ozgcloud.alfa.common.FeatureToggleProperties;
 import de.ozgcloud.alfa.common.user.CurrentUserService;
 import de.ozgcloud.alfa.common.user.UserRole;
 import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus;
+import lombok.RequiredArgsConstructor;
 
 @Service
+@RequiredArgsConstructor
 class StatisticService {
 
-	static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN,
-			VorgangStatus.IN_BEARBEITUNG, VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN);
-	static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER = Collections.emptyList();
-	static final List<VorgangStatus> COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER = Collections.emptyList();
+	private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN,
+			VorgangStatus.IN_BEARBEITUNG, VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN,
+			VorgangStatus.WEITERGELEITET);
+	private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER = Collections.emptyList();
+	private static final List<VorgangStatus> COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER = Collections.emptyList();
 
-	@Autowired
-	private StatisticRemoteService remoteService;
-
-	@Autowired
-	private CurrentUserService currentUserService;
+	private final StatisticRemoteService remoteService;
+	private final CurrentUserService currentUserService;
+	private final FeatureToggleProperties featureToggleProperties;
 
 	public Statistic getVorgaengeStatistic() {
 		var response = remoteService.getVorgaengeStatistics(getCountByVorgangStatusList());
@@ -56,7 +57,7 @@ class StatisticService {
 
 	List<VorgangStatus> getCountByVorgangStatusList() {
 		if (currentUserService.hasRole(UserRole.VERWALTUNG_USER)) {
-			return COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER;
+			return getVerwaltungUserStatuses();
 		}
 		if (currentUserService.hasRole(UserRole.VERWALTUNG_POSTSTELLE)) {
 			return COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER;
@@ -80,6 +81,7 @@ class StatisticService {
 						.verworfen(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.VERWORFEN)))
 						.inBearbeitung(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.IN_BEARBEITUNG)))
 						.zuLoeschen(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.ZU_LOESCHEN)))
+						.weitergeleitet(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.WEITERGELEITET)))
 						.build())
 				.build();
 	}
@@ -91,4 +93,10 @@ class StatisticService {
 	private boolean getBooleanResult(Map<String, StatisticResult> response, String resultName) {
 		return Optional.ofNullable(response.get(resultName)).map(StatisticResult::getBoolValue).orElse(false);
 	}
+
+	List<VorgangStatus> getVerwaltungUserStatuses() {
+		return COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER.stream()
+				.filter(status -> status != VorgangStatus.WEITERGELEITET || featureToggleProperties.isForwardByOzgCloudEnabled())
+				.toList();
+	}
 }
\ No newline at end of file
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/LinkTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/LinkTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..011dd9db09c4aa8690dee42d024244373bebf9b5
--- /dev/null
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/LinkTestFactory.java
@@ -0,0 +1,19 @@
+package de.ozgcloud.alfa;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+import org.springframework.hateoas.Link;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+public class LinkTestFactory {
+
+	public static Link create() {
+		return Link.of(LoremIpsum.getInstance().getUrl());
+	}
+
+	public static List<Link> createList(int size) {
+		return Stream.iterate(0, i -> i + 1).limit(size).map(i -> create()).toList();
+	}
+}
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/RootViewLinkHandlerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/RootViewLinkHandlerTest.java
index 6f0e2b655828b4283ba6947fbc81dedeb0783ffd..02d0843e8e8ebdd8673b51a9205435e1c09e1ca4 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/RootViewLinkHandlerTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/RootViewLinkHandlerTest.java
@@ -27,6 +27,7 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.util.List;
 import java.util.Optional;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -36,6 +37,7 @@ 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.AdditionalAnswers;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
@@ -45,6 +47,7 @@ import org.springframework.hateoas.LinkRelation;
 
 import com.thedeanda.lorem.LoremIpsum;
 
+import de.ozgcloud.alfa.common.FeatureToggleProperties;
 import de.ozgcloud.alfa.common.user.CurrentUserService;
 import de.ozgcloud.alfa.common.user.UserId;
 import de.ozgcloud.alfa.common.user.UserProfileTestFactory;
@@ -61,6 +64,8 @@ class RootViewLinkHandlerTest {
 	private CurrentUserService currentUserService;
 	@Mock
 	private SystemStatusService systemStatusService;
+	@Mock
+	private FeatureToggleProperties featureToggleProperties;
 
 	@DisplayName("Add view links")
 	@Nested
@@ -211,7 +216,7 @@ class RootViewLinkHandlerTest {
 			}
 
 			@Test
-			void shouldCallAddVorgangStatusLinks() {
+			void shouldCallAddAllVorgangStatusLinks() {
 				viewLinkHandler.addViewLinksForVerwaltungUser(model, Optional.of(UserProfileTestFactory.ID));
 
 				verify(viewLinkHandler).addAllVorgangStatusLinks(model);
@@ -433,29 +438,76 @@ class RootViewLinkHandlerTest {
 		class TestBuildVorgangStatusLinks {
 
 			private final UserId userId = UserProfileTestFactory.ID;
+			private final List<VorgangStatus> statuses = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN);
+
+			@BeforeEach
+			void mock() {
+				doReturn(statuses.stream()).when(viewLinkHandler).getVorgangStatuses();
+			}
 
 			@Test
-			void shouldCallBuildVorgangListByPageLink() {
+			void shouldCallGetVorgangStatuses() {
 				viewLinkHandler.buildVorgangStatusLinks(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE, UserProfileTestFactory.ID);
 
-				verify(viewLinkHandler, times(7)).buildGetAllVorgaengeByAssignedToAndStatus(
-						any(VorgangStatus.class),
-						eq(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE),
-						eq(userId));
+				verify(viewLinkHandler).getVorgangStatuses();
 			}
 
 			@Test
-			void shouldCallFormatLinkRelTemplate() {
+			void shouldCallBuildVorgangListByPageLink() {
 				viewLinkHandler.buildVorgangStatusLinks(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE, UserProfileTestFactory.ID);
 
-				verify(viewLinkHandler, times(7)).formatLinkRelTemplate(eq(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE), any(VorgangStatus.class));
+				statuses.forEach(status -> verify(viewLinkHandler).buildGetAllVorgaengeByAssignedToAndStatus(status,
+						RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE, userId));
 			}
 
 			@Test
-			void shouldBuildLinks() {
+			void shouldReturnLinks() {
+				var expectedLinks = LinkTestFactory.createList(statuses.size());
+				doAnswer(AdditionalAnswers.returnsElementsOf(expectedLinks)).when(viewLinkHandler).buildGetAllVorgaengeByAssignedToAndStatus(any(),
+						any(), any());
+
 				var links = viewLinkHandler.buildVorgangStatusLinks(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE, UserProfileTestFactory.ID);
 
-				assertThat(links).hasSize(7);
+				assertThat(links).containsExactlyInAnyOrderElementsOf(expectedLinks);
+			}
+		}
+
+		@DisplayName("build get all vorgaenge by assignedTo and status")
+		@Nested
+		class TestBuildGetAllVorgaengeByAssignedToAndStatus {
+
+			@ParameterizedTest
+			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
+					"ZU_LOESCHEN", "WEITERGELEITET" })
+			void shouldCallFormatLinkRelTemplate(VorgangStatus status) {
+				viewLinkHandler.buildGetAllVorgaengeByAssignedToAndStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE,
+						UserProfileTestFactory.ID);
+
+				verify(viewLinkHandler).formatLinkRelTemplate(RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE, status);
+			}
+
+			@ParameterizedTest
+			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
+					"ZU_LOESCHEN", "WEITERGELEITET" })
+			void shouldAddByAssignedToAndStatus(VorgangStatus status) {
+				var link = viewLinkHandler.buildGetAllVorgaengeByAssignedToAndStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE,
+						UserProfileTestFactory.ID);
+
+				assertThat(link.getHref()).isEqualTo(
+						"/api/vorgangs?page=0&limit=100&assignedTo=" + UserProfileTestFactory.ID.toString() + "&status=" + status.toString());
+			}
+
+			@ParameterizedTest
+			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
+					"ZU_LOESCHEN", "WEITERGELEITET" })
+			void shouldHaveFormattedRelation(VorgangStatus status) {
+				var expectedRelation = LoremIpsum.getInstance().getWords(1);
+				doReturn(expectedRelation).when(viewLinkHandler).formatLinkRelTemplate(any(), any());
+
+				var link = viewLinkHandler.buildGetAllVorgaengeByAssignedToAndStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE,
+						UserProfileTestFactory.ID);
+
+				assertThat(link.getRel()).isEqualTo(LinkRelation.of(expectedRelation));
 			}
 		}
 
@@ -465,7 +517,7 @@ class RootViewLinkHandlerTest {
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
+					"ZU_LOESCHEN", "WEITERGELEITET" })
 			void shouldCallFormatLinkRelTemplateWithAllVorgaengeTemplate(VorgangStatus status) {
 				var linkRel = viewLinkHandler.formatLinkRelTemplate(RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE, status);
 
@@ -474,7 +526,7 @@ class RootViewLinkHandlerTest {
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
+					"ZU_LOESCHEN", "WEITERGELEITET" })
 			void shouldCallFormatLinkRelTemplateWithMyVorgaengeTemplate(VorgangStatus status) {
 				var linkRel = viewLinkHandler.formatLinkRelTemplate(RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE, status);
 
@@ -483,7 +535,7 @@ class RootViewLinkHandlerTest {
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
+					"ZU_LOESCHEN", "WEITERGELEITET" })
 			void shouldCallFormatLinkRelTemplateWithUnassignedVorgaengeTemplate(VorgangStatus status) {
 				var linkRel = viewLinkHandler.formatLinkRelTemplate(RootViewLinkHandler.VORGAENGE_UNASSIGNED_REL_TEMPLATE, status);
 
@@ -493,33 +545,38 @@ class RootViewLinkHandlerTest {
 
 		@DisplayName("build get all vorgaenge by status")
 		@Nested
-		class TestBuildGetAllByStatus {
+		class TestBuildGetAllVorgaengeByStatus {
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
+					"ZU_LOESCHEN", "WEITERGELEITET" })
 			void shouldAddByStatus(VorgangStatus status) {
 				var link = viewLinkHandler.buildGetAllVorgaengeByStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE);
 
 				assertThat(link.getHref()).isEqualTo("/api/vorgangs?page=0&limit=100&status=" + status.toString());
 			}
 
-		}
+			@ParameterizedTest
+			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
+					"ZU_LOESCHEN", "WEITERGELEITET" })
+			void shouldCallFormatLinkRelTemplate(VorgangStatus status) {
+				viewLinkHandler.buildGetAllVorgaengeByStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE);
 
-		@DisplayName("build get all vorgaenge by assignedTo and status")
-		@Nested
-		class TestBuildGetAllVorgaengeByAssignedToAndStatus {
+				verify(viewLinkHandler).formatLinkRelTemplate(RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE, status);
+			}
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
-			void shouldAddByAssignedToAndStatus(VorgangStatus status) {
-				var link = viewLinkHandler.buildGetAllVorgaengeByAssignedToAndStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE,
-						UserProfileTestFactory.ID);
+					"ZU_LOESCHEN", "WEITERGELEITET" })
+			void shouldHaveFormattedRelation(VorgangStatus status) {
+				var expectedRelation = LoremIpsum.getInstance().getWords(1);
+				doReturn(expectedRelation).when(viewLinkHandler).formatLinkRelTemplate(any(), any());
 
-				assertThat(link.getHref()).isEqualTo(
-						"/api/vorgangs?page=0&limit=100&assignedTo=" + UserProfileTestFactory.ID.toString() + "&status=" + status.toString());
+				var link = viewLinkHandler.buildGetAllVorgaengeByStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE);
+
+				assertThat(link.getRel()).isEqualTo(LinkRelation.of(expectedRelation));
 			}
+
 		}
 
 		@DisplayName("build get all unassigned vorgaenge by status")
@@ -528,7 +585,7 @@ class RootViewLinkHandlerTest {
 
 			@ParameterizedTest
 			@EnumSource(mode = Mode.INCLUDE, names = { "NEU", "ANGENOMMEN", "IN_BEARBEITUNG", "BESCHIEDEN", "ABGESCHLOSSEN", "VERWORFEN",
-					"ZU_LOESCHEN" })
+					"ZU_LOESCHEN", "WEITERGELEITET" })
 			void shouldAddByUnassignedToAndStatus(VorgangStatus status) {
 				var link = viewLinkHandler.buildGetAllVorgaengeByAssignedToAndStatus(status, RootViewLinkHandler.VORGAENGE_MY_REL_TEMPLATE,
 						UserId.empty());
@@ -706,4 +763,90 @@ class RootViewLinkHandlerTest {
 		}
 
 	}
+
+	@Nested
+	class TestAddVorgangStatusLinks {
+
+		private final EntityModel<Root> model = EntityModel.of(RootTestFactory.create());
+		private final List<VorgangStatus> vorgangStatuses = List.of(VorgangStatus.NEU, VorgangStatus.BESCHIEDEN);
+		private final List<Link> links = LinkTestFactory.createList(vorgangStatuses.size());
+
+		@BeforeEach
+		void mock() {
+			doReturn(vorgangStatuses.stream()).when(viewLinkHandler).getVorgangStatuses();
+			doAnswer(AdditionalAnswers.returnsElementsOf(links)).when(viewLinkHandler).buildGetAllVorgaengeByStatus(any(), any());
+		}
+
+		@Test
+		void shouldCallGetVorgangStatuses() {
+			viewLinkHandler.addVorgangStatusLinks(model, RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE);
+
+			verify(viewLinkHandler).getVorgangStatuses();
+		}
+
+		@Test
+		void shouldCallBuildGetAllVorgaengeByStatus() {
+			viewLinkHandler.addVorgangStatusLinks(model, RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE);
+
+			vorgangStatuses
+					.forEach(status -> verify(viewLinkHandler).buildGetAllVorgaengeByStatus(status, RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE));
+		}
+
+		@Test
+		void shouldAddLinksToModel() {
+			viewLinkHandler.addVorgangStatusLinks(model, RootViewLinkHandler.VORGAENGE_ALL_REL_TEMPLATE);
+
+			assertThat(model.getLinks()).containsExactlyInAnyOrderElementsOf(links);
+		}
+	}
+
+	@Nested
+	class TestGetVorgangStatuses {
+
+		@Test
+		void shouldCallFeatureToggleProperties() {
+			viewLinkHandler.getVorgangStatuses().toList();
+
+			verify(featureToggleProperties).isForwardByOzgCloudEnabled();
+		}
+
+		@Nested
+		class TestOnIsForwardByOzgCloudEnabled {
+
+			@BeforeEach
+			void mock() {
+				when(featureToggleProperties.isForwardByOzgCloudEnabled()).thenReturn(true);
+			}
+
+			@Test
+			void shouldReturnStream() {
+				var expectedStatuses = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
+						VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN,
+						VorgangStatus.WEITERGELEITET);
+
+				var stream = viewLinkHandler.getVorgangStatuses();
+
+				assertThat(stream).containsExactlyInAnyOrderElementsOf(expectedStatuses);
+			}
+		}
+
+		@Nested
+		class TestOnIsNotForwardByOzgCloudEnabled {
+
+			@BeforeEach
+			void mock() {
+				when(featureToggleProperties.isForwardByOzgCloudEnabled()).thenReturn(false);
+			}
+
+			@Test
+			void shouldReturnStream() {
+				var expectedStatuses = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
+						VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN);
+
+				var stream = viewLinkHandler.getVorgangStatuses();
+
+				assertThat(stream).containsExactlyInAnyOrderElementsOf(expectedStatuses);
+			}
+		}
+	}
 }
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 61204730a5b571ba703774b95289d9e18a67ff7c..58ef88e6ca343dbdb02a510919ccb304058def9e 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
@@ -24,12 +24,12 @@
 package de.ozgcloud.alfa.statistic;
 
 import static de.ozgcloud.alfa.statistic.StatisticRemoteService.*;
-import static de.ozgcloud.alfa.statistic.StatisticService.*;
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -39,6 +39,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
+import de.ozgcloud.alfa.common.FeatureToggleProperties;
 import de.ozgcloud.alfa.common.user.CurrentUserService;
 import de.ozgcloud.alfa.common.user.UserRole;
 import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus;
@@ -52,6 +53,8 @@ class StatisticServiceTest {
 	private StatisticRemoteService remoteService;
 	@Mock
 	private CurrentUserService currentUserService;
+	@Mock
+	private FeatureToggleProperties featureToggleProperties;
 
 	@Nested
 	class TestBuildGetVorgaengeStatisticResult {
@@ -155,6 +158,15 @@ class StatisticServiceTest {
 			assertThat(statistic.getByStatus().getZuLoeschen()).isEqualTo(StatisticResultTestFactory.INT_VALUE);
 		}
 
+		@Test
+		void shouldContainCountByStatusWeitergeleitet() {
+			var statistic = service.buildGetVorgaengeStatisticResult(Map.of(
+					String.format(COUNT_VORGANG_STATUS_RESULT_NAME_FORMAT, VorgangStatus.WEITERGELEITET.name()),
+					StatisticResultTestFactory.create()));
+
+			assertThat(statistic.getByStatus().getWeitergeleitet()).isEqualTo(StatisticResultTestFactory.INT_VALUE);
+		}
+
 		@Test
 		void shouldContainDefaultCountByStatus() {
 			var statistic = service.buildGetVorgaengeStatisticResult(Map.of());
@@ -174,13 +186,25 @@ class StatisticServiceTest {
 	@Nested
 	class TestGetCountByVorgangStatusList {
 
+		private static final List<VorgangStatus> VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN);
+
+		@Test
+		void shouldCallGetVerwaltungUserStatuses() {
+			when(currentUserService.hasRole(UserRole.VERWALTUNG_USER)).thenReturn(true);
+
+			service.getCountByVorgangStatusList();
+
+			verify(service).getVerwaltungUserStatuses();
+		}
+
 		@Test
-		void shouldGetForVerwalungUser() {
+		void shouldReturnVerwaltungUserStatuses() {
 			when(currentUserService.hasRole(UserRole.VERWALTUNG_USER)).thenReturn(true);
+			doReturn(VORGANG_STATUS_VERWALTUNG_USER).when(service).getVerwaltungUserStatuses();
 
 			var result = service.getCountByVorgangStatusList();
 
-			assertThat(result).containsAll(COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER);
+			assertThat(result).containsAll(VORGANG_STATUS_VERWALTUNG_USER);
 		}
 
 		@Test
@@ -190,7 +214,7 @@ class StatisticServiceTest {
 
 			var result = service.getCountByVorgangStatusList();
 
-			assertThat(result).containsAll(COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER);
+			assertThat(result).containsAll(Collections.emptyList());
 		}
 
 		@Test
@@ -201,7 +225,7 @@ class StatisticServiceTest {
 
 			var result = service.getCountByVorgangStatusList();
 
-			assertThat(result).containsAll(COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER);
+			assertThat(result).containsAll(Collections.emptyList());
 		}
 
 		@Test
@@ -222,6 +246,7 @@ class StatisticServiceTest {
 		private final Statistic statistic = StatisticTestFactory.create();
 		private final Map<String, StatisticResult> getVorgangStatisticsResponse = Map.of(COUNT_WIEDERVORLAGE_NEXT_FRIST_RESULT_NAME,
 				StatisticResultTestFactory.create());
+		private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU);
 
 		@BeforeEach
 		void beforeEach() {
@@ -258,4 +283,54 @@ class StatisticServiceTest {
 			assertThat(result).isEqualTo(statistic);
 		}
 	}
+
+	@Nested
+	class TestGetVorgangStatuses {
+
+		@Test
+		void shouldCallFeatureToggleProperties() {
+			service.getVerwaltungUserStatuses();
+
+			verify(featureToggleProperties).isForwardByOzgCloudEnabled();
+		}
+
+		@Nested
+		class TestOnIsForwardByOzgCloudEnabled {
+
+			@BeforeEach
+			void mock() {
+				when(featureToggleProperties.isForwardByOzgCloudEnabled()).thenReturn(true);
+			}
+
+			@Test
+			void shouldReturnStream() {
+				var expectedStatuses = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
+						VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN,
+						VorgangStatus.WEITERGELEITET);
+
+				var stream = service.getVerwaltungUserStatuses();
+
+				assertThat(stream).containsExactlyInAnyOrderElementsOf(expectedStatuses);
+			}
+		}
+
+		@Nested
+		class TestOnIsNotForwardByOzgCloudEnabled {
+
+			@BeforeEach
+			void mock() {
+				when(featureToggleProperties.isForwardByOzgCloudEnabled()).thenReturn(false);
+			}
+
+			@Test
+			void shouldReturnStream() {
+				var expectedStatuses = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, VorgangStatus.IN_BEARBEITUNG,
+						VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN);
+
+				var stream = service.getVerwaltungUserStatuses();
+
+				assertThat(stream).containsExactlyInAnyOrderElementsOf(expectedStatuses);
+			}
+		}
+	}
 }