diff --git a/runs/FSharpArcCapsule.yml b/runs/FSharpArcCapsule.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5da154dc5032f90c826819412e2c351b94019c0c
--- /dev/null
+++ b/runs/FSharpArcCapsule.yml
@@ -0,0 +1,7 @@
+scriptFile:
+  class: File
+  path: ../workflows/FSharpArcCapsule/script.fsx
+firstArg:
+  class: File
+  path: ../assays/measurement1/dataset/table.csv
+secondArg: ./result.csv
diff --git a/workflows/FSharpArcCapsule.cwl b/workflows/FSharpArcCapsule.cwl
new file mode 100644
index 0000000000000000000000000000000000000000..9e14f7430066fc86d42f1b3365c69e78691668ef
--- /dev/null
+++ b/workflows/FSharpArcCapsule.cwl
@@ -0,0 +1,31 @@
+cwlVersion: v1.2
+class: CommandLineTool
+hints:
+  DockerRequirement:
+    dockerPull: mcr.microsoft.com/dotnet/sdk:6.0
+requirements:
+  EnvVarRequirement:
+    envDef:
+      - envName: DOTNET_NOLOGO
+        envValue: "true"
+  NetworkAccess:
+    networkAccess: true
+baseCommand: [dotnet, fsi]
+inputs:
+  scriptFile:
+    type: File
+    inputBinding:
+      position: 1
+  firstArg:
+    type: File
+    inputBinding:
+      position: 2
+  secondArg:
+    type: string
+    inputBinding:
+      position: 3
+outputs:
+  output:
+    type: File
+    outputBinding:
+      glob: "*.csv"
\ No newline at end of file
diff --git a/workflows/FSharpArcCapsule/script.fsx b/workflows/FSharpArcCapsule/script.fsx
index 6248b03e0eba9e1de06673d52dc5d9609bef746a..f4deb9029c503abfe59d9f87df893eb4225ecf59 100644
--- a/workflows/FSharpArcCapsule/script.fsx
+++ b/workflows/FSharpArcCapsule/script.fsx
@@ -3,9 +3,13 @@
 open FSharp.Data
 
 
+let args : string array = fsi.CommandLineArgs |> Array.tail
+let first = args.[0]
+let second = args.[1]
+
 let data =
     CsvFile
-        .Load("/arc/assays/measurement1/dataset/table.csv")
+        .Load(first)
         .Cache()
 
 let r =
@@ -15,4 +19,4 @@ let r =
             yield sprintf "%f"  ((row.["value_1"].AsFloat()) + (row.["value_2"].AsFloat()))
     ]
 
-System.IO.File.WriteAllLines("/arc/runs/fsResult1/result.csv",r)
\ No newline at end of file
+System.IO.File.WriteAllLines(second,r)
\ No newline at end of file