diff --git a/Jenkinsfile-attworkflow-build b/Jenkinsfile-attworkflow-build
index b5f988f..846bc1f 100644
--- a/Jenkinsfile-attworkflow-build
+++ b/Jenkinsfile-attworkflow-build
@@ -170,19 +170,19 @@
                         }
                     }
                 }
-                stage('Install att-workflow') {
+                stage('Install seba-services profile') {
                     timeout(10) {
                         sh returnStdout: true, script: """
                         export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
-                        helm dep update xos-profiles/att-workflow
-                        helm install -f ../${configBaseDir}/${configKubernetesDir}/${configFileName}.yml -n att-workflow xos-profiles/att-workflow
+                        helm dep update xos-profiles/seba-services
+                        helm install -f ../${configBaseDir}/${configKubernetesDir}/${configFileName}.yml -n seba-services xos-profiles/seba-services
                         """
                     }
                     timeout(10) {
                         waitUntil {
                             att_workflow_tosca_completed = sh returnStdout: true, script: """
                             export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
-                            kubectl get pods | grep -i att-workflow-tosca-loader | grep -i completed | wc -l
+                            kubectl get pods | grep -i seba-services-tosca-loader | grep -i completed | wc -l
                             """
                             return att_workflow_tosca_completed.toInteger() == 1
                         }
@@ -206,6 +206,24 @@
                         }
                     }
                 }
+                stage('Install att workflow') {
+                    timeout(10) {
+                        sh returnStdout: true, script: """
+                        export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
+                        helm dep update workflows/att-workflow
+                        helm install -f ../${configBaseDir}/${configKubernetesDir}/${configFileName}.yml -n att-workflow workflows/att-workflow
+                        """
+                    }
+                    timeout(10) {
+                        waitUntil {
+                            att_workflow_tosca_completed = sh returnStdout: true, script: """
+                            export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
+                            kubectl get pods | grep -i att-workflow-tosca-loader | grep -i completed | wc -l
+                            """
+                            return att_workflow_tosca_completed.toInteger() == 1
+                        }
+                    }
+                }
             }
             if ( params.reinstallOlt ) {
                 stage('Reinstall OLT software') {
