diff --git a/Jenkinsfile b/Jenkinsfile
index 9dc8b6dd235596564c2aec4669581d2f73f0ad6f..4eb42df64233fd2563dd4fff17d10b41a10047f8 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -51,6 +51,7 @@ pipeline {
                     def rootVersion = getPomVersion('pom.xml')
                     def jobVersion = getParentPomVersion('aggregation-manager-job/pom.xml')
                     def serverVersion = getParentPomVersion('aggregation-manager-server/pom.xml')
+                    def interfaceVersion = getPomVersion('aggregation-manager-interface/pom.xml')
 
                     if(rootVersion != jobVersion) {
                         error("Version in aggregation-manager-job stimmt nicht mit dem parent überein.")
@@ -58,6 +59,9 @@ pipeline {
                     if(rootVersion != serverVersion) {
                         error("Version in aggregation-manager-server stimmt nicht mit dem parent überein.")
                     }
+                    if(rootVersion != interfaceVersion) {
+                        error("Version in aggregation-manager-interface stimmt nicht mit dem parent überein.")
+                    }
                     if(isReleaseBranch()){
                         if ( !(rootVersion ==~ RELEASE_REGEX)) {
                             error("Keine Release Version für Branch ${env.BRANCH_NAME}.")
@@ -110,7 +114,6 @@ pipeline {
                 }
                 configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                     sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS -DskipTests deploy -Dmaven.wagon.http.retryHandler.count=3'
-                    sh "mvn -s $MAVEN_SETTINGS versions:revert"
                 }
             }
         }
@@ -120,7 +123,8 @@ pipeline {
                     FAILED_STAGE=env.STAGE_NAME
                 }
                 configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
-                    sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS spring-boot:build-image -DskipTests -Dmaven.wagon.http.retryHandler.count=3'
+                    sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS spring-boot:build-image -DskipTests -Dmaven.wagon.http.retryHandler.count=3 -pl aggregation-manager-job,aggregation-manager-server'
+                    sh "mvn -s $MAVEN_SETTINGS versions:revert"
                 }
            }
         }
diff --git a/aggregation-manager-interface/pom.xml b/aggregation-manager-interface/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f18ec6e39d0cf7a03430d275ff2b097b73b444c0
--- /dev/null
+++ b/aggregation-manager-interface/pom.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!--
+
+    Copyright (C) 2025 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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>de.ozgcloud.common</groupId>
+		<artifactId>ozgcloud-common-dependencies</artifactId>
+		<version>4.12.0</version>
+		<relativePath />
+	</parent>
+
+	<groupId>de.ozgcloud.aggregation</groupId>
+	<artifactId>aggregation-manager-interface</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<name>OZG-Cloud Aggregation Manager gRPC API</name>
+	<description>gRPC Api for OZG-Cloud Aggregation Manager Server</description>
+	<inceptionYear>2025</inceptionYear>
+
+	<properties>
+		<find-and-replace-maven-plugin.version>1.2.0</find-and-replace-maven-plugin.version>
+	</properties>
+
+	<dependencies>
+		<!-- GRPC -->
+		<dependency>
+			<groupId>io.grpc</groupId>
+			<artifactId>grpc-stub</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>io.grpc</groupId>
+			<artifactId>grpc-protobuf</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.annotation</groupId>
+			<artifactId>jakarta.annotation-api</artifactId>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<sourceDirectory>src/main/protobuf</sourceDirectory>
+
+		<extensions>
+			<extension>
+				<groupId>kr.motd.maven</groupId>
+				<artifactId>os-maven-plugin</artifactId>
+			</extension>
+		</extensions>
+
+		<plugins>
+			<plugin>
+				<groupId>com.github.os72</groupId>
+				<artifactId>protoc-jar-maven-plugin</artifactId>
+				<version>${protoc-jar-plugin.version}</version>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<protocVersion>${protobuf.version}</protocVersion>
+							<outputTargets>
+								<outputTarget>
+									<type>java</type>
+								</outputTarget>
+								<outputTarget>
+									<type>grpc-java</type>
+									<pluginArtifact>
+										io.grpc:protoc-gen-grpc-java:${protoc-gen.version}</pluginArtifact>
+								</outputTarget>
+							</outputTargets>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>io.github.floverfelt</groupId>
+				<artifactId>find-and-replace-maven-plugin</artifactId>
+				<version>${find-and-replace-maven-plugin.version}</version>
+				<executions>
+					<execution>
+						<id>exec</id>
+						<phase>process-sources</phase>
+						<goals>
+							<goal>find-and-replace</goal>
+						</goals>
+						<configuration>
+							<replacementType>file-contents</replacementType>
+							<baseDir>target/generated-sources/</baseDir>
+							<findRegex>javax</findRegex>
+							<replaceValue>jakarta</replaceValue>
+							<recursive>true</recursive>
+							<fileMask>.java</fileMask>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-source-plugin</artifactId>
+				<version>3.2.1</version>
+				<executions>
+					<execution>
+						<id>attach-sources</id>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/aggregation-manager-interface/src/main/protobuf/aggregationdata.model.proto b/aggregation-manager-interface/src/main/protobuf/aggregationdata.model.proto
new file mode 100644
index 0000000000000000000000000000000000000000..1ff686a884cea7003a659dea079d953ff3be5330
--- /dev/null
+++ b/aggregation-manager-interface/src/main/protobuf/aggregationdata.model.proto
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2025 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.
+ */
+
+syntax = "proto3";
+package de.ozgcloud.aggregation.data;
+
+
+option java_multiple_files = true;
+option java_package = "de.ozgcloud.aggregation.data";
+option java_outer_classname = "AggregationDataModelProto";
+
+message GrpcSendAggregationDataRequest {
+  string name = 1;
+  string mandant = 2;
+  repeated GrpcAggregationData aggregationData = 3;
+}
+
+message GrpcAggregationData {
+  string id = 1;
+  string status = 2;
+  string eingangDatum = 3;
+  string vorgangName = 4;
+  GrpcObject payload = 5;
+}
+
+message GrpcObject {
+  repeated GrpcProperty properties = 1;
+}
+
+message GrpcProperty {
+  string key = 1;
+  GrpcElement value = 2;
+}
+
+message GrpcElement {
+  oneof value {
+    bool boolValue = 1;
+    int64 longValue = 2;
+    double doubleValue = 3;
+    string stringValue = 4;
+    GrpcElementList listValue = 5;
+    GrpcObject objectValue = 6;
+  }
+}
+
+message GrpcElementList {
+  repeated GrpcElement elements = 1;
+}
+
+message GrpcSendAggregationDataResponse {}
\ No newline at end of file
diff --git a/aggregation-manager-interface/src/main/protobuf/aggregationdata.proto b/aggregation-manager-interface/src/main/protobuf/aggregationdata.proto
new file mode 100644
index 0000000000000000000000000000000000000000..4cc7204d018bef7a3825caf672659c5a386b905b
--- /dev/null
+++ b/aggregation-manager-interface/src/main/protobuf/aggregationdata.proto
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2025 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.
+ */
+
+syntax = "proto3";
+package de.ozgcloud.aggregation.data;
+
+import "aggregationdata.model.proto";
+
+option java_multiple_files = true;
+option java_package = "de.ozgcloud.aggregation.data";
+option java_outer_classname = "AggregationDataProto";
+
+service AggregationDataService {
+  rpc SendAggregationData(stream GrpcSendAggregationDataRequest) returns (GrpcSendAggregationDataResponse);
+}
\ No newline at end of file
diff --git a/aggregation-manager-interface/src/main/protobuf/mapping.model.proto b/aggregation-manager-interface/src/main/protobuf/mapping.model.proto
new file mode 100644
index 0000000000000000000000000000000000000000..b7a6e67d187785cf2973efd956e240b5692f4803
--- /dev/null
+++ b/aggregation-manager-interface/src/main/protobuf/mapping.model.proto
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2025 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.
+ */
+
+syntax = "proto3";
+package de.ozgcloud.aggregation.mapping;
+
+
+option java_multiple_files = true;
+option java_package = "de.ozgcloud.aggregation.mapping";
+option java_outer_classname = "MappingModelProto";
+
+message GrpcGetAggregationMappingsRequest {}
+
+message GrpcGetAggregationMappingsResponse {
+  repeated GrpcAggregationMapping mappings = 1;
+}
+
+message GrpcAggregationMapping {
+  string name = 1;
+  string formEngineName = 2;
+  string formId = 3;
+  repeated GrpcFieldMapping fieldMappings = 4;
+}
+
+message GrpcFieldMapping {
+  string source = 1;
+  string target = 2;
+
+}
\ No newline at end of file
diff --git a/aggregation-manager-interface/src/main/protobuf/mapping.proto b/aggregation-manager-interface/src/main/protobuf/mapping.proto
new file mode 100644
index 0000000000000000000000000000000000000000..ad4fd60f9bace6b4dee0fca6ce855aef7cecebc4
--- /dev/null
+++ b/aggregation-manager-interface/src/main/protobuf/mapping.proto
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2025 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.
+ */
+
+syntax = "proto3";
+package de.ozgcloud.aggregation.mapping;
+
+import "mapping.model.proto";
+
+option java_multiple_files = true;
+option java_package = "de.ozgcloud.aggregation.mapping";
+option java_outer_classname = "AggregationMappingProto";
+
+service AggregationMappingService {
+  rpc GetAggregationMappings(GrpcGetAggregationMappingsRequest) returns (GrpcGetAggregationMappingsResponse);
+}
\ No newline at end of file
diff --git a/aggregation-manager-server/pom.xml b/aggregation-manager-server/pom.xml
index 67fef7696f43fc4fdf238758c29be255f305d414..f72df101935087b497fda650bd741251e80a62fc 100644
--- a/aggregation-manager-server/pom.xml
+++ b/aggregation-manager-server/pom.xml
@@ -51,6 +51,11 @@
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-actuator</artifactId>
 		</dependency>
+		<!-- Own projects -->
+		<dependency>
+			<groupId>de.ozgcloud.aggregation</groupId>
+			<artifactId>aggregation-manager-interface</artifactId>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/data/AggregationDataGrpcService.java b/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/data/AggregationDataGrpcService.java
new file mode 100644
index 0000000000000000000000000000000000000000..b9cb0bf22f48e68e0c59fb304beb7e085323b3ad
--- /dev/null
+++ b/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/data/AggregationDataGrpcService.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.aggregation.data;
+
+import de.ozgcloud.aggregation.data.AggregationDataServiceGrpc.AggregationDataServiceImplBase;
+import io.grpc.stub.StreamObserver;
+
+class AggregationDataGrpcService extends AggregationDataServiceImplBase {
+
+	@Override
+	public StreamObserver<GrpcSendAggregationDataRequest> sendAggregationData(StreamObserver<GrpcSendAggregationDataResponse> responseObserver) {
+		// Implement in OZG-7909
+		return null;
+	}
+
+}
diff --git a/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/mapping/AggregationMappingGrpcService.java b/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/mapping/AggregationMappingGrpcService.java
new file mode 100644
index 0000000000000000000000000000000000000000..62813e122483fc66b2648bf3186c73be4769d753
--- /dev/null
+++ b/aggregation-manager-server/src/main/java/de/ozgcloud/aggregation/mapping/AggregationMappingGrpcService.java
@@ -0,0 +1,13 @@
+package de.ozgcloud.aggregation.mapping;
+
+import de.ozgcloud.aggregation.mapping.AggregationMappingServiceGrpc.AggregationMappingServiceImplBase;
+import io.grpc.stub.StreamObserver;
+
+class AggregationMappingGrpcService extends AggregationMappingServiceImplBase {
+
+	@Override
+	public void getAggregationMappings(GrpcGetAggregationMappingsRequest request,
+			StreamObserver<GrpcGetAggregationMappingsResponse> responseObserver) {
+		// Implement in OZG-????
+	}
+}
diff --git a/pom.xml b/pom.xml
index c5a13f434ab7188c3d74d550fbe7acf360d18839..adbe408b7530add8188b21fce83dbefcb7e6f118 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,7 @@
 	<packaging>pom</packaging>
 
 	<modules>
+		<module>aggregation-manager-interface</module>
 		<module>aggregation-manager-job</module>
 		<module>aggregation-manager-server</module>
 	</modules>
@@ -52,6 +53,11 @@
 	</properties>
 	<dependencyManagement>
 		<dependencies>
+			<dependency>
+				<groupId>de.ozgcloud.aggregation</groupId>
+				<artifactId>aggregation-manager-interface</artifactId>
+				<version>${project.version}</version>
+			</dependency>
 			<dependency>
 				<artifactId>ozg-cloud-spring-boot-starter</artifactId>
 				<groupId>de.ozgcloud.api-lib</groupId>