diff --git a/biopet.wdl b/biopet.wdl
index a3ecdd01282fc8579cf9a5db6e514b29f6f99bc8..a7cd28b0c15925258981b3743c8f6856d8c8165a 100644
--- a/biopet.wdl
+++ b/biopet.wdl
@@ -244,6 +244,39 @@ task SampleConfig {
     }
 }
 
+task SampleConfigCromwellArrays {
+    input {
+        File? toolJar
+        String? preCommand
+        Array[File]+ inputFiles
+        String outputPath
+
+        Int memory = 4
+        Float memoryMultiplier = 2.0
+    }
+
+    String toolCommand = if defined(toolJar)
+        then "java -Xmx" + memory + "G -jar " +toolJar
+        else "biopet-sampleconfig -Xmx" + memory + "G"
+
+    command {
+        set -e -o pipefail
+        ~{preCommand}
+        mkdir -p . ~{"$(dirname " + outputPath + ")"}
+        ~{toolCommand} CromwellArrays \
+        -i ~{sep="-i " inputFiles} \
+        ~{"-o " + outputPath}
+    }
+
+    output {
+        File outputFile = outputPath
+    }
+
+    runtime {
+        memory: ceil(memory * memoryMultiplier)
+    }
+}
+
 task ScatterRegions {
     input {
         String? preCommand