diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index c9558baefe3e2cfb98c86980090279cc36383154..0dc1eae96a5bba6d492c5b5fe06edac595c6d5ae 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -4,6 +4,9 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Activity_entity/documentation.adoc</documentation>
   <title>Activity</title>
+  <siblings>
+    <element>ActivityLink_entity</element>
+  </siblings>
   <grantDeleteProcess>%aditoprj%/entity/Activity_entity/grantDeleteProcess.js</grantDeleteProcess>
   <contentTitleProcess>%aditoprj%/entity/Activity_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Activity_entity/afterUiInit.js</afterUiInit>
@@ -740,6 +743,15 @@
           <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>IsUnlinked</name>
+          <title>Is unlinked activity</title>
+          <contentType>BOOLEAN</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js</filterConditionProcess>
+          <isLookupFilter v="false" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
index 6b1c96c3d19779e42de1168ab94b5e132eac7264..ee923b83f263327cc85adc8fa23f144ea350f3f0 100644
--- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
@@ -40,7 +40,11 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.
 if (vars.exists("$param.ActivityIDs_param") && vars.get("$param.ActivityIDs_param")) 
 {
     var acticityIds = JSON.parse(vars.get("$param.ActivityIDs_param"));
-    condition.and("ACTIVITY.ACTIVITYID", acticityIds, SqlBuilder.IN());
+    if (acticityIds.length == 0) {
+        condition.and("ACTIVITY.ACTIVITYID", ""); // Bedingung um kein Ergebnis zu bekommen
+    } else {
+        condition.and("ACTIVITY.ACTIVITYID", acticityIds, SqlBuilder.IN());
+    }
 }
 
 if (vars.getString("$param.OnlyInnate_param") == "true") 
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e01b63784b6fc8afc75c743bfdcff5b64ad2268
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js
@@ -0,0 +1,23 @@
+import("KeywordRegistry_basic");
+import("system.logging");
+import("Sql_lib");
+import("system.vars");
+import("system.result");
+
+var operator = vars.get("$local.operator");
+var rawvalue = vars.get("$local.rawvalue");
+var operator2 = vars.get("$local.operator2");
+var sqlCond = "";
+
+if(operator == "1" && rawvalue == "1" ||  operator == "2" && rawvalue == "0")
+    operator2 = SqlBuilder.IN();
+else if(operator == "1" && rawvalue == "0" ||  operator == "2" && rawvalue == "1")
+    operator2 = SqlBuilder.NOT_IN();
+else 
+    sqlCond = "1=1";
+
+if (sqlCond == "")
+    sqlCond = new SqlBuilder().where("ACTIVITY.ACTIVITYID", new SqlBuilder().select("ACTIVITYLINK.ACTIVITY_ID").from("ACTIVITYLINK").groupBy("ACTIVITYLINK.ACTIVITY_ID"), operator2);
+
+
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..056eacc69deddeb622123f76b81c997713747a8a
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.object([["true", translate.text("Yes")], ["false", translate.text("No")]]);
\ No newline at end of file
diff --git a/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js b/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js
index 826d12e6b5386f0ca1808c840e61d740ac726b3d..005f7ca5ac1ed5f7275f3c13e74ab1cc185e924d 100644
--- a/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js
+++ b/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js
@@ -1,4 +1,8 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.exists("$global.ACTIVITY_IDS")? vars.get("$global.ACTIVITY_IDS"):"[]");
\ No newline at end of file
+if (vars.exists("$global.ACTIVITY_IDS") && vars.get("$global.ACTIVITY_IDS")) {
+    result.string(vars.get("$global.ACTIVITY_IDS"));
+} else {
+    result.string("[]");
+}
\ No newline at end of file
diff --git a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
index 43feeb028966f9f5e0da867224d550f289cc459b..8f1c9f0ead9994903655b9abd71da047ca14e850 100644
--- a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
+++ b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
@@ -32,6 +32,7 @@ for (var i = 0, l = files.length; i < l; i++)
             var mailObj = _getMailObj(files[i]);
             if (mailObj)
             {
+                mailObj.filename = files[i].filename;
                 var incomingMailExec = new IncomingEmailExecutor(mailObj);
                 incomingMailExec.setAlias(dbAlias);
                 var mailImportResult = incomingMailExec.autoProcess()
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 7d7faf29064e6a889ba516cd390fe185946689dc..977fdd9d8d13ec60b43378be48ecade7ec655b5f 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -6804,7 +6804,34 @@
       <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key>
     </entry>
     <entry>
-      <key>Settings</key>
+      <key>yellow</key>
+    </entry>
+    <entry>
+      <key>Borrow</key>
+    </entry>
+    <entry>
+      <key>Is unlinked activity</key>
+    </entry>
+    <entry>
+      <key>Fantasy</key>
+    </entry>
+    <entry>
+      <key>Extend</key>
+    </entry>
+    <entry>
+      <key>Krimi</key>
+    </entry>
+    <entry>
+      <key>red</key>
+    </entry>
+    <entry>
+      <key>Return</key>
+    </entry>
+    <entry>
+      <key>green</key>
+    </entry>
+    <entry>
+      <key>Actionthriller</key>
     </entry>
     <entry>
       <key>No new recipients found that can be added to the bulk mail.</key>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 14b87249af125526a2090fb370943eebb3636f65..b5e2a9842537fbd6e1b18b389ca089903611fa58 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -32,7 +32,6 @@
     </entry>
     <entry>
       <key>Finished</key>
-      <value>Abgeschlossen</value>
     </entry>
     <entry>
       <key>Show my organisations</key>
@@ -82,10 +81,6 @@
       <key>Has marketing approved this step?</key>
       <value>Hat das Marketing diesem Schritt zugestimmt?</value>
     </entry>
-    <entry>
-      <key>Create model</key>
-      <value>Modell erstellen</value>
-    </entry>
     <entry>
       <key>Task done</key>
       <value>Aufgabe abgeschlossen</value>
@@ -700,10 +695,6 @@
       <key>None</key>
       <value>Keine</value>
     </entry>
-    <entry>
-      <key>Edit workflow</key>
-      <value>Workflow bearbeiten</value>
-    </entry>
     <entry>
       <key>Date of request</key>
       <value>Datum der Anforderung</value>
@@ -2098,10 +2089,6 @@
       <key>{$TASK_STATUS}</key>
       <value>Status</value>
     </entry>
-    <entry>
-      <key>and open modeler</key>
-      <value>und Modeler öffnen</value>
-    </entry>
     <entry>
       <key>Task</key>
       <value>Aufgabe</value>
@@ -4017,9 +4004,11 @@
     </entry>
     <entry>
       <key>false</key>
+      <value>falsch</value>
     </entry>
     <entry>
       <key>true</key>
+      <value>wahr</value>
     </entry>
     <entry>
       <key>${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3</key>
@@ -5063,7 +5052,7 @@
     </entry>
     <entry>
       <key>Read</key>
-      <value>Gelesen</value>
+      <value>gelesen</value>
     </entry>
     <entry>
       <key>Permission Set ID</key>
@@ -6738,7 +6727,7 @@
     </entry>
     <entry>
       <key>archive</key>
-      <value>Archivieren</value>
+      <value>archivieren</value>
     </entry>
     <entry>
       <key>Bangladesh</key>
@@ -8265,10 +8254,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Contactreport</key>
       <value>Kontaktbericht</value>
     </entry>
-    <entry>
-      <key>The Sales Project can only be filled when a company has been specified</key>
-      <value>Das Vertriebsprojekt kann nur ausgefüllt werden, wenn eine Firma angegeben ist</value>
-    </entry>
     <entry>
       <key>Appointment planned</key>
       <value>Termin vereinbart</value>
@@ -8583,7 +8568,6 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Zip</key>
-      <value>Plz</value>
     </entry>
     <entry>
       <key>type</key>
@@ -8740,93 +8724,35 @@ Bitte Datumseingabe prüfen</value>
       <value>gültig ab (in </value>
     </entry>
     <entry>
-      <key>workflow notification</key>
-      <value>Workflow Benachrichtigung</value>
-    </entry>
-    <entry>
-      <key>leadimport notification</key>
-    </entry>
-    <entry>
-      <key>bulk mail sent</key>
-    </entry>
-    <entry>
-      <key>download ready</key>
-    </entry>
-    <entry>
-      <key>No new recipients found that can be added to the bulk mail.</key>
-      <value>Keine neuen Empfänger, die zur Serienmail hinzugefügt werden können, gefunden.</value>
-    </entry>
-    <entry>
-      <key>Permission received</key>
-      <value>erhaltene Berechtigung</value>
-    </entry>
-    <entry>
-      <key>granted permission</key>
-      <value>vergebene Berechtigung</value>
-    </entry>
-    <entry>
-      <key>Receive new Department Permission</key>
-      <value>Neue Abteilungs-Berechtigung erhalten</value>
-    </entry>
-    <entry>
-      <key>Receive new User Permission</key>
-      <value>Neue Benutzer-Berechtigung erhalten</value>
-    </entry>
-    <entry>
-      <key>export</key>
-    </entry>
-    <entry>
-      <key>No new recipients found that can be added to the serial letter.</key>
-      <value>Keine neuen Empfänger, die zum  Serienbrief werden können, gefunden.</value>
-    </entry>
-    <entry>
-      <key>export using the selected  template</key>
-      <value>Mit der ausgewählten Vorlage Exportieren</value>
+      <key>yellow</key>
     </entry>
     <entry>
-      <key>send mail</key>
-      <value>E-Mail losschicken</value>
+      <key>Borrow</key>
     </entry>
     <entry>
-      <key>Total in euros</key>
+      <key>Is unlinked activity</key>
+      <value>Ist eine unverknüpfte Aktivität</value>
     </entry>
     <entry>
-      <key>Workflow Model</key>
+      <key>Fantasy</key>
     </entry>
     <entry>
-      <key>{SEND_MAIL}</key>
-      <value>Email versenden</value>
+      <key>Extend</key>
     </entry>
     <entry>
-      <key>The workflow could not be deployed</key>
+      <key>Krimi</key>
     </entry>
     <entry>
-      <key>Workflow deploy failed</key>
+      <key>red</key>
     </entry>
     <entry>
-      <key>Download letter and create Activity</key>
-    </entry>
-    <entry>
-      <key>{SENT_MAIL}</key>
-    </entry>
-    <entry>
-      <key>Add Participants</key>
-    </entry>
-    <entry>
-      <key>and open Report</key>
-    </entry>
-    <entry>
-      <key>Add Recipients</key>
-    </entry>
-    <entry>
-      <key>New</key>
-      <value>Neu</value>
+      <key>Return</key>
     </entry>
     <entry>
-      <key>Release</key>
+      <key>green</key>
     </entry>
     <entry>
-      <key>Archived</key>
+      <key>Actionthriller</key>
     </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index a36b9b673f2b9a681843ae6ffca66ea1d83a9a85..1db9b01933ba612aa3e557888ba31ba0b4ed18ee 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -6870,7 +6870,34 @@
       <key>Valid from (as </key>
     </entry>
     <entry>
-      <key>Settings</key>
+      <key>yellow</key>
+    </entry>
+    <entry>
+      <key>Borrow</key>
+    </entry>
+    <entry>
+      <key>Is unlinked activity</key>
+    </entry>
+    <entry>
+      <key>Fantasy</key>
+    </entry>
+    <entry>
+      <key>Extend</key>
+    </entry>
+    <entry>
+      <key>Krimi</key>
+    </entry>
+    <entry>
+      <key>red</key>
+    </entry>
+    <entry>
+      <key>Return</key>
+    </entry>
+    <entry>
+      <key>green</key>
+    </entry>
+    <entry>
+      <key>Actionthriller</key>
     </entry>
     <entry>
       <key>No new recipients found that can be added to the bulk mail.</key>
diff --git a/process/IncomingEmailExecutor_lib/process.js b/process/IncomingEmailExecutor_lib/process.js
index a43fbc1f56043c6699cdfb335d50981fba6f24f0..555f4f161b3e60e782158c1a1aa1a632a5733c50 100644
--- a/process/IncomingEmailExecutor_lib/process.js
+++ b/process/IncomingEmailExecutor_lib/process.js
@@ -28,6 +28,7 @@ function IncomingEmailExecutor(pMail)
     this.mailSubject = this.rawMail[mail.MAIL_SUBJECT] || "";
     this.mailSender = this.rawMail[mail.MAIL_SENDER];
     this.mailSentDate = this.rawMail[mail.MAIL_SENTDATE];
+    this.filename = this.rawMail.filename;
 
     var mailRecipientsTo = this.rawMail[mail.RECIPIENT_TO].split(";");
     var mailRecipientsCc = this.rawMail[mail.RECIPIENT_CC].split(";");
@@ -194,14 +195,20 @@ IncomingEmailExecutor.prototype.createActivity = function(pAdditionalLinks)
         subject: this.mailSubject,
         content: this.getMailtextAsHtml(),
         categoryKeywordId: $KeywordRegistry.activityCategory$mail(),
-        directionKeywordId: this.activityData.direction || this.failbackActivityData.direction,
-        responsibleContactId: this.activityData.employeeContactId || this.failbackActivityData.employeeContactId
+        directionKeywordId: this.activityData.direction || this.failbackActivityData.direction
     };
+    
+    if (vars.get("$sys.isclient")){
+        activityDataForInsert.responsibleContactId = EmployeeUtils.getCurrentContactId();
+    } else {
+        activityDataForInsert.responsibleContactId = this.activityData.employeeContactId || this.failbackActivityData.employeeContactId;
+    }
+    
     var activityLinks = this.activityData.links || this.failbackActivityData.links;
     if (pAdditionalLinks)
         activityLinks = activityLinks.concat(pAdditionalLinks);
     activityLinks = ArrayUtils.distinct2d(activityLinks);//TODO: better check before adding the elements into the array if it already exists there
-    var activityDocs = [["mail.eml", util.encodeBase64String(mail.toRFC(this.rawMail)), true]];
+    var activityDocs = [[this.filename || "mail.eml", util.encodeBase64String(mail.toRFC(this.rawMail)), true]];
     
     var activityRes = ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, activityDocs, this._alias, this.mailSentDate);
     return activityRes;