diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
index 116ae08168d70b8c5eae218c4af91abcbccea2bf..1a6e45d7ccde89de0e4266d3f89d6d30b18e6d7b 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
@@ -74,7 +74,6 @@ class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplB
 				.sorted(new ZonedDateTimeStringComparator())
 				.findFirst()
 				.orElseGet(() -> StringUtils.EMPTY);
-
 	}
 
 	private GrpcFindRueckfragenResponse buildFindRueckfragenResponse(Stream<GrpcRueckfrage> rueckfragen) {
@@ -93,13 +92,13 @@ class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplB
 		streamObserver.onCompleted();
 	}
 
-	PostfachNachricht getRueckfrage(String samlToken, String postfachNachrichtId) {
+	Rueckfrage getRueckfrage(String samlToken, String postfachNachrichtId) {
 		return antragraumService.findRueckfragen(samlToken)
-				.filter(postfachNachricht -> StringUtils.equals(postfachNachricht.getId(), postfachNachrichtId))
+				.filter(rueckfrage -> StringUtils.equals(rueckfrage.getId(), postfachNachrichtId))
 				.toList().getFirst();
 	}
 
-	PostfachNachricht enrichRueckfrageAnswer(PostfachNachricht answer, PostfachNachricht rueckfrage) {
+	PostfachNachricht enrichRueckfrageAnswer(PostfachNachricht answer, Rueckfrage rueckfrage) {
 		return answer.toBuilder()
 				.vorgangId(rueckfrage.getVorgangId())
 				.postfachAddress(rueckfrage.getPostfachAddress())
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
index d9ccf624316bd2b4ae37c8b0b4233da607e0f517..590619caa63460ff45cd15e3bbef96200712b02a 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
@@ -53,12 +53,10 @@ interface AntragraumNachrichtMapper {
 	@Mapping(target = "answersBuilderList", ignore = true)
 	@Mapping(target = "answersList", ignore = true)
 	@Mapping(target = "answersOrBuilderList", ignore = true)
-	@Mapping(source = "sentAt", target = "sentAt", dateFormat = "yyyy-MM-dd'T'HH:mm:ss")
-	@Mapping(source = "mailBody", target = "text")
-	@Mapping(source = "subject", target = "vorgangName")
-	@Mapping(source = "attachments", target = "attachmentFileIdList")
+	@Mapping(target = "sentAt", source = "sentAt", dateFormat = "yyyy-MM-dd'T'HH:mm:ss")
+	@Mapping(target = "attachmentFileIdList", source = "attachments")
 	@Mapping(target = "status", constant = DEFAULT_STATUS)
-	GrpcRueckfrage toGrpc(PostfachNachricht postfachNachricht);
+	GrpcRueckfrage toGrpc(Rueckfrage rueckfrage);
 
 	@Mapping(target = "referencedNachricht", ignore = true)
 	@Mapping(target = "mailBody", source = "answerText")
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
index a8e360bb49179070e1878c31810a10d5f9eac6f0..22a1bee466a6102c0d69999c257992ca1352284c 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
@@ -65,6 +65,7 @@ public class AntragraumService {
 
 	private final AntragraumProperties properties;
 	private final NachrichtenManagerProperties nachrichtenManagerProperties;
+	private final RueckfrageMapper rueckfrageMapper;
 
 	@PostConstruct
 	void init() {
@@ -86,11 +87,15 @@ public class AntragraumService {
 		return USER_NOTIFICATION_TEMPLATE.formatted(getAntragsraumUrl());
 	}
 
-	public Stream<PostfachNachricht> findRueckfragen(String samlToken) {
+	public Stream<Rueckfrage> findRueckfragen(String samlToken) {
 		verifyToken(samlToken);
 		var postfachId = decrypter.decryptPostfachId(parser.parse(samlToken));
 
-		return postfachNachrichtService.findRueckfragen(BAYERN_ID, postfachId);
+		return postfachNachrichtService.findRueckfragen(BAYERN_ID, postfachId).map(this::buildRueckfrage);
+	}
+
+	Rueckfrage buildRueckfrage(PostfachNachricht postfachNachricht) {
+		return rueckfrageMapper.toRueckfrage(postfachNachricht);
 	}
 
 	public String sendRueckfrageAnswer(String samlToken, String rueckfrageId, PostfachNachricht nachricht) {
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc12793ccdfcf9397501baf7421401dd0477f837
--- /dev/null
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java
@@ -0,0 +1,28 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+import java.time.ZonedDateTime;
+import java.util.Collections;
+import java.util.List;
+
+import de.ozgcloud.nachrichten.postfach.PostfachAddress;
+import lombok.Builder;
+import lombok.Getter;
+
+@Getter
+@Builder
+class Rueckfrage {
+
+	private String id;
+	private String vorgangId;
+	private String vorgangName;
+
+	private PostfachAddress postfachAddress;
+	private ZonedDateTime sentAt;
+	private ZonedDateTime answeredAt;
+	private RueckfrageStatus status;
+	private String text;
+
+	@Builder.Default
+	private List<String> attachments = Collections.emptyList();
+
+}
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..935b819a1e8fe66021143245884a74ed873e2f44
--- /dev/null
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapper.java
@@ -0,0 +1,20 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+import org.mapstruct.CollectionMappingStrategy;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.NullValueCheckStrategy;
+import org.mapstruct.ReportingPolicy;
+
+import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
+
+@Mapper(collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED, unmappedSourcePolicy = ReportingPolicy.WARN, unmappedTargetPolicy = ReportingPolicy.WARN, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
+interface RueckfrageMapper {
+
+	@Mapping(target = "answeredAt", ignore = true)
+	@Mapping(target = "status", ignore = true)
+	@Mapping(target = "text", source = "mailBody")
+	@Mapping(target = "vorgangName", ignore = true)
+	Rueckfrage toRueckfrage(PostfachNachricht postfachNachricht);
+
+}
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageStatus.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageStatus.java
new file mode 100644
index 0000000000000000000000000000000000000000..f699acf2180bc847fe9e0c1bc688ac096822e65e
--- /dev/null
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/RueckfrageStatus.java
@@ -0,0 +1,5 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+enum RueckfrageStatus {
+	NEU, ANSWERED
+}
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/VorgangRemoteService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteService.java
similarity index 95%
rename from nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/VorgangRemoteService.java
rename to nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteService.java
index 73342e11305eeb33c6813434e3b5d8203a82ce8b..a95188d09c53bf45594f536f7bb094a43fc9e0fc 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/VorgangRemoteService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteService.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.ozgcloud.nachrichten.postfach;
+package de.ozgcloud.nachrichten.common.vorgang;
 
 import java.util.Spliterator;
 import java.util.Spliterators;
@@ -31,6 +31,7 @@ import java.util.stream.StreamSupport;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.common.grpc.NachrichtenCallContextAttachingInterceptor;
+import de.ozgcloud.nachrichten.postfach.FindVorgangIterator;
 import de.ozgcloud.vorgang.vorgang.GrpcVorgangHeader;
 import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
 import net.devh.boot.grpc.client.inject.GrpcClient;
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangService.java
new file mode 100644
index 0000000000000000000000000000000000000000..b512e53a56c2ee2abf66f6fcfe56a112dd9f48ea
--- /dev/null
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/VorgangService.java
@@ -0,0 +1,20 @@
+package de.ozgcloud.nachrichten.common.vorgang;
+
+import java.util.stream.Stream;
+
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+
+import lombok.RequiredArgsConstructor;
+
+@Service
+@RequiredArgsConstructor
+public class VorgangService {
+
+	@Qualifier("findVorgangRemoteService")
+	private final VorgangRemoteService remoteService;
+
+	public Stream<String> findVorgangIds(String servicekontoType, String postfachId) {
+		return remoteService.findVorgangIds(servicekontoType, postfachId);
+	}
+}
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImpl.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImpl.java
index a4d9682eb1ed6ea4437fabfeb3534b35e9ef2515..aedd1434632b2a94e75bf3ee9d9b4a94a4ea7607 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImpl.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImpl.java
@@ -39,6 +39,7 @@ import de.ozgcloud.apilib.common.command.OzgCloudCommand;
 import de.ozgcloud.apilib.common.command.OzgCloudCommandService;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
 import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
+import de.ozgcloud.nachrichten.common.vorgang.VorgangService;
 
 @Service
 @Primary
@@ -56,8 +57,7 @@ public class PersistPostfachNachrichtServiceImpl implements PersistPostfachNachr
 	static final String ITEM_FIELD = "item";
 
 	@Autowired
-	@Qualifier("findVorgangRemoteService")
-	private VorgangRemoteService vorgangRemoteService;
+	private VorgangService vorgangService;
 
 	@Autowired
 	@Qualifier(NachrichtenManagerConfiguration.OZG_CLOUD_COMMAND_SERVICE_NAME)
@@ -124,7 +124,7 @@ public class PersistPostfachNachrichtServiceImpl implements PersistPostfachNachr
 
 	@Override
 	public Stream<PostfachNachricht> findRueckfragen(String servicekontoType, String postfachId) {
-		return vorgangRemoteService.findVorgangIds(servicekontoType, postfachId)
+		return vorgangService.findVorgangIds(servicekontoType, postfachId)
 				.flatMap(attachedItemRemoteService::findReplyAllowedPostfachNachrichts);
 	}
 
@@ -157,12 +157,12 @@ public class PersistPostfachNachrichtServiceImpl implements PersistPostfachNachr
 
 	@Override
 	public Stream<PostfachNachricht> findAnswers(String serviceKontoType, String postfachId, String rueckfrageId) {
-		return findPostfachNachricht(serviceKontoType, postfachId, rueckfrageId)
+		return findPostfachNachricht(serviceKontoType, postfachId)
 				.filter(postfachNachricht -> hasMatchingReferenceNachrichtId(postfachNachricht, rueckfrageId));
 	}
 
-	private Stream<PostfachNachricht> findPostfachNachricht(String serviceKontoType, String postfachId, String rueckfrageId) {
-		return vorgangRemoteService.findVorgangIds(serviceKontoType, postfachId).flatMap(attachedItemRemoteService::findByVorgangId);
+	private Stream<PostfachNachricht> findPostfachNachricht(String serviceKontoType, String postfachId) {
+		return vorgangService.findVorgangIds(serviceKontoType, postfachId).flatMap(attachedItemRemoteService::findByVorgangId);
 	}
 
 	private boolean hasMatchingReferenceNachrichtId(PostfachNachricht postfachNachricht, String postfachNachrichtId) {
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
index bb4cb7b49e49718fce1fc129c888e5a237521f0f..e44f7525475c7422eab54ebefeb03c30b31db64a 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
@@ -60,15 +60,15 @@ class AntragraumGrpcServiceTest {
 
 		@BeforeEach
 		void setup() {
-			when(service.findRueckfragen(any())).thenReturn(Stream.of(PostfachNachrichtTestFactory.create()));
-			when(nachrichtMapper.toGrpc(any(PostfachNachricht.class))).thenReturn(GrpcRueckfrageTestFactory.create());
+			when(service.findRueckfragen(any())).thenReturn(Stream.of(RueckfrageTestFactory.create()));
+			when(nachrichtMapper.toGrpc(any(Rueckfrage.class))).thenReturn(GrpcRueckfrageTestFactory.create());
 		}
 
 		@Test
 		void shouldCallMapper() {
 			grpcService.findRueckfragen(GrpcFindRueckfrageRequestTestFactory.create(), streamObserver);
 
-			verify(nachrichtMapper).toGrpc(any(PostfachNachricht.class));
+			verify(nachrichtMapper).toGrpc(any(Rueckfrage.class));
 		}
 
 		@Test
@@ -141,6 +141,7 @@ class AntragraumGrpcServiceTest {
 		@Mock
 		private StreamObserver<GrpcSendRueckfrageAnswerResponse> streamObserver;
 		private PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
+		private Rueckfrage rueckfrage = RueckfrageTestFactory.create();
 
 		@BeforeEach
 		void setup() {
@@ -148,7 +149,7 @@ class AntragraumGrpcServiceTest {
 			when(service.sendRueckfrageAnswer(anyString(), anyString(), any(PostfachNachricht.class)))
 					.thenReturn(UUID.randomUUID().toString());
 			doReturn(postfachNachricht).when(grpcService).enrichRueckfrageAnswer(any(), any());
-			doReturn(postfachNachricht).when(grpcService).getRueckfrage(any(), any());
+			doReturn(rueckfrage).when(grpcService).getRueckfrage(any(), any());
 		}
 
 		@Test
@@ -170,7 +171,7 @@ class AntragraumGrpcServiceTest {
 		void shouldEnrichPostfachNachricht() {
 			sendRueckfrageAnswer();
 
-			verify(grpcService).enrichRueckfrageAnswer(postfachNachricht, postfachNachricht);
+			verify(grpcService).enrichRueckfrageAnswer(postfachNachricht, rueckfrage);
 		}
 
 		@Test
@@ -203,14 +204,13 @@ class AntragraumGrpcServiceTest {
 	@Nested
 	class TestGetRueckfrage {
 
-		private final PostfachNachricht matchingPostfachNachricht = PostfachNachrichtTestFactory.createBuilder()
-				.id(GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID)
+		private final Rueckfrage matchingRueckfrage = RueckfrageTestFactory.createBuilder().id(GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID)
 				.build();
-		private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
+		private final Rueckfrage rueckfrage = RueckfrageTestFactory.create();
 
 		@BeforeEach
 		void mock() {
-			when(service.findRueckfragen(any())).thenReturn(Stream.of(postfachNachricht, matchingPostfachNachricht));
+			when(service.findRueckfragen(any())).thenReturn(Stream.of(rueckfrage, matchingRueckfrage));
 		}
 
 		@Test
@@ -224,10 +224,10 @@ class AntragraumGrpcServiceTest {
 		void shouldReturnMatchingPostfachNachricht() {
 			var rueckfrage = getRueckfrage();
 
-			assertThat(rueckfrage).isEqualTo(matchingPostfachNachricht);
+			assertThat(rueckfrage).isEqualTo(matchingRueckfrage);
 		}
 
-		private PostfachNachricht getRueckfrage() {
+		private Rueckfrage getRueckfrage() {
 			return grpcService.getRueckfrage(GrpcSendRueckfrageAnswerRequestTestFactory.SAML_TOKEN,
 					GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID);
 		}
@@ -243,7 +243,7 @@ class AntragraumGrpcServiceTest {
 				.sentAt(null)
 				.build();
 
-		private final PostfachNachricht postfachNachrichtRueckfrage = PostfachNachrichtTestFactory.create();
+		private final Rueckfrage postfachNachrichtRueckfrage = RueckfrageTestFactory.create();
 
 		@Test
 		void shouldSetVorgangId() {
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
index dcf8e12576334ad06dd15a75af23594f76a71cf6..3f0e9e1bb8e40e1f1d7918016dad5cfc2c70ac3d 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
@@ -34,11 +34,10 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht.ReplyOption;
 import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
-import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory;
 
 class AntragraumNachrichtMapperTest {
 
-	AntragraumNachrichtMapper mapper = Mappers.getMapper(AntragraumNachrichtMapper.class);
+	private final AntragraumNachrichtMapper mapper = Mappers.getMapper(AntragraumNachrichtMapper.class);
 
 	@Nested
 	class TestMapRueckfrage {
@@ -47,21 +46,21 @@ class AntragraumNachrichtMapperTest {
 		void shouldMapVorgangId() {
 			var result = map();
 
-			assertThat(result.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID);
+			assertThat(result.getVorgangId()).isEqualTo(RueckfrageTestFactory.VORGANG_ID);
 		}
 
 		@Test
 		void shouldMapId() {
 			var result = map();
 
-			assertThat(result.getId()).isEqualTo(PostfachNachrichtTestFactory.ID);
+			assertThat(result.getId()).isEqualTo(RueckfrageTestFactory.ID);
 		}
 
 		@Test
 		void shouldMapVorgangName() {
 			var result = map();
 
-			assertThat(result.getVorgangName()).isEqualTo(MessageTestFactory.SUBJECT);
+			assertThat(result.getVorgangName()).isEqualTo(RueckfrageTestFactory.VORGANG_NAME);
 		}
 
 		@Test
@@ -94,7 +93,7 @@ class AntragraumNachrichtMapperTest {
 		}
 
 		private GrpcRueckfrage map() {
-			return mapper.toGrpc(PostfachNachrichtTestFactory.create());
+			return mapper.toGrpc(RueckfrageTestFactory.create());
 		}
 
 	}
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
index 8ff8ca4b3c7cbf98fca3ac6f6dc9f545fb85afba..4382d69c85209b10fe87480131623306caae665f 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
@@ -5,8 +5,10 @@ import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 import java.util.UUID;
+import java.util.stream.Stream;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
@@ -36,6 +38,8 @@ class AntragraumServiceTest {
 	private Saml2Parser parser;
 	@Mock
 	private Saml2Decrypter decrypter;
+	@Mock
+	private RueckfrageMapper rueckfrageMapper;
 
 	@Nested
 	class TestGetAntragsraumUrl {
@@ -50,12 +54,17 @@ class AntragraumServiceTest {
 
 			assertThat(url).isEqualTo(URL);
 		}
-
 	}
 
 	@Nested
 	class TestFindRueckfragen {
-		static final String SAML_TOKEN = "TOKEN";
+
+		@Mock
+		private Response response;
+
+		private static final String SAML_TOKEN = "TOKEN";
+
+		private final Rueckfrage rueckfrage = RueckfrageTestFactory.create();
 
 		@Test
 		void shouldCallVerify() {
@@ -73,7 +82,7 @@ class AntragraumServiceTest {
 
 		@Test
 		void shouldCallDecrypt() {
-			when(parser.parse(anyString())).thenReturn(mock(Response.class));
+			when(parser.parse(anyString())).thenReturn(response);
 
 			service.findRueckfragen(SAML_TOKEN);
 
@@ -88,6 +97,41 @@ class AntragraumServiceTest {
 
 			verify(postfachNachrichtService).findRueckfragen(anyString(), anyString());
 		}
+
+		@Test
+		void shouldReturnFullFilledValue() {
+			doReturn(rueckfrage).when(service).buildRueckfrage(any());
+			when(decrypter.decryptPostfachId(any())).thenReturn(GrpcFindRueckfrageRequestTestFactory.POSTFACH_ID);
+			when(postfachNachrichtService.findRueckfragen(any(), any())).thenReturn(Stream.of(PostfachNachrichtTestFactory.create()));
+
+			var rueckfragen = service.findRueckfragen(SAML_TOKEN).toList();
+
+			assertThat(rueckfragen).containsExactly(rueckfrage);
+		}
+	}
+
+	@DisplayName("Build rueckfrage")
+	@Nested
+	class TestBuildRueckfrage {
+
+		private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
+		private final Rueckfrage rueckfrage = RueckfrageTestFactory.create();
+
+		@Test
+		void shouldCallMapper() {
+			service.buildRueckfrage(postfachNachricht);
+
+			verify(rueckfrageMapper).toRueckfrage(postfachNachricht);
+		}
+
+		@Test
+		void shouldReturnFullFilledValue() {
+			when(rueckfrageMapper.toRueckfrage(any())).thenReturn(rueckfrage);
+
+			var rueckfrage = service.buildRueckfrage(postfachNachricht);
+
+			assertThat(rueckfrage).isEqualTo(rueckfrage);
+		}
 	}
 
 	@Nested
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a60a8a4d1f15b5ebe814c10197a92afc8afe8f0
--- /dev/null
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageTestFactory.java
@@ -0,0 +1,30 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+import java.util.UUID;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory;
+import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
+
+public class RueckfrageTestFactory {
+
+	public static final String ID = UUID.randomUUID().toString();
+	public static final String VORGANG_ID = UUID.randomUUID().toString();
+	public static final String VORGANG_NAME = LoremIpsum.getInstance().getName();
+
+	public static Rueckfrage create() {
+		return createBuilder().build();
+	}
+
+	public static Rueckfrage.RueckfrageBuilder createBuilder() {
+		return Rueckfrage.builder()
+				.id(ID)
+				.vorgangId(VORGANG_ID)
+				.vorgangName(VORGANG_NAME)
+				.postfachAddress(PostfachAddressTestFactory.create())
+				.sentAt(PostfachNachrichtTestFactory.SENT_AT)
+				.text(PostfachNachrichtTestFactory.MAIL_BODY)
+				.attachments(PostfachNachrichtTestFactory.ATTACHMENTS);
+	}
+}
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7353527ee0a47ce3ed233956b5ac4ce5f0f31de
--- /dev/null
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangRemoteServiceTest.java
@@ -0,0 +1,5 @@
+package de.ozgcloud.nachrichten.common.vorgang;
+
+class VorgangRemoteServiceTest {
+	// TODO FILLME TDD
+}
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8ca036ac0393e8e0d245d3b32f9fb14b44c7571b
--- /dev/null
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java
@@ -0,0 +1,51 @@
+package de.ozgcloud.nachrichten.common.vorgang;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
+
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+
+import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
+import de.ozgcloud.nachrichten.postfach.PostfachTestFactory;
+
+class VorgangServiceTest {
+
+	@InjectMocks
+	private VorgangService service;
+	@Mock
+	private VorgangRemoteService remoteService;
+
+	@DisplayName("Find vorgangIds")
+	@Nested
+	class TestFindVorgangIds {
+
+		private final Stream<String> returnedVorgangIds = Stream.of("1");
+
+		@BeforeEach
+		void mock() {
+			when(remoteService.findVorgangIds(any(), any())).thenReturn(returnedVorgangIds);
+		}
+
+		@Test
+		void shouldCallRemoteService() {
+			service.findVorgangIds(PostfachTestFactory.POSTFACH_TYPE, PostfachNachrichtTestFactory.ID);
+
+			verify(remoteService).findVorgangIds(PostfachTestFactory.POSTFACH_TYPE, PostfachNachrichtTestFactory.ID);
+		}
+
+		@Test
+		void shouldReturnValue() {
+			var vorgangIds = service.findVorgangIds(PostfachTestFactory.POSTFACH_TYPE, PostfachNachrichtTestFactory.ID);
+
+			assertThat(vorgangIds).isEqualTo(returnedVorgangIds);
+		}
+	}
+}
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java
index 4b990f5ff92c8d3c17655ec97045664181c094b5..02d2d73f90b8d8147e58adcb2c19a5117aa37c0f 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java
@@ -21,6 +21,7 @@ import org.mockito.Spy;
 import de.ozgcloud.apilib.common.command.OzgCloudCommand;
 import de.ozgcloud.apilib.common.command.OzgCloudCommandId;
 import de.ozgcloud.apilib.common.command.OzgCloudCommandService;
+import de.ozgcloud.nachrichten.common.vorgang.VorgangService;
 import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory;
 
 class PersistPostfachNachrichtServiceImplTest {
@@ -29,7 +30,7 @@ class PersistPostfachNachrichtServiceImplTest {
 	@InjectMocks
 	private PersistPostfachNachrichtServiceImpl service;
 	@Mock
-	private VorgangRemoteService vorgangRemoteService;
+	private VorgangService vorgangService;
 	@Mock
 	private OzgCloudCommandService commandService;
 	@Mock
@@ -178,7 +179,7 @@ class PersistPostfachNachrichtServiceImplTest {
 
 		@BeforeEach
 		void mock() {
-			when(vorgangRemoteService.findVorgangIds(any(), any())).thenReturn(Stream.of(MessageTestFactory.VORGANG_ID));
+			when(vorgangService.findVorgangIds(any(), any())).thenReturn(Stream.of(MessageTestFactory.VORGANG_ID));
 			when(attachedItemRemoteService.findByVorgangId(any())).thenReturn(Stream.of(postfachNachrichtWithNoReferencedNachricht,
 					matchingPostfachNachricht, postfachNachrichtWithNonMatchingReferencedNachricht));
 		}
@@ -187,7 +188,7 @@ class PersistPostfachNachrichtServiceImplTest {
 		void shouldCallVorgangRemoteService() {
 			doFindAnswers().toList();
 
-			verify(vorgangRemoteService).findVorgangIds(serviceKontoType, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE);
+			verify(vorgangService).findVorgangIds(serviceKontoType, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE);
 		}
 
 		@Test