diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationService.java
new file mode 100644
index 0000000000000000000000000000000000000000..cbccfedbf7f8c8279fba415c1b0e8eca195ced0d
--- /dev/null
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationService.java
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package de.ozgcloud.vorgang.collaboration;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class CollaborationService {
+
+	public String createCollaborationVorgang(CollaborationRequest request) {
+		return "collaboration-vorgang-id";
+	}
+}
diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangService.java
index e3d2e963109c4246e2563943d7e89a8b1329fb25..ae61d19be4c643b9a22af13d4289f2011af20013 100644
--- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangService.java
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangService.java
@@ -25,6 +25,8 @@ package de.ozgcloud.vorgang.vorgang;
 
 import org.springframework.data.domain.Page;
 
+import de.ozgcloud.vorgang.collaboration.CollaborationRequestMapper;
+import de.ozgcloud.vorgang.collaboration.CollaborationService;
 import io.grpc.stub.StreamObserver;
 import lombok.RequiredArgsConstructor;
 import net.devh.boot.grpc.server.service.GrpcService;
@@ -42,6 +44,8 @@ class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase {
 	private final FilterByMapper filterByMapper;
 	private final IncomingFileMapper incomingFileMapper;
 	private final IncomingFileGroupMapper incomingFileGroupMapper;
+	private final CollaborationService collaborationService;
+	private final CollaborationRequestMapper collaborationRequestMapper;
 
 	@Override
 	public void startCreation(GrpcCreateVorgangRequest request, StreamObserver<GrpcCreateVorgangResponse> responseObserver) {
@@ -109,7 +113,13 @@ class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase {
 	@Override
 	public void createCollaborationVorgang(GrpcCreateCollaborationVorgangRequest request,
 			StreamObserver<GrpcCreateCollaborationVorgangResponse> responseObserver) {
-		responseObserver.onNext(GrpcCreateCollaborationVorgangResponse.newBuilder().build());
+		if (request.hasCollaborationRequest()) {
+			var collaborationRequest = collaborationRequestMapper.mapFrom(request.getCollaborationRequest());
+			var collaborationVorgangId = collaborationService.createCollaborationVorgang(collaborationRequest);
+			responseObserver.onNext(GrpcCreateCollaborationVorgangResponse.newBuilder().setVorgangId(collaborationVorgangId).build());
+		} else {
+			responseObserver.onNext(GrpcCreateCollaborationVorgangResponse.newBuilder().build());
+		}
 		responseObserver.onCompleted();
 	}
 }
\ No newline at end of file
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangServiceTest.java
index e5b69c0882cab8ca25c093d510dcbc9a91791155..4934bc48fc97d00281c24368c22d473aa5bf5804 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangServiceTest.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/GrpcVorgangServiceTest.java
@@ -41,6 +41,11 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 import org.springframework.data.domain.Page;
 
+import de.ozgcloud.vorgang.collaboration.CollaborationRequest;
+import de.ozgcloud.vorgang.collaboration.CollaborationRequestMapper;
+import de.ozgcloud.vorgang.collaboration.CollaborationRequestTestFactory;
+import de.ozgcloud.vorgang.collaboration.CollaborationService;
+import de.ozgcloud.vorgang.collaboration.GrpcCollaborationRequestTestFactory;
 import io.grpc.stub.StreamObserver;
 
 class GrpcVorgangServiceTest {
@@ -73,6 +78,10 @@ class GrpcVorgangServiceTest {
 	private IncomingFileMapper incomingFileMapper;
 	@Mock
 	private IncomingFileGroupMapper incomingFileGroupMapper;
+	@Mock
+	private CollaborationService collaborationService;
+	@Mock
+	private CollaborationRequestMapper collaborationRequestMapper;
 
 	@Nested
 	class TestCreate {
@@ -334,31 +343,83 @@ class GrpcVorgangServiceTest {
 	@Nested
 	class TestCreateCollaborationVorgang {
 
-		private static final GrpcCreateCollaborationVorgangRequest REQUEST = GrpcCreateCollaborationVorgangRequest.newBuilder().build();
-
 		@Mock
 		private StreamObserver<GrpcCreateCollaborationVorgangResponse> responseObserver;
 
 		@Captor
 		private ArgumentCaptor<GrpcCreateCollaborationVorgangResponse> responseCaptor;
 
-		@Test
-		void shouldCallOnNext() {
-			createCollaborationVorgang();
+		@Nested
+		class TestCollaborationRequest {
 
-			verify(responseObserver).onNext(responseCaptor.capture());
-			assertThat(responseCaptor.getValue()).isNotNull();
-		}
+			private static final GrpcCollaborationRequest GRPC_COLLABORATION_REQUEST = GrpcCollaborationRequestTestFactory.create();
+			private static final GrpcCreateCollaborationVorgangRequest REQUEST = GrpcCreateCollaborationVorgangRequest.newBuilder()
+					.setCollaborationRequest(GRPC_COLLABORATION_REQUEST).build();
+			private static final String COLLABORATION_VORGANG_ID = "collaboration-vorgang-id";
+			private static final CollaborationRequest COLLABORATION_REQUEST = CollaborationRequestTestFactory.create();
 
-		@Test
-		void shouldCallOnCompleted() {
-			createCollaborationVorgang();
+			@BeforeEach
+			void init() {
+				when(collaborationRequestMapper.mapFrom(any())).thenReturn(COLLABORATION_REQUEST);
+				when(collaborationService.createCollaborationVorgang(any())).thenReturn(COLLABORATION_VORGANG_ID);
+			}
 
-			verify(responseObserver).onCompleted();
+			@Test
+			void shouldCallMapCollaborationRequest() {
+				createCollaborationVorgang();
+
+				verify(collaborationRequestMapper).mapFrom(GRPC_COLLABORATION_REQUEST);
+			}
+
+			@Test
+			void shouldCallCreateCollaborationVorgang() {
+				createCollaborationVorgang();
+
+				verify(collaborationService).createCollaborationVorgang(COLLABORATION_REQUEST);
+			}
+
+			@Test
+			void shouldCallOnNext() {
+				createCollaborationVorgang();
+
+				verify(responseObserver).onNext(responseCaptor.capture());
+				assertThat(responseCaptor.getValue().getVorgangId()).isEqualTo(COLLABORATION_VORGANG_ID);
+			}
+
+			@Test
+			void shouldCallOnCompleted() {
+				createCollaborationVorgang();
+
+				verify(responseObserver).onCompleted();
+			}
+
+			private void createCollaborationVorgang() {
+				service.createCollaborationVorgang(REQUEST, responseObserver);
+			}
 		}
 
-		private void createCollaborationVorgang() {
-			service.createCollaborationVorgang(REQUEST, responseObserver);
+		@Nested
+		class TestEmptyRequest {
+
+			@Test
+			void shouldCallOnNext() {
+				createCollaborationVorgang();
+
+				verify(responseObserver).onNext(responseCaptor.capture());
+				assertThat(responseCaptor.getValue().getVorgangId()).isEmpty();
+			}
+
+			@Test
+			void shouldCallOnCompleted() {
+				createCollaborationVorgang();
+
+				verify(responseObserver).onCompleted();
+			}
+
+			private void createCollaborationVorgang() {
+				service.createCollaborationVorgang(GrpcCreateCollaborationVorgangRequest.newBuilder().build(), responseObserver);
+			}
 		}
+
 	}
 }
\ No newline at end of file