diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
index 7da2c36ae9157cfeec547ac98f8ec6cd9f576f6d..7a98cf91701338396eda4dba01c8e7b71c8751e4 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
@@ -41,7 +41,6 @@ import de.ozgcloud.bescheid.attacheditem.AttachedItemService;
 import de.ozgcloud.bescheid.binaryfile.BinaryFileService;
 import de.ozgcloud.bescheid.common.callcontext.CurrentUserService;
 import de.ozgcloud.bescheid.nachricht.NachrichtService;
-import de.ozgcloud.bescheid.smartdocuments.SmartDocumentsProperties;
 import de.ozgcloud.bescheid.vorgang.VorgangId;
 import de.ozgcloud.command.Command;
 import de.ozgcloud.command.CommandCreatedEvent;
@@ -95,7 +94,7 @@ class BescheidEventListener {
 
 	private final ApplicationEventPublisher eventPublisher;
 	private final CurrentUserService userService;
-	private final Optional<SmartDocumentsProperties> smartDocumentsProperties;
+	private final BescheidFeatureProperties bescheidFeatureProperties;
 
 	@EventListener(condition = IS_CREATE_BESCHEID)
 	public void onCreateBescheidCommand(CommandCreatedEvent event) {
@@ -103,7 +102,7 @@ class BescheidEventListener {
 	}
 
 	void doCreateBescheid(Command command) {
-		if (isKielEnvironment()) {
+		if (bescheidFeatureProperties.isKielHackathonRoute()) {
 			var bescheid = doCreateBescheidBiz(command);
 			nachrichtService.createNachrichtDraft(bescheid);
 			eventPublisher.publishEvent(new BescheidCreatedEvent(command));
@@ -113,11 +112,6 @@ class BescheidEventListener {
 		eventPublisher.publishEvent(new BescheidCreatedEvent(command, createdItemId));
 	}
 
-	boolean isKielEnvironment() {
-		Predicate<SmartDocumentsProperties> configuredForKiel = properties -> TEMPLATE_GROUP_KIEL.equals(properties.getTemplateGroup());
-		return smartDocumentsProperties.filter(configuredForKiel).isPresent();
-	}
-
 	@EventListener(condition = IS_DELETE_BESCHEID)
 	public void onDeleteBescheid(CommandCreatedEvent event) {
 		runWithSecurityContext(event.getSource(), this::doDeleteBescheid);
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java
index 538ae8150df7b0214c8a4cfdb619d1cb1cda3305..1b0011890ab72654176613f9dfd31ec1eb41fdc8 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java
@@ -27,11 +27,15 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
 import lombok.Getter;
+import lombok.Setter;
 
 @Configuration
 @ConfigurationProperties(prefix = "ozgcloud.feature.bescheid")
 @Getter
+@Setter
 public class BescheidFeatureProperties {
 
 	private boolean storeAsDocument = false;
+
+	private boolean kielHackathonRoute = false;
 }
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
index 3728f3c86ed3f0c2896f428d0ef5b57cabb35dd6..749783d0d6158a3f8bcd3379909abe6e28d9e58c 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
@@ -26,6 +26,8 @@ class BescheidEventListenerITCase {
 
 	@Autowired
 	private ApplicationEventPublisher publisher;
+	@Autowired
+	private BescheidFeatureProperties bescheidFeatureProperties;
 
 	@MockBean
 	private BescheidService service;
@@ -49,7 +51,12 @@ class BescheidEventListenerITCase {
 	@Nested
 	class TestCreateBescheid {
 
-		private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.CREATE_BESCHEID_ORDER).build();
+		private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.CREATE_BESCHEID_ORDER).build();
+
+		@BeforeEach
+		void init() {
+			bescheidFeatureProperties.setKielHackathonRoute(true);
+		}
 
 		@Test
 		void shouldCallService() {
@@ -69,7 +76,7 @@ class BescheidEventListenerITCase {
 	@Nested
 	class TestDeleteBescheid {
 
-		private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.DELETE_BESCHEID_ORDER).build();
+		private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.DELETE_BESCHEID_ORDER).build();
 
 		@Test
 		void shouldCallService() {
@@ -89,7 +96,7 @@ class BescheidEventListenerITCase {
 	@Nested
 	class TestUpdateBescheid {
 
-		private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.UPDATE_BESCHEID_ORDER).build();
+		private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.UPDATE_BESCHEID_ORDER).build();
 
 		@Test
 		void shouldCallService() {
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
index babf3dda4bd227f6fb19bea788f0980c54faaf1a..593195a2ff36a039b2c2ee1d3e65924657d9cacb 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
@@ -7,7 +7,6 @@ import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 import java.util.Map;
-import java.util.Optional;
 import java.util.function.Consumer;
 
 import org.junit.jupiter.api.Assertions;
@@ -22,7 +21,6 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.security.core.context.SecurityContext;
-import org.springframework.test.util.ReflectionTestUtils;
 
 import de.ozgcloud.bescheid.attacheditem.AttachedItem;
 import de.ozgcloud.bescheid.attacheditem.AttachedItemService;
@@ -32,7 +30,6 @@ import de.ozgcloud.bescheid.common.callcontext.CurrentUserService;
 import de.ozgcloud.bescheid.common.callcontext.UserProfile;
 import de.ozgcloud.bescheid.common.callcontext.UserProfileTestFactory;
 import de.ozgcloud.bescheid.nachricht.NachrichtService;
-import de.ozgcloud.bescheid.smartdocuments.SmartDocumentsProperties;
 import de.ozgcloud.command.Command;
 import de.ozgcloud.command.CommandCreatedEventTestFactory;
 import de.ozgcloud.command.CommandFailedEvent;
@@ -103,7 +100,7 @@ class BescheidEventListenerTest {
 
 			@BeforeEach
 			void init() {
-				doReturn(true).when(listener).isKielEnvironment();
+				when(featureProperties.isKielHackathonRoute()).thenReturn(true);
 			}
 
 			@Test
@@ -136,11 +133,6 @@ class BescheidEventListenerTest {
 		@Nested
 		class TestNotKielConfigured {
 
-			@BeforeEach
-			void init() {
-				doReturn(false).when(listener).isKielEnvironment();
-			}
-
 			@Test
 			void shouldCallCreateBescheidDraft() {
 				listener.doCreateBescheid(COMMAND);
@@ -176,42 +168,6 @@ class BescheidEventListenerTest {
 
 	}
 
-	@Nested
-	class TestIsKielEnvironment {
-
-		@Mock
-		private SmartDocumentsProperties smartDocumentsProperties;
-
-		@Test
-		void shouldReturnTrueIfKiel() {
-			when(smartDocumentsProperties.getTemplateGroup()).thenReturn("Kiel");
-			ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.of(smartDocumentsProperties));
-
-			var result = listener.isKielEnvironment();
-
-			assertThat(result).isTrue();
-		}
-
-		@Test
-		void shouldReturnFalseIfNotConfigured() {
-			ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.empty());
-
-			var result = listener.isKielEnvironment();
-
-			assertThat(result).isFalse();
-		}
-
-		@Test
-		void shouldReturnFalseIfNotKiel() {
-			when(smartDocumentsProperties.getTemplateGroup()).thenReturn("NotKiel");
-			ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.of(smartDocumentsProperties));
-
-			var result = listener.isKielEnvironment();
-
-			assertThat(result).isFalse();
-		}
-	}
-
 	@Nested
 	class TestCreateBescheidRequest {
 
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index 0464a755bb25b31585354a835303c2d5430e0c76..a214474306bab66d3938489b9d640cff05320762 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -197,6 +197,10 @@ spec:
           - name: ozgcloud_feature_bescheid_enableDummyDocumentProcessor
             value: {{ quote (((.Values.ozgcloud).feature).bescheid).enableDummyDocumentProcessor }}
           {{- end }}
+          {{- if (((.Values.ozgcloud).feature).bescheid).kielHackathonRoute }}
+          - name: ozgcloud_feature_bescheid_kielHackathonRoute
+            value: {{ quote (((.Values.ozgcloud).feature).bescheid).kielHackathonRoute }}
+          {{- end }}
 
           {{- if (.Values.ozgcloud).processors}}
           {{- range $processor_index, $processor := (.Values.ozgcloud).processors }}
diff --git a/src/test/helm/deployment_kiel_hackathon_route_test.yaml b/src/test/helm/deployment_kiel_hackathon_route_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f7879e4739ff4b8a6c67770701492f7210790ce7
--- /dev/null
+++ b/src/test/helm/deployment_kiel_hackathon_route_test.yaml
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
+# Ministerpräsidenten des Landes Schleswig-Holstein
+# Staatskanzlei
+# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+#
+# Lizenziert unter der EUPL, Version 1.2 oder - sobald
+# diese von der Europäischen Kommission genehmigt wurden -
+# Folgeversionen der EUPL ("Lizenz");
+# Sie dürfen dieses Werk ausschließlich gemäß
+# dieser Lizenz nutzen.
+# Eine Kopie der Lizenz finden Sie hier:
+#
+# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+#
+# Sofern nicht durch anwendbare Rechtsvorschriften
+# gefordert oder in schriftlicher Form vereinbart, wird
+# die unter der Lizenz verbreitete Software "so wie sie
+# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+# ausdrücklich oder stillschweigend - verbreitet.
+# Die sprachspezifischen Genehmigungen und Beschränkungen
+# unter der Lizenz sind dem Lizenztext zu entnehmen.
+#
+
+suite: deployment toggle to activate kiel hackathon route
+release:
+  name: vorgang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:
+  imagePullSecret: image-pull-secret
+  ozgcloud:
+    environment: dev
+    feature:
+      bescheid:
+        kielHackathonRoute: true
+tests:
+  - it: should enable kiel hackathon toggle
+    asserts:
+      - contains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: ozgcloud_feature_bescheid_kielHackathonRoute
+            value: "true"