diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
index da60d2b6bc163a0aed86cbcc191ce86215de38af..cb54984efbb573241ed2aeca1fc2f08fc56d2e8e 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java
@@ -49,7 +49,7 @@ interface AntragraumNachrichtMapper {
 	@Mapping(target = "direction", ignore = true)
 	@Mapping(target = "id", ignore = true)
 	@Mapping(target = "messageCode", ignore = true)
-	@Mapping(target = "messageId", ignore = true)
+	@Mapping(target = "messageId", source = "rueckfrageId")
 	@Mapping(target = "postfachAddress", ignore = true)
 	@Mapping(target = "postfachId", ignore = true)
 	@Mapping(target = "replyOption", ignore = true)
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
index c4a452ee7608bea09b1b06e4822d0bfd890e388d..968c13b46cacfbf6528a6f3ac6d750e0154c08f5 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java
@@ -103,6 +103,13 @@ class AntragraumGrpcServiceTest {
 			verify(mapper).toPostfachNachricht(any(GrpcRueckfrageAnswer.class));
 		}
 
+		@Test
+		void shouldCallAntragraumService() {
+			antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver);
+
+			verify(antragraumService).sendRueckfrageAnswer(anyString(), anyString(), any(PostfachNachricht.class));
+		}
+
 		@Test
 		void shouldCallOnNext() {
 			antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver);
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
index 8c071bb3379e5f3e5939e54aeea7dcb2c3bc4b31..5ff78a92ed2d37b75e8c380ea47c87d41a50790c 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java
@@ -104,6 +104,13 @@ class AntragraumNachrichtMapperTest {
 			assertThat(result.getMailBody()).isEqualTo(GrpcRueckfrageAnswerTestFactory.TEXT);
 		}
 
+		@Test
+		void shouldMapMessageId() {
+			var result = map();
+
+			assertThat(result.getMessageId()).isEqualTo(GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID);
+		}
+
 		@Test
 		void shouldMapAttachmentIds() {
 			var result = map();
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
index 887e0f460bca95ca85d196645e9db1a88c9bf968..1b8cfe1ed00be12d1d23043ef422878b7283f254 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
@@ -4,6 +4,8 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.util.UUID;
+
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
@@ -13,6 +15,8 @@ import org.opensaml.saml.saml2.core.Response;
 
 import de.ozgcloud.nachrichten.NachrichtenManagerProperties;
 import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService;
+import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
+import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
 
 class AntragraumServiceTest {
 	@Spy
@@ -84,4 +88,32 @@ class AntragraumServiceTest {
 			verify(postfachNachrichtService).findRueckfragen(anyString());
 		}
 	}
+
+	@Nested
+	class TestSendRueckfragenAnswers {
+		static final String SAML_TOKEN = "TOKEN";
+		static final String RUECKFRAGE_ID = UUID.randomUUID().toString();
+		static final PostfachNachricht NACHRICHT = PostfachNachrichtTestFactory.create();
+
+		@Test
+		void shouldCallVerify() {
+			service.sendRueckfrageAnswer(SAML_TOKEN, RUECKFRAGE_ID, NACHRICHT);
+
+			verify(service).verifyToken(anyString());
+		}
+
+		@Test
+		void shouldCallVerifier() {
+			service.findRueckfragen(SAML_TOKEN);
+
+			verify(verifier).verify(anyString());
+		}
+
+		@Test
+		void shouldCallPostfachService() {
+			service.sendRueckfrageAnswer(SAML_TOKEN, RUECKFRAGE_ID, NACHRICHT);
+
+			verify(postfachNachrichtService).persistAnswer(anyString(), any(PostfachNachricht.class));
+		}
+	}
 }
\ No newline at end of file
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c0fb28f113bc5e179aff00d19a9e5cd5a7a6cc9
--- /dev/null
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java
@@ -0,0 +1,23 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+import java.util.List;
+import java.util.UUID;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+public class GrpcRueckfrageAnswerTestFactory {
+	static final String RUECKFRAGE_ID = UUID.randomUUID().toString();
+	static final String TEXT = LoremIpsum.getInstance().getParagraphs(2, 4);
+	static final List<String> ATTACHMENT_ID_LIST = List.of(UUID.randomUUID().toString());
+
+	static GrpcRueckfrageAnswer create() {
+		return createBuilder().build();
+	}
+
+	static GrpcRueckfrageAnswer.Builder createBuilder() {
+		return GrpcRueckfrageAnswer.newBuilder()
+				.setRueckfrageId(RUECKFRAGE_ID)
+				.setAnswerText(TEXT)
+				.addAllAttachmentFileId(ATTACHMENT_ID_LIST);
+	}
+}
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1fa9bcfd3877d5bdc17b611f06d373feb565205
--- /dev/null
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java
@@ -0,0 +1,19 @@
+package de.ozgcloud.nachrichten.antragraum;
+
+import de.ozgcloud.common.test.TestUtils;
+
+public class GrpcSendRueckfrageAnswerRequestTestFactory {
+	static final String SAML_TOKEN = TestUtils.loadTextFile("SamlResponse.xml");
+	static final GrpcRueckfrageAnswer ANSWER = GrpcRueckfrageAnswerTestFactory.create();
+
+	static GrpcSendRueckfrageAnswerRequest create() {
+		return createBuilder().build();
+	}
+
+	static GrpcSendRueckfrageAnswerRequest.Builder createBuilder() {
+		return GrpcSendRueckfrageAnswerRequest.newBuilder()
+				.setAnswer(ANSWER)
+				.setSamlToken(SAML_TOKEN);
+	}
+
+}