diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index 4251f655c6a3d263495cec3f61db8176bca8e1c0..ad672958f9b81123bb87b558a835e7934e167d8a 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -24,8 +24,6 @@ class Task(models.Model):
     new_status = models.CharField(max_length=50, default="defining", null=True)
     status = models.CharField(db_index=True, default="unknown", max_length=50,blank=True, null=True)
 
-    new_workflow_id = models.CharField(max_length=15, blank=True, null=True)
-    new_workflow_uri = models.CharField(max_length=100, blank=True, null=True)
     resume = models.BooleanField(default=True)
     creationTime = models.DateTimeField(default=datetime.utcnow, blank=True)
 
diff --git a/atdb/taskdatabase/serializers.py b/atdb/taskdatabase/serializers.py
index a1fc74d1f58e3b69fc5905b6f27e7ab2a34d124d..9db22fd558ca3819d8400e59f675d37adc89d58c 100644
--- a/atdb/taskdatabase/serializers.py
+++ b/atdb/taskdatabase/serializers.py
@@ -41,6 +41,9 @@ class TaskSerializer(serializers.ModelSerializer):
         required=False,
     )
 
+    new_workflow_id = serializers.SerializerMethodField()  # no corresponding model property.
+    new_workflow_uri = serializers.SerializerMethodField()  # no corresponding model property.
+
     class Meta:
         model = Task
         fields = ('id','task_type','filter','predecessor','successors',
@@ -52,6 +55,30 @@ class TaskSerializer(serializers.ModelSerializer):
                   'log_entries'
                   )
 
+    def get_new_workflow_id(self, instance):
+        return instance.workflow.id
+
+    def get_new_workflow_uri(self, instance):
+        return instance.workflow.workflow_uri
+
+    def create(self, validated_data):
+        task = Task.objects.create(**validated_data)
+
+        workflow_uri = self.initial_data['new_workflow_uri']
+        if workflow_uri:
+            #workflow_uri = validated_data['new_workflow_uri']
+            workflow = Workflow.objects.get(workflow_uri=workflow_uri)
+            task.workflow = workflow
+            task.save()
+            return task
+
+        workflow_id = self.initial_data['new_workflow_id']
+        if workflow_id:
+            workflow = Workflow.objects.get(id=workflow_id)
+            task.workflow = workflow
+            task.save()
+            return task
+
 
 class StatusSerializer(serializers.ModelSerializer):
 
diff --git a/atdb/taskdatabase/services/signals.py b/atdb/taskdatabase/services/signals.py
index 5edb49aaeeaa5fef0d6372023a56d22829207001..a955fe09eff6b53fab2db47cd8b9cfdc2d4a842f 100644
--- a/atdb/taskdatabase/services/signals.py
+++ b/atdb/taskdatabase/services/signals.py
@@ -143,7 +143,7 @@ def handle_post_save(sender, **kwargs):
         myStatus.save()
 
     # connect the task to a workflow after posting a (flat) task through the REST API
-    myTaskObject = add_workflow(myTaskObject)
+    #myTaskObject = add_workflow(myTaskObject)
     #myTaskObject = add_predecessor(myTaskObject)
 
     # temporarily disconnect the post_save handler to save the dataproduct (again) and avoiding recursion.
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index cf58afcb7291f9ab99eaf1cde4e060c047e7b82d..bc40666a8d4f696384d8594a2af90b82490e3bf5 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -44,7 +44,7 @@
     </div>
     {% include 'taskdatabase/pagination.html' %}
 </div>
-    <p class="footer"> Version 1.0.0 (29 jan 2021 - 16:00)
+    <p class="footer"> Version 1.0.0 (1 feb 2021 - 17:00)
     <script type="text/javascript">
         (function(seconds) {
             var refresh,