diff --git a/.liquibase/Data_alias/basic/2021.1.0/changelog.xml b/.liquibase/Data_alias/basic/2021.1.0/changelog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a4ca39ed954e7a07c72dfc557dcb99766cf1185
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.0/changelog.xml
@@ -0,0 +1,6 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include relativeToChangelogFile="true" file="create_standardWorkflow.xml"/>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.0/create_standardWorkflow.xml b/.liquibase/Data_alias/basic/2021.1.0/create_standardWorkflow.xml
new file mode 100644
index 0000000000000000000000000000000000000000..52c2aaf4f075bbe74b075f45789949a4cf0ea1b2
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.0/create_standardWorkflow.xml
@@ -0,0 +1,25 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="s.listl" id="f732bc4a-3fc1-46e5-b2c5-ff3b7041b13a">
+      <createTable tableName="STANDARD_WORKFLOW">
+          <column name="STANDARD_WORKFLOWID" type="CHAR(36)">
+              <constraints nullable="false" primaryKey="true" primaryKeyName="PK_STANDARD_WORKFLOWID"/>
+          </column>
+          <column name="PROCESSKEY" type="NVARCHAR(255)">
+              <constraints nullable="false"/>
+          </column>
+          <column name="NAME" type="NVARCHAR(255)">
+              <constraints nullable="false"/>
+          </column>
+          <column name="DESCRIPTION" type="NVARCHAR(4000)"/>
+          <column name="PROCESSXML" type="BLOB">
+              <constraints nullable="false"/>
+          </column>
+          <column name="DIAGRAM" type="BLOB">
+              <constraints nullable="false"/>
+          </column>
+      </createTable>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.png b/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a57cd6ad72356a822ba9c1f4240ba38a474d12d
Binary files /dev/null and b/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.png differ
diff --git a/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.xml b/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.xml
new file mode 100644
index 0000000000000000000000000000000000000000..047d8bf45f2e5b7dc736e6d6c43e2eb913d6b092
--- /dev/null
+++ b/.liquibase/Data_alias/basic/workflows/blob/rejectEmailCommunication.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
+  <process id="rejectEmailCommunication" name="Reject email communication" isExecutable="true">
+    <startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
+    <serviceTask id="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" name="Set communication setting" flowable:class="de.adito.aditoweb.server.neon.workflow.WorkflowServiceTask">
+      <extensionElements>
+        <flowable:field name="jditoProcess">
+          <flowable:string><![CDATA[SetCommunicationSetting_workflowService]]></flowable:string>
+        </flowable:field>
+        <flowable:field name="taskVariables">
+          <flowable:string><![CDATA[{"channelType":{"value":"COMMUNICATIONCHANNEL_COMMUNICATION"},"medium":{"value":"CAMPAIGNEMAIL"},"status":{"value":"COMMUNICATION_REJECTED"}}]]></flowable:string>
+        </flowable:field>
+      </extensionElements>
+    </serviceTask>
+    <sequenceFlow id="sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD" sourceRef="startEvent1" targetRef="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E"></sequenceFlow>
+    <endEvent id="sid-E6C948F0-8E59-400F-A308-22C66076A405"></endEvent>
+    <sequenceFlow id="sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233" sourceRef="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" targetRef="sid-E6C948F0-8E59-400F-A308-22C66076A405"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_rejectEmailCommunication">
+    <bpmndi:BPMNPlane bpmnElement="rejectEmailCommunication" id="BPMNPlane_rejectEmailCommunication">
+      <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
+        <omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" id="BPMNShape_sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E">
+        <omgdc:Bounds height="80.0" width="100.0" x="175.0" y="138.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-E6C948F0-8E59-400F-A308-22C66076A405" id="BPMNShape_sid-E6C948F0-8E59-400F-A308-22C66076A405">
+        <omgdc:Bounds height="28.0" width="28.0" x="320.0" y="164.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233" id="BPMNEdge_sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233">
+        <omgdi:waypoint x="274.95000000000005" y="178.0"></omgdi:waypoint>
+        <omgdi:waypoint x="320.0" y="178.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD" id="BPMNEdge_sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD">
+        <omgdi:waypoint x="129.9499984899576" y="178.0"></omgdi:waypoint>
+        <omgdi:waypoint x="174.9999999999917" y="178.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/workflows/changelog.xml b/.liquibase/Data_alias/basic/workflows/changelog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d8435c8e0a5a930b4e483a48abe1af658f34ba3b
--- /dev/null
+++ b/.liquibase/Data_alias/basic/workflows/changelog.xml
@@ -0,0 +1,6 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include relativeToChangelogFile="true" file="insert_rejectEmailCommunication.xml"/>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/workflows/insert_rejectEmailCommunication.xml b/.liquibase/Data_alias/basic/workflows/insert_rejectEmailCommunication.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f36307a0da09884372146472a9b51528f4101a3d
--- /dev/null
+++ b/.liquibase/Data_alias/basic/workflows/insert_rejectEmailCommunication.xml
@@ -0,0 +1,15 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="s.listl" id="e9e5f42b-5df9-430b-aaad-52ded69db85d">
+      <insert tableName="STANDARD_WORKFLOW">
+          <column name="STANDARD_WORKFLOWID" value="59d620ab-6dfc-4da7-b0ad-226fa78949e4"/>
+          <column name="KEY" value="rejectEmailCommunication"/>
+          <column name="NAME" value="Reject email communication"/>
+          <column name="DESCRIPTION" value="Sets a communication setting to reject emails"/>
+          <column name="PROCESSXML" valueBlobFile="blob/rejectEmailCommunication.xml"/>
+          <column name="DIAGRAM" valueBlobFile="blob/rejectEmailCommunication.png"/>
+      </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/changelog.xml b/.liquibase/Data_alias/changelog.xml
index 14683de8f2de11bbaf154a98026277bc9c4427fa..c857106827be227c327378abc66645907d7c6338 100644
--- a/.liquibase/Data_alias/changelog.xml
+++ b/.liquibase/Data_alias/changelog.xml
@@ -23,7 +23,9 @@
     <include relativeToChangelogFile="true" file="basic/2021.0.1/changelog.xml"/>
     <include relativeToChangelogFile="true" file="basic/2021.0.2/changelog.xml"/>
     <include relativeToChangelogFile="true" file="basic/2021.0.3/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="basic/2021.1.0/changelog.xml"/>
     
+    <include relativeToChangelogFile="true" file="basic/workflows/changelog.xml" context="workflow"/>
     <!--enable this only when you definetly want to overwrite the existing data with demo records:-->
     <!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
 </databaseChangeLog>
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index c060b095c1afc4d05ebefab0d008313fb1d88de7..2bcf26f4db296abc3830361ce47750e3dc7584eb 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -20140,6 +20140,110 @@
               </entityFieldDb>
             </entityFields>
           </entityDb>
+          <entityDb>
+            <name>STANDARD_WORKFLOW</name>
+            <dbName></dbName>
+            <idColumn>STANDARD_WORKFLOWID</idColumn>
+            <idGeneratorType v="0" />
+            <idGeneratorInterval v="1" />
+            <documentation></documentation>
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <entityFieldDb>
+                <name>STANDARD_WORKFLOWID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="true" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DESCRIPTION</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="4000" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>PROCESSXML</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="2004" />
+                <size v="65535" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DIAGRAM</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="2004" />
+                <size v="65535" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>PROCESSKEY</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>NAME</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
         </entities>
       </entityGroup>
     </aliasDefDb>
diff --git a/entity/StandardWorkflow_entity/StandardWorkflow_entity.aod b/entity/StandardWorkflow_entity/StandardWorkflow_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..be65ad093d97c10a2f64271cbe075c188785cf28
--- /dev/null
+++ b/entity/StandardWorkflow_entity/StandardWorkflow_entity.aod
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.18" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.18">
+  <name>StandardWorkflow_entity</name>
+  <title>Standard workflow</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <grantCreate v="false" />
+  <grantUpdate v="false" />
+  <grantDelete v="false" />
+  <titlePlural>Standard workflows</titlePlural>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+      <dependencies>
+        <entityDependency>
+          <name>38e423c3-f0b2-48d6-a035-5b19c79591ac</name>
+          <entityName>WorkflowDefinitionStore_entity</entityName>
+          <fieldName>StandardWorkflows</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+    <entityField>
+      <name>STANDARD_WORKFLOWID</name>
+    </entityField>
+    <entityField>
+      <name>DIAGRAM</name>
+      <contentType>IMAGE</contentType>
+    </entityField>
+    <entityField>
+      <name>PROCESSKEY</name>
+      <title>Key</title>
+    </entityField>
+    <entityField>
+      <name>DESCRIPTION</name>
+      <title>Description</title>
+    </entityField>
+    <entityField>
+      <name>NAME</name>
+      <title>Name</title>
+    </entityField>
+    <entityParameter>
+      <name>ExcludeExisting_param</name>
+      <expose v="true" />
+    </entityParameter>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <isReadOnly v="true" />
+      <conditionProcess>%aditoprj%/entity/StandardWorkflow_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <alias>Data_alias</alias>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>DESCRIPTION.value</name>
+          <recordfield>STANDARD_WORKFLOW.DESCRIPTION</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DIAGRAM.value</name>
+          <recordfield>STANDARD_WORKFLOW.DIAGRAM</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PROCESSKEY.value</name>
+          <recordfield>STANDARD_WORKFLOW.PROCESSKEY</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>NAME.value</name>
+          <recordfield>STANDARD_WORKFLOW.NAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STANDARD_WORKFLOWID.value</name>
+          <recordfield>STANDARD_WORKFLOW.STANDARD_WORKFLOWID</recordfield>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+      <linkInformation>
+        <linkInformation>
+          <name>f0c5e67d-3851-488b-833c-7721678c599a</name>
+          <tableName>STANDARD_WORKFLOW</tableName>
+          <primaryKey>STANDARD_WORKFLOWID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+      </linkInformation>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/StandardWorkflow_entity/recordcontainers/db/conditionProcess.js b/entity/StandardWorkflow_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9e683c7e4dcd25c8dce2af1f6c84cbdfd2b43cac
--- /dev/null
+++ b/entity/StandardWorkflow_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,17 @@
+import("system.result");
+import("Sql_lib");
+import("system.workflow");
+import("system.vars");
+import("Util_lib");
+
+var isExcludeExisting = Utils.toBoolean(vars.get("$param.ExcludeExisting_param"));
+if (isExcludeExisting)
+{
+    var existingWorkflows = JSON.parse(workflow.getProcessDefinitions(workflow.createConfigForLoadingProcessDefinitions()));
+    var existingKeys = existingWorkflows.map(function (workflowDefinition)
+    {
+        return workflowDefinition.key;
+    });
+    var condition = newWhereIfSet("STANDARD_WORKFLOW.PROCESSKEY", existingKeys, SqlBuilder.NOT_IN());
+    result.string(condition.toString());
+}
\ No newline at end of file
diff --git a/entity/WorkflowDefinitionStore_entity/WorkflowDefinitionStore_entity.aod b/entity/WorkflowDefinitionStore_entity/WorkflowDefinitionStore_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..21a60f403d67154cb83035a0b7043c22a3801502
--- /dev/null
+++ b/entity/WorkflowDefinitionStore_entity/WorkflowDefinitionStore_entity.aod
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.18" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.18">
+  <name>WorkflowDefinitionStore_entity</name>
+  <title>Workflow definitions</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>dataless</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+    <entityField>
+      <name>selectedWorkflows</name>
+      <consumer>StandardWorkflows</consumer>
+    </entityField>
+    <entityConsumer>
+      <name>StandardWorkflows</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>StandardWorkflow_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ExcludeExisting_param</name>
+          <valueProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/standardworkflows/children/excludeexisting_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>deploySelectedWorkflow</name>
+      <title>Add selected</title>
+      <onActionProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:PLUS</iconId>
+      <stateProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/stateProcess.js</stateProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>deployAllWorkflows</name>
+      <title>Add all</title>
+      <onActionProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployallworkflows/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:PLUS_CIRCLE</iconId>
+    </entityActionField>
+    <entityField>
+      <name>excludeExisting</name>
+      <title>Exclude existing workflows</title>
+      <contentType>BOOLEAN</contentType>
+      <state>EDITABLE</state>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <datalessRecordContainer>
+      <name>dataless</name>
+      <alias>Data_alias</alias>
+    </datalessRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/WorkflowDefinitionStore_entity/entityfields/deployallworkflows/onActionProcess.js b/entity/WorkflowDefinitionStore_entity/entityfields/deployallworkflows/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..880fea03eb11fc77dc47c8abac8c80b4cd409a0a
--- /dev/null
+++ b/entity/WorkflowDefinitionStore_entity/entityfields/deployallworkflows/onActionProcess.js
@@ -0,0 +1,27 @@
+import("Util_lib");
+import("system.neon");
+import("system.util");
+import("system.workflow");
+import("Sql_lib");
+import("system.vars");
+
+var workflowSql = newSelect(["PROCESSKEY", "PROCESSXML"]).from("STANDARD_WORKFLOW");
+
+var isExcludeExisting = Utils.toBoolean(vars.get("$field.excludeExisting"));
+if (isExcludeExisting)
+{
+    var existingWorkflows = JSON.parse(workflow.getProcessDefinitions(workflow.createConfigForLoadingProcessDefinitions()));
+    var existingKeys = existingWorkflows.map(function (workflowDefinition)
+    {
+        return workflowDefinition.key;
+    });
+    workflowSql.whereIfSet("STANDARD_WORKFLOW.PROCESSKEY", existingKeys, SqlBuilder.NOT_IN());
+}
+
+workflowSql.table().forEach(function ([key, processXml])
+{
+    processXml = util.decodeBase64String(processXml);
+    workflow.deployProcess(key, processXml);
+});
+
+neon.refreshAll();
\ No newline at end of file
diff --git a/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/onActionProcess.js b/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..185311ec1d7c36acba219f2882935845e3339a77
--- /dev/null
+++ b/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/onActionProcess.js
@@ -0,0 +1,16 @@
+import("system.neon");
+import("system.util");
+import("system.workflow");
+import("Sql_lib");
+import("system.vars");
+
+var workflowId = vars.get("$field.selectedWorkflows");
+var [key, processXml] = newSelect(["PROCESSKEY", "PROCESSXML"])
+    .from("STANDARD_WORKFLOW")
+    .where("STANDARD_WORKFLOW.STANDARD_WORKFLOWID", workflowId)
+    .arrayRow();
+
+processXml = util.decodeBase64String(processXml);
+workflow.deployProcess(key, processXml);
+
+neon.refreshAll();
\ No newline at end of file
diff --git a/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/stateProcess.js b/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a0cbee140b30c3f499f7b5d86f1dbcbfcc4172e4
--- /dev/null
+++ b/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/stateProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+
+var state = neon.COMPONENTSTATE_DISABLED;
+if (vars.get("$field.selectedWorkflows"))
+{
+    state = neon.COMPONENTSTATE_EDITABLE;
+}
+result.string(state);
\ No newline at end of file
diff --git a/entity/WorkflowDefinitionStore_entity/entityfields/standardworkflows/children/excludeexisting_param/valueProcess.js b/entity/WorkflowDefinitionStore_entity/entityfields/standardworkflows/children/excludeexisting_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..60469fabc553bfe606d029a532264f4aec07c9a8
--- /dev/null
+++ b/entity/WorkflowDefinitionStore_entity/entityfields/standardworkflows/children/excludeexisting_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.excludeExisting"));
\ No newline at end of file
diff --git a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
index 97fcd7f503d021ab57d135da7912aa04363a6d0a..d049a24df4f0bd86b31d2135b1be18998ec9abab 100644
--- a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
+++ b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
@@ -232,6 +232,13 @@
           <isObjectAction v="false" />
           <iconId>NEON:PLUS</iconId>
         </entityActionField>
+        <entityActionField>
+          <name>openStore</name>
+          <title>Standard workflows</title>
+          <onActionProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/tableactions/children/openstore/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+          <iconId>VAADIN:PACKAGE</iconId>
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityActionField>
diff --git a/entity/WorkflowDefinition_entity/entityfields/tableactions/children/openstore/onActionProcess.js b/entity/WorkflowDefinition_entity/entityfields/tableactions/children/openstore/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..dec35f2444423141abf1d9fcef1829bc1d4489ae
--- /dev/null
+++ b/entity/WorkflowDefinition_entity/entityfields/tableactions/children/openstore/onActionProcess.js
@@ -0,0 +1,3 @@
+import("system.neon");
+
+neon.openContext("WorkflowDefinitionStore", "WorkflowDefinitionStore_view", null, neon.OPERATINGSTATE_VIEW, {});
\ No newline at end of file
diff --git a/neonContext/StandardWorkflow/StandardWorkflow.aod b/neonContext/StandardWorkflow/StandardWorkflow.aod
new file mode 100644
index 0000000000000000000000000000000000000000..a59793aafb3cd0b2bb6245527ea24996281e76c3
--- /dev/null
+++ b/neonContext/StandardWorkflow/StandardWorkflow.aod
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>StandardWorkflow</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterView>StandardWorkflowFilter_view</filterView>
+  <lookupView>StandardWorkflowFilter_view</lookupView>
+  <entity>StandardWorkflow_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>a30bfbf9-5e2a-4f9e-85b4-23763c228cb7</name>
+      <view>StandardWorkflowFilter_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/WorkflowDefinitionStore/WorkflowDefinitionStore.aod b/neonContext/WorkflowDefinitionStore/WorkflowDefinitionStore.aod
new file mode 100644
index 0000000000000000000000000000000000000000..83c77e78145347fcbd904dd64745ab7591b406d8
--- /dev/null
+++ b/neonContext/WorkflowDefinitionStore/WorkflowDefinitionStore.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>WorkflowDefinitionStore</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>WorkflowDefinitionStore_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>3a038eee-9187-4d47-bd63-f6396c915627</name>
+      <view>WorkflowDefinitionStore_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/StandardWorkflowFilter_view/StandardWorkflowFilter_view.aod b/neonView/StandardWorkflowFilter_view/StandardWorkflowFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..7104b53b647f57c84e47a10b4877a9a9b3675b6a
--- /dev/null
+++ b/neonView/StandardWorkflowFilter_view/StandardWorkflowFilter_view.aod
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
+  <name>StandardWorkflowFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tilesViewTemplate>
+      <name>Tiles</name>
+      <iconField>DIAGRAM</iconField>
+      <titleField>NAME</titleField>
+      <subtitleField>PROCESSKEY</subtitleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <isDeletable v="false" />
+      <isEditable v="false" />
+    </tilesViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/WorkflowDefinitionStore_view/WorkflowDefinitionStore_view.aod b/neonView/WorkflowDefinitionStore_view/WorkflowDefinitionStore_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..1b580e907429e5f681bbf06da99f663097b8d02b
--- /dev/null
+++ b/neonView/WorkflowDefinitionStore_view/WorkflowDefinitionStore_view.aod
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
+  <name>WorkflowDefinitionStore_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <size>SMALL</size>
+  <isOverlay v="true" />
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Options</header>
+      <footer>Actions</footer>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <lookupViewTemplate>
+      <name>WorkflowLookup</name>
+      <consumerField>selectedWorkflows</consumerField>
+      <consumerPresentationMode>EMBEDDED</consumerPresentationMode>
+    </lookupViewTemplate>
+    <actionsViewTemplate>
+      <name>Actions</name>
+      <actions>
+        <element>deploySelectedWorkflow</element>
+        <element>deployAllWorkflows</element>
+      </actions>
+    </actionsViewTemplate>
+    <genericViewTemplate>
+      <name>Options</name>
+      <editMode v="true" />
+      <fields>
+        <entityFieldLink>
+          <name>6f24b365-e339-4c32-9cf6-1cb7cbef1571</name>
+          <entityField>excludeExisting</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>