diff --git a/exercises/inputs/2_data_flow/template.json b/exercises/inputs/2_data_flow/template.json
new file mode 100644
index 0000000000000000000000000000000000000000..1cf1a5113d93ea2e661dc258ddd92b22ebcf567a
--- /dev/null
+++ b/exercises/inputs/2_data_flow/template.json
@@ -0,0 +1,81 @@
+{
+  "fws": [
+    {
+      "fw_id": 1,
+      "name": "Post the job",
+      "spec": {
+        "_tasks": [
+          {
+            "_fw_name": "PythonFunctionTask",
+            "function": "auxiliary.print_func",
+            "inputs": ["job description"],
+            "outputs": [""]
+          }
+        ],
+        "job description": {}
+      }
+    },
+    {
+      "fw_id": 2,
+      "name": "Candidates apply",
+      "spec": {
+        "_tasks": [
+          {
+            "_fw_name": "PythonFunctionTask",
+            "function": "",
+            "inputs": [
+                "",
+                ""
+            ],
+            "outputs": [""]
+          }
+        ],
+        "application template": {},
+        "maximum applications": 50
+      }
+    },
+    {
+      "fw_id": 3,
+      "name": "Screen candidates",
+      "spec": {
+        "_tasks": [
+          {
+            "_fw_name": "PythonFunctionTask",
+            "function": "",
+            "inputs": [
+                "",
+                "",
+                "",
+                ""
+            ],
+            "outputs": [""]
+          }
+        ],
+        "number to invite": 4,
+        "minimum score": 2
+      }
+    },
+    {
+      "fw_id": 4,
+      "name": "Interview candidates",
+      "spec": {
+        "_tasks": [
+          {
+            "_fw_name": "PythonFunctionTask",
+            "function": "",
+            "inputs": [
+                "",
+                "",
+                ""
+            ],
+            "outputs": [""]
+          }
+        ],
+        "number to fill": 2
+      }
+    }
+  ],
+  "links": {},
+  "metadata": {},
+  "name": ""
+}
diff --git a/exercises/inputs/2_data_flow/template.yaml b/exercises/inputs/2_data_flow/template.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d0b247cb3d224d00297c5610fd815e1c9e7a8049
--- /dev/null
+++ b/exercises/inputs/2_data_flow/template.yaml
@@ -0,0 +1,42 @@
+fws:
+- fw_id: 1
+  name: Post the job
+  spec:
+    _tasks:
+    - _fw_name: PythonFunctionTask
+      function: auxiliary.print_func
+      inputs: [job description]
+      outputs: ['']
+    job description: {}
+- fw_id: 2
+  name: Candidates apply
+  spec:
+    _tasks:
+    - _fw_name: PythonFunctionTask
+      function: ''
+      inputs: ['', '']
+      outputs: ['']
+    application template: {}
+    maximum applications: 50
+- fw_id: 3
+  name: Screen candidates
+  spec:
+    _tasks:
+    - _fw_name: PythonFunctionTask
+      function: ''
+      inputs: ['', '', '', '']
+      outputs: ['']
+    minimum score: 2
+    number to invite: 4
+- fw_id: 4
+  name: Interview candidates
+  spec:
+    _tasks:
+    - _fw_name: PythonFunctionTask
+      function: ''
+      inputs: ['', '', '']
+      outputs: ['']
+    number to fill: 2
+links: {}
+metadata: {}
+name: ''