diff --git a/.liquibase/Data_alias/basic/2020.2.2/changelog.xml b/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
index 052c3a8db2d87746759451543e6de5feceb740cb..7f5016480e9281e7e73761fff2b1664e8e62cdc4 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
@@ -5,4 +5,5 @@
     <include relativeToChangelogFile="true" file="Knowledgemanagement/changelog_knowledgeManagement.xml"/>
     <include relativeToChangelogFile="true" file="insert_employeeCountAttribute.xml"/>
     <include relativeToChangelogFile="true" file="MSTeams/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="insert_newsletterAttribute.xml"/>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.2/insert_newsletterAttribute.xml b/.liquibase/Data_alias/basic/2020.2.2/insert_newsletterAttribute.xml
new file mode 100644
index 0000000000000000000000000000000000000000..af877f23248b079e318b4a090bbb6e8fe3d90cd5
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.2/insert_newsletterAttribute.xml
@@ -0,0 +1,33 @@
+<?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="4b285b34-29bc-4446-8d95-37cfcff7bd58">
+      <insert tableName="AB_ATTRIBUTE">
+          <column name="AB_ATTRIBUTEID" value="cf985906-b4f9-443e-9d7b-edbeb60ca463"/>
+          <column name="ATTRIBUTE_NAME" value="Marketing"/>
+          <column name="ATTRIBUTE_TYPE" value="GROUP"/>
+          <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      </insert>
+      <insert tableName="AB_ATTRIBUTE">
+          <column name="AB_ATTRIBUTEID" value="e196975c-6cfd-46dc-9cb2-053893ec2faa"/>
+          <column name="ATTRIBUTE_PARENT_ID" value="cf985906-b4f9-443e-9d7b-edbeb60ca463"/>
+          <column name="ATTRIBUTE_NAME" value="Newsletter"/>
+          <column name="ATTRIBUTE_TYPE" value="BOOLEAN"/>
+          <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+          <column name="SORTING" valueNumeric="0"/>
+      </insert>
+      <insert tableName="AB_ATTRIBUTEUSAGE">
+          <column name="AB_ATTRIBUTEUSAGEID" value="e9842896-628c-4c80-a0ef-811f35b8ae51"/>
+          <column name="AB_ATTRIBUTE_ID" value="cf985906-b4f9-443e-9d7b-edbeb60ca463"/>
+          <column name="OBJECT_TYPE" value="Person"/>
+          <column name="MAX_COUNT" valueNumeric="1"/>
+      </insert>
+      <insert tableName="AB_ATTRIBUTEUSAGE">
+          <column name="AB_ATTRIBUTEUSAGEID" value="fc594860-76c5-4acb-9758-44ea1a1db5d0"/>
+          <column name="AB_ATTRIBUTE_ID" value="e196975c-6cfd-46dc-9cb2-053893ec2faa"/>
+          <column name="OBJECT_TYPE" value="Person"/>
+          <column name="MAX_COUNT" valueNumeric="1"/>
+      </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/entity/Document_entity/entityfields/msteam/children/synchronizedocuments/onActionProcess.js b/entity/Document_entity/entityfields/msteam/children/synchronizedocuments/onActionProcess.js
index 2d87149229709d4de9abb79bb4bd67b40b0e28a2..841ff10b1844fa44c81a817f99987d1ff2f42db7 100644
--- a/entity/Document_entity/entityfields/msteam/children/synchronizedocuments/onActionProcess.js
+++ b/entity/Document_entity/entityfields/msteam/children/synchronizedocuments/onActionProcess.js
@@ -1,7 +1,7 @@
 import("system.neon");
 import("system.vars");
 
-neon.openContext("MSTTeamDocument", null, null, neon.OPERATINGSTATE_NEW, {
+neon.openContext("MSTTeamsDocument", "MSTeamsDocumentEdit_view", null, neon.OPERATINGSTATE_VIEW, {
     "MSTTeamId_param" : vars.get("$param.MSTTeamId_param"),
     "ObjectRowId_param" : vars.get("$param.AssignmentRowId_param"),
     "AssignmentName_param" : vars.get("$param.AssignmentName_param"),
diff --git a/entity/MSTeamsDocument_entity/MSTeamsDocument_entity.aod b/entity/MSTeamsDocument_entity/MSTeamsDocument_entity.aod
index 9929c440ae7a5d952e3c19cb7a6b1001aa165e3c..ac694130ae551436e4c84fab27e7960cd550a77d 100644
--- a/entity/MSTeamsDocument_entity/MSTeamsDocument_entity.aod
+++ b/entity/MSTeamsDocument_entity/MSTeamsDocument_entity.aod
@@ -4,7 +4,6 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/MSTeamsDocument_entity/documentation.adoc</documentation>
   <siblings />
-  <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
@@ -14,12 +13,14 @@
       <title>Documents</title>
       <dropDownProcess>%aditoprj%/entity/MSTeamsDocument_entity/entityfields/documents/dropDownProcess.js</dropDownProcess>
       <selectionMode>MULTI</selectionMode>
+      <state>EDITABLE</state>
     </entityField>
     <entityField>
       <name>CHANNEL</name>
       <title>Channel</title>
       <consumer>Channels</consumer>
       <mandatory v="true" />
+      <state>EDITABLE</state>
     </entityField>
     <entityParameter>
       <name>ObjectRowId_param</name>
@@ -38,17 +39,17 @@
     </entityParameter>
     <entityConsumer>
       <name>Channels</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>MSTeamsChannel_entity</entityName>
-        <fieldName>ChannelsByName</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>TeamId_param</name>
           <valueProcess>%aditoprj%/entity/MSTeamsDocument_entity/entityfields/channels/children/teamid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>MSTeamsChannel_entity</entityName>
+        <fieldName>ChannelsByName</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>MSTTeamId_param</name>
@@ -59,21 +60,15 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityActionField>
+      <name>importDocuments</name>
+      <onActionProcess>%aditoprj%/entity/MSTeamsDocument_entity/entityfields/importdocuments/onActionProcess.js</onActionProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
-    <jDitoRecordContainer>
-      <name>jdito</name>
-      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
-      <contentProcess>%aditoprj%/entity/MSTeamsDocument_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
-      <onInsert>%aditoprj%/entity/MSTeamsDocument_entity/recordcontainers/jdito/onInsert.js</onInsert>
-      <recordFieldMappings>
-        <jDitoRecordFieldMapping>
-          <name>UID.value</name>
-        </jDitoRecordFieldMapping>
-        <jDitoRecordFieldMapping>
-          <name>DOCUMENTS.value</name>
-        </jDitoRecordFieldMapping>
-      </recordFieldMappings>
-    </jDitoRecordContainer>
+    <datalessRecordContainer>
+      <name>dataless</name>
+      <alias>Data_alias</alias>
+    </datalessRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/MSTeamsDocument_entity/recordcontainers/jdito/onInsert.js b/entity/MSTeamsDocument_entity/entityfields/importdocuments/onActionProcess.js
similarity index 75%
rename from entity/MSTeamsDocument_entity/recordcontainers/jdito/onInsert.js
rename to entity/MSTeamsDocument_entity/entityfields/importdocuments/onActionProcess.js
index d97ac448ef7162f700693fe9a9089adb10971e01..7237c6c01de74d5355cde59d84173d56989b55b0 100644
--- a/entity/MSTeamsDocument_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/MSTeamsDocument_entity/entityfields/importdocuments/onActionProcess.js
@@ -9,7 +9,7 @@ import("system.logging");
 import("system.neon");
 
 var rowData = vars.get("$local.rowdata");
-var documents = text.decodeMS(rowData["DOCUMENTS.value"]);
+var documents = text.decodeMS(vars.get("$field.DOCUMENTS"));
 
 documents.forEach(function (document)
 {
@@ -20,8 +20,8 @@ documents.forEach(function (document)
     var assignmentName = vars.get("$param.AssignmentName_param");
     var assignmentRowId = vars.get("$param.ObjectRowId_param");
     var alias = SqlUtils.getBinariesAlias();
-
-    var uid = db.insertBinary(assignmentTable, assignmentName, assignmentRowId, null, 
-            file, documentName, "", "", alias, util.getNewUUID());    
+    
+    db.insertBinary(assignmentTable, assignmentName, assignmentRowId, null, 
+        file, documentName, "", "", alias, util.getNewUUID());    
 });
 
diff --git a/entity/MSTeamsDocument_entity/recordcontainers/jdito/contentProcess.js b/entity/MSTeamsDocument_entity/recordcontainers/jdito/contentProcess.js
deleted file mode 100644
index af9ece7caa7f3a45a9d57f2700b96a4c9a5fa1ea..0000000000000000000000000000000000000000
--- a/entity/MSTeamsDocument_entity/recordcontainers/jdito/contentProcess.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import("system.result");
-import("system.vars");
-
-//TODO: This dummy implementation shouldn't be nescessary here. Remove this process eventually. #1051003
-var rows = [];
-if (vars.get("$local.idvalues"))
-    rows = vars.get("$local.idvalues").map(function (id) {return [id, ""];});
-
-result.object(rows);
\ No newline at end of file
diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index 05730801196306c7ac4de7a1c7281e9cdcf8b01d..375b30cc06694d778e6d78eafe3e31288ab804b3 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -633,7 +633,7 @@ WorkflowLinkActions.types.RECEIVE_TASK.execute = function (pParameters)
 {
     if (!pParameters.processInstanceId)
         return;
-    workflow.triggerReceiveTask(pParameters.processInstanceId, pParameters.receiveTask || null);
+    workflow.triggerReceiveTask(pParameters.processInstanceId, pParameters.receiveTask || null, pParameters.variables || null);
 }
 
 /**
@@ -643,7 +643,7 @@ WorkflowLinkActions.types.SIGNAL.execute = function (pParameters)
 {
     if (!pParameters.signal)
         return;
-    workflow.signalEventReceived(pParameters.signal);
+    workflow.signalEventReceived(pParameters.signal, pParameters.variables || null);
 }
 
 /**
@@ -653,7 +653,7 @@ WorkflowLinkActions.types.MESSAGE.execute = function (pParameters)
 {
     if (!pParameters.processInstanceId || !pParameters.message)
         return;
-    workflow.messageEventReceived(pParameters.message, pParameters.processInstanceId);
+    workflow.messageEventReceived(pParameters.message, pParameters.processInstanceId, pParameters.variables || null);
 }
 
 /**
@@ -679,6 +679,8 @@ WorkflowLinkActions.encodeAction = function (pType, pLink, pParams)
         actionObj.ms = pParams.message;
     if (pParams.receiveTask)
         actionObj.re = pParams.receiveTask;
+    if (pParams.variables)
+        actionObj.v = pParams.variables;
     actionObj.ty = pType;
     actionObj.ln = pLink;
     
@@ -721,6 +723,8 @@ WorkflowLinkActions.parseAction = function (pEncodedAction)
         actionParams.message = parsedAction.ms;
     if (parsedAction.re)
         actionParams.receiveTask = parsedAction.re;
+    if (parsedAction.v)
+        actionParams.variables = parsedAction.v;
     
     return {
         type: parsedAction.ty || null,