diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f437abb0578ca69685857826a8b34343c0a0b89c..04e832402292530aae089e76a52bb83d87392591 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,9 +1,9 @@
 #
 # This file is a part of the CaosDB Project.
 #
-# Copyright (C) 2019-2021 Indiscale GmbH <info@indiscale.com>
+# Copyright (C) 2019-2022 Indiscale GmbH <info@indiscale.com>
 # Copyright (C) 2019 Henrik tom Wörden <h.tomwoerden@indiscale.com>
-# Copyright (C) 2020 Daniel Hornung <d.hornung@indiscale.com>
+# Copyright (C) 2020-2022 Daniel Hornung <d.hornung@indiscale.com>
 # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
 #
 # This program is free software: you can redistribute it and/or modify
@@ -23,7 +23,6 @@
 variables:
   CPPLIB_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:$CI_COMMIT_REF_NAME
 
-  CPPINTTEST_PIPELINE: https://gitlab.indiscale.com/api/v4/projects/111/trigger/pipeline
   CPPINTTEST_BRANCHES: https://gitlab.indiscale.com/api/v4/projects/111/repository/branches
   GIT_SUBMODULE_STRATEGY: normal
 
@@ -32,6 +31,9 @@ variables:
   TRIGGERED_BY_REF: $CI_COMMIT_REF_NAME
   TRIGGERED_BY_HASH: $CI_COMMIT_SHORT_SHA
 
+  # For storing cross-job environment variables
+  DOTENV: custom.env
+
 
 image: $CPPLIB_REGISTRY_IMAGE
 
@@ -92,12 +94,11 @@ test:
     - cmake --build . -j --target cxxcaosdbcli
     # - cmake --build . -j --target ccaosdbcli  # Disabled until it compiles again.
 
-# trigger the integration tests
-trigger_inttest:
+trigger_prepare:
+  # Calculate the branch name
   tags: [ docker ]
   stage: deploy
   script:
-
     ## Determine the cppinttest branch...
     # ... use an f-branch if posible...
     - F_BRANCH=dev
@@ -122,18 +123,36 @@ trigger_inttest:
     # ... and fall-back to dev
     - CPPINT_REF=${CPPINT_REF:-dev}
 
-    - echo "Triggering caosdb-cppinttest@${CPPINT_REF} (F_BRANCH=$F_BRANCH)"
-    - curl -w "%{stderr}HTTPCODE=%{http_code}" -X POST
-      -F token=$CI_JOB_TOKEN
-      -F "variables[TRIGGERED_BY_REPO]=$TRIGGERED_BY_REPO"
-      -F "variables[TRIGGERED_BY_REF]=$TRIGGERED_BY_REF"
-      -F "variables[TRIGGERED_BY_HASH]=$TRIGGERED_BY_HASH"
-      -F "variables[CPPLIB_REGISTRY_IMAGE]=$CPPLIB_REGISTRY_IMAGE"
-      -F "variables[F_BRANCH]=${F_BRANCH}"
-      -F ref=${CPPINT_REF} $CPPINTTEST_PIPELINE 2>HTTPCODE
-
-    # fail if the request failed
-    - grep -c "HTTPCODE=2" HTTPCODE
+    # Write to dotenv
+    - echo "CPPINT_REF=${CPPINT_REF}" >> "$DOTENV"
+    - echo "F_BRANCH=${F_BRANCH}" >> "$DOTENV"
+    - cat "$DOTENV"
+  artifacts:
+    # this special artifact will be loaded in the next job and make the environment variables available
+    reports:
+      dotenv: "$DOTENV"
+    expire_in: 1 day
+
+
+# trigger the integration tests
+trigger_inttest:
+  stage: deploy
+  needs: [ trigger_prepare ]
+  inherit:
+    variables:
+      # List the variables that shall be inherited, which also means they will override any equally
+      # named varibles in child pipelines.
+      - TRIGGERED_BY_REPO
+      - TRIGGERED_BY_REF
+      - TRIGGERED_BY_HASH
+      - CPPLIB_REGISTRY_IMAGE
+  variables:
+    # dotenv variables must be set again here.
+    F_BRANCH: $F_BRANCH
+  trigger:
+    project: caosdb/src/caosdb-cppinttest
+    branch: $CPPINT_REF
+    strategy: depend
 
 # Build the sphinx documentation and make it ready for deployment by Gitlab Pages
 # Special job for serving a static website. See https://docs.gitlab.com/ee/ci/yaml/README.html#pages