diff --git a/Jenkinsfile b/Jenkinsfile
index 1ca0692ac2298a215df76b5d2840ce8981c8cb5f..5acdf4c5b768fff73b84321bd03c0778bba4f592 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -290,8 +290,8 @@ pipeline {
     post {
         failure {
             script {
-                if (env.BRANCH_NAME == 'master') {
-                    slackSend(color: "danger", message: "Goofy: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <${BLUE_OCEAN_URL}|${env.BUILD_NUMBER}>")
+                if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release') {
+                    sendFailureMessage()
                 }
             }
         }
@@ -518,4 +518,27 @@ String getKeycloakAccessToken() {
 
 		return token.access_token
 	}
+}
+
+Void sendFailureMessage() {
+    def room = ''
+    def data = """{"msgtype":"m.text", \
+                    "body":"Goofy: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \
+                    "format": "org.matrix.custom.html", \
+                    "formatted_body":"Goofy: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}"""
+       
+    if (env.BRANCH_NAME == 'master') {
+        room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de"
+    }
+    else if (env.BRANCH_NAME == 'release') {
+        room = "!oWZpUGTFsxkJIYNfYg:matrix.ozg-sh.de"
+    }
+
+    sh "curl -XPOST -H 'authorization: Bearer ${getElementAccessToken()}' -d '${data}' https://matrix.ozg-sh.de/_matrix/client/v3/rooms/$room/send/m.room.message"
+}
+
+String getElementAccessToken() {
+    withCredentials([string(credentialsId: 'element-login-json', variable: 'LOGIN_JSON')]) {
+        return readJSON ( text: sh (script: '''curl -XPOST -d \"$LOGIN_JSON\" https://matrix.ozg-sh.de/_matrix/client/v3/login''', returnStdout: true)).access_token
+    }
 }
\ No newline at end of file