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 28bc1da4fcb0c0f316144a454a2bc29b72399904..fc8b30283be549db5c634fdc032b169cd3017348 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
@@ -23,10 +23,13 @@
 
 package de.ozgcloud.nachrichten.antragraum;
 
+import java.time.ZonedDateTime;
 import java.util.stream.Stream;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 
+import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import io.grpc.stub.StreamObserver;
 import lombok.RequiredArgsConstructor;
 import net.devh.boot.grpc.server.service.GrpcService;
@@ -65,12 +68,26 @@ class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplB
 
 	@Override
 	public void sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequest request, StreamObserver<GrpcSendRueckfrageAnswerResponse> streamObserver) {
-		var answer = request.getAnswer();
+		var answer = mapper.fromRueckfrageAnswer(request.getAnswer());
 
-		var commandId = antragraumService.sendRueckfrageAnswer(request.getSamlToken(), answer.getRueckfrageId(),
-				mapper.fromRueckfrageAnswer(answer));
+		answer = enrichRueckfrageAnswer(answer, getRueckfrage(request.getSamlToken(), request.getAnswer().getRueckfrageId()));
+		var commandId = antragraumService.sendRueckfrageAnswer(request.getSamlToken(), request.getAnswer().getRueckfrageId(), answer);
 
 		streamObserver.onNext(GrpcSendRueckfrageAnswerResponse.newBuilder().setCommandId(commandId).build());
 		streamObserver.onCompleted();
 	}
+
+	PostfachNachricht getRueckfrage(String samlToken, String postfachNachrichtId) {
+		return antragraumService.findRueckfragen(samlToken)
+				.filter(postfachNachricht -> StringUtils.equals(postfachNachricht.getId(), postfachNachrichtId))
+				.toList().getFirst();
+	}
+
+	PostfachNachricht enrichRueckfrageAnswer(PostfachNachricht answer, PostfachNachricht rueckfrage) {
+		return answer.toBuilder()
+				.vorgangId(rueckfrage.getVorgangId())
+				.postfachAddress(rueckfrage.getPostfachAddress())
+				.sentAt(ZonedDateTime.now())
+				.build();
+	}
 }
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 3946bb3f7691e4a76d198e667ec879a2fb645ce3..25500e8ea808c7e719814d097e7b25587873e8ff 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
@@ -63,19 +63,19 @@ interface AntragraumNachrichtMapper {
 	@Mapping(target = "referencedNachricht", ignore = true)
 	@Mapping(target = "mailBody", source = "answerText")
 	@Mapping(target = "attachments", source = "attachmentFileIdList")
-	@Mapping(target = "createdAt", ignore = true) // FIXME
+	@Mapping(target = "createdAt", ignore = true)
 	@Mapping(target = "createdBy", ignore = true) // FIXME
 	@Mapping(target = "direction", constant = "IN")
 	@Mapping(target = "id", ignore = true)
 	@Mapping(target = "messageCode", ignore = true)
 	@Mapping(target = "messageId", source = "rueckfrageId")
-	@Mapping(target = "postfachAddress", ignore = true) // FIXME rueckfrage laden, befüllen
+	@Mapping(target = "postfachAddress", ignore = true)
 	@Mapping(target = "postfachId", ignore = true)
 	@Mapping(target = "replyOption", constant = "FORBIDDEN")
-	@Mapping(target = "sentAt", ignore = true) // FIXME
+	@Mapping(target = "sentAt", ignore = true)
 	@Mapping(target = "sentSuccessful", constant = "true")
 	@Mapping(target = "subject", constant = "Antwort") // TODO klären
-	@Mapping(target = "vorgangId", ignore = true) // FIXME rueckfrage laden, befüllen
+	@Mapping(target = "vorgangId", ignore = true)
 	PostfachNachricht fromRueckfrageAnswer(GrpcRueckfrageAnswer answer);
 
 	@Mapping(target = "mergeFrom", ignore = true)
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 6a05e36e48e391f304ff207f337f8316c72d5537..e14177a773180e00b35acb87b676af648a5eb2e2 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
@@ -20,13 +20,17 @@
 
 package de.ozgcloud.nachrichten.antragraum;
 
+import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.time.ZonedDateTime;
+import java.time.temporal.ChronoUnit;
 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;
@@ -90,16 +94,20 @@ class AntragraumGrpcServiceTest {
 		}
 	}
 
+	@DisplayName("Send rueckfrage answer")
 	@Nested
-	class TestSendAnswer {
+	class TestSendRueckfrageAnswer {
 		@Mock
 		private StreamObserver<GrpcSendRueckfrageAnswerResponse> streamObserver;
+		private PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
 
 		@BeforeEach
 		void setup() {
+			when(mapper.fromRueckfrageAnswer(any(GrpcRueckfrageAnswer.class))).thenReturn(postfachNachricht);
 			when(antragraumService.sendRueckfrageAnswer(anyString(), anyString(), any(PostfachNachricht.class)))
 					.thenReturn(UUID.randomUUID().toString());
-			when(mapper.fromRueckfrageAnswer(any(GrpcRueckfrageAnswer.class))).thenReturn(PostfachNachrichtTestFactory.create());
+			doReturn(postfachNachricht).when(antragsraumGrpcService).enrichRueckfrageAnswer(any(), any());
+			doReturn(postfachNachricht).when(antragsraumGrpcService).getRueckfrage(any(), any());
 		}
 
 		@Test
@@ -109,6 +117,21 @@ class AntragraumGrpcServiceTest {
 			verify(mapper).fromRueckfrageAnswer(any(GrpcRueckfrageAnswer.class));
 		}
 
+		@Test
+		void shouldGetRueckfrage() {
+			sendRueckfrageAnswer();
+
+			verify(antragsraumGrpcService).getRueckfrage(GrpcSendRueckfrageAnswerRequestTestFactory.SAML_TOKEN,
+					GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID);
+		}
+
+		@Test
+		void shouldEnrichPostfachNachricht() {
+			sendRueckfrageAnswer();
+
+			verify(antragsraumGrpcService).enrichRueckfrageAnswer(postfachNachricht, postfachNachricht);
+		}
+
 		@Test
 		void shouldCallAntragraumService() {
 			antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver);
@@ -129,6 +152,77 @@ class AntragraumGrpcServiceTest {
 
 			verify(streamObserver).onCompleted();
 		}
+
+		private void sendRueckfrageAnswer() {
+			antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver);
+		}
+	}
+
+	@DisplayName("Get rueckfrage")
+	@Nested
+	class TestGetRueckfrage {
+
+		private final PostfachNachricht matchingPostfachNachricht = PostfachNachrichtTestFactory.createBuilder()
+				.id(GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID)
+				.build();
+		private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
+
+		@BeforeEach
+		void mock() {
+			when(antragraumService.findRueckfragen(any())).thenReturn(Stream.of(postfachNachricht, matchingPostfachNachricht));
+		}
+
+		@Test
+		void shouldCallService() {
+			getRueckfrage();
+
+			verify(antragraumService).findRueckfragen(GrpcSendRueckfrageAnswerRequestTestFactory.SAML_TOKEN);
+		}
+
+		@Test
+		void shouldReturnMatchingPostfachNachricht() {
+			var rueckfrage = getRueckfrage();
+
+			assertThat(rueckfrage).isEqualTo(matchingPostfachNachricht);
+		}
+
+		private PostfachNachricht getRueckfrage() {
+			return antragsraumGrpcService.getRueckfrage(GrpcSendRueckfrageAnswerRequestTestFactory.SAML_TOKEN,
+					GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID);
+		}
 	}
 
+	@DisplayName("Enrich postfachNachricht")
+	@Nested
+	class TestEnrichPostfachNachricht {
+
+		private PostfachNachricht postfachNachrichtToEnrich = PostfachNachrichtTestFactory.createBuilder()
+				.postfachAddress(null)
+				.vorgangId(null)
+				.sentAt(null)
+				.build();
+
+		private final PostfachNachricht postfachNachrichtRueckfrage = PostfachNachrichtTestFactory.create();
+
+		@Test
+		void shouldSetVorgangId() {
+			var enrichedPostfachNachricht = antragsraumGrpcService.enrichRueckfrageAnswer(postfachNachrichtToEnrich, postfachNachrichtRueckfrage);
+
+			assertThat(enrichedPostfachNachricht.getVorgangId()).isEqualTo(postfachNachrichtRueckfrage.getVorgangId());
+		}
+
+		@Test
+		void shouldSetPostfachAddresses() {
+			var enrichedPostfachNachricht = antragsraumGrpcService.enrichRueckfrageAnswer(postfachNachrichtToEnrich, postfachNachrichtRueckfrage);
+
+			assertThat(enrichedPostfachNachricht.getPostfachAddress()).isEqualTo(postfachNachrichtRueckfrage.getPostfachAddress());
+		}
+
+		@Test
+		void shouldSetSentAt() {
+			var enrichedPostfachNachricht = antragsraumGrpcService.enrichRueckfrageAnswer(postfachNachrichtToEnrich, postfachNachrichtRueckfrage);
+
+			assertThat(enrichedPostfachNachricht.getSentAt()).isCloseTo(ZonedDateTime.now(), within(2, ChronoUnit.SECONDS));
+		}
+	}
 }
\ No newline at end of file
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 e42c73f0067c22281a20a3d8a2732a884fd4e43f..0fe3c3d3fc8b70e2dfacf2edb39a53970712b9e7 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
@@ -22,7 +22,9 @@ package de.ozgcloud.nachrichten.antragraum;
 
 import static org.assertj.core.api.Assertions.*;
 
+import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -32,6 +34,7 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction;
 import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
 import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory;
+import de.ozgcloud.nachrichten.postfach.osi.ReplyOption;
 
 class AntragraumNachrichtMapperTest {
 
@@ -126,6 +129,20 @@ class AntragraumNachrichtMapperTest {
 			assertThat(result.getDirection()).isEqualTo(Direction.IN);
 		}
 
+		@Test
+		void shouldMapReplyOption() {
+			var result = map();
+
+			assertThat(result.getReplyOption()).hasToString(ReplyOption.FORBIDDEN.name());
+		}
+
+		@Test
+		void shouldSetCreateAt() {
+			var result = map();
+
+			assertThat(result.getCreatedAt()).isCloseTo(ZonedDateTime.now(), within(2, ChronoUnit.SECONDS));
+		}
+
 		private PostfachNachricht map() {
 			return mapper.fromRueckfrageAnswer(GrpcRueckfrageAnswerTestFactory.create());
 		}