diff --git a/src/main/java/de/ozgcloud/admin/SchedulingConfiguration.java b/src/main/java/de/ozgcloud/admin/SchedulingConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..3c9fdbd2e70d4ad7d3cf6c6fe2554d4db8065561
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/SchedulingConfiguration.java
@@ -0,0 +1,10 @@
+package de.ozgcloud.admin;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@Configuration
+@EnableScheduling
+public class SchedulingConfiguration {
+
+}
diff --git a/src/main/java/de/ozgcloud/admin/organisationseinheit/SyncScheduler.java b/src/main/java/de/ozgcloud/admin/organisationseinheit/SyncScheduler.java
new file mode 100644
index 0000000000000000000000000000000000000000..26739cdddb6d4e5b5426756321edb0362e2031ed
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/organisationseinheit/SyncScheduler.java
@@ -0,0 +1,18 @@
+package de.ozgcloud.admin.organisationseinheit;
+
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import lombok.RequiredArgsConstructor;
+
+@Component
+@RequiredArgsConstructor
+class SyncScheduler {
+
+	private final SyncService syncService;
+
+	@Scheduled(cron = "${ozgcloud.administration.sync.organisationseinheiten.cron}")
+	public void syncOrganisationsEinheitenFromKeycloak() {
+		syncService.syncOrganisationsEinheitenFromKeycloak();
+	}
+}
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index 563cb14441c17dd32009cc66ac8d7a1116ce0059..c100cc4d3c85dbbb7f5243eb769e9cdbd49081cd 100644
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -82,6 +82,10 @@ ozgcloud:
       realm: ${ozgcloud.oauth2.realm}
       client: ${ozgcloud.oauth2.resource}
       organisations-einheit-id-key: organisationseinheitId
+  administration:
+    sync:
+      organisationseinheiten:
+        cron: "0 15 0 * * *"
 
 grpc:
   client:
diff --git a/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncSchedulerTest.java b/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncSchedulerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6eec2b923f0e798c4861c942506c69ceafd6d08
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncSchedulerTest.java
@@ -0,0 +1,29 @@
+package de.ozgcloud.admin.organisationseinheit;
+
+import static org.mockito.Mockito.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+
+class SyncSchedulerTest {
+
+	@InjectMocks
+	private SyncScheduler scheduler;
+
+	@Mock
+	private SyncService syncService;
+
+	@Nested
+	class TestSyncOrganisationsEinheitenFromKeycloak {
+
+		@Test
+		void shouldCallService() {
+			scheduler.syncOrganisationsEinheitenFromKeycloak();
+
+			verify(syncService).syncOrganisationsEinheitenFromKeycloak();
+		}
+	}
+
+}
\ No newline at end of file