diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b73a4ece3ea1238a17b15903bff916a81241f459..7c82d6225c0815a988d4036736ccf358e2408667 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -119,7 +119,11 @@ losoto_flagextend:
   allow_failure: true
   script:
     - cwl-runner --no-container steps/LoSoTo.Flagextend.cwl test_jobs/losoto_flagextend.json
-
+losoto_flagstation:
+  stage: test_steps
+  allow_failure: true
+  script:
+    - cwl-runner --no-container steps/LoSoTo.FlagStation.cwl test_jobs/losoto_flagstation.json
 losoto_faraday:
   stage: test_steps
   allow_failure: true
diff --git a/steps/LoSoTo.FlagStation.cwl b/steps/LoSoTo.FlagStation.cwl
new file mode 100644
index 0000000000000000000000000000000000000000..1c67c12fa1fdeb7cd2e2cd3f9a16ebb6fc2a5a8b
--- /dev/null
+++ b/steps/LoSoTo.FlagStation.cwl
@@ -0,0 +1,104 @@
+#!/usr/bin/env cwl-runner
+
+class: CommandLineTool
+cwlVersion: v1.0
+id: losoto_flagstation
+
+$namespaces:
+  lofar: https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
+doc: |
+  This operation for LoSoTo implements a station-flagging procedure. Flags are time-independent.
+  WEIGHT: compliant
+
+requirements:
+  InlineJavascriptRequirement:
+    expressionLib:
+      - { $include: utils.js}
+  InitialWorkDirRequirement:
+    listing:
+      - entryname: 'parset.config'
+        entry: $(get_losoto_config('FLAGSTATION').join('\n'))
+
+      - entryname: $(inputs.input_h5parm.basename)
+        entry: $(inputs.input_h5parm)
+        writable: true
+
+baseCommand: "losoto"
+
+arguments:
+  - $(inputs.input_h5parm.basename)
+  - parset.config
+
+hints:
+  DockerRequirement:
+    dockerPull: lofareosc/lofar-pipeline-ci:latest
+
+inputs:
+  - id: input_h5parm
+    type: File
+    format: lofar:#H5Parm
+  - id: soltab
+    type: string
+    doc: "Solution table"
+  - id: mode
+    type:
+      type: enum
+      symbols:
+        - bandpass
+        - resid
+    doc: |
+      Fitting algorithm: bandpass or resid. Bandpass mode clips amplitudes
+       relative to a model bandpass (only LOFAR is currently supported).
+      Resid mode clips residual phases or log(amplitudes).
+  - id: maxFlaggedFraction
+    type: float?
+    doc: |
+      This sets the maximum allowable fraction of flagged solutions above
+      which the entire station is flagged.
+  - id: nSigma
+    type: float?
+    doc: |
+      This sets the number of standard deviations considered when outlier
+       clipping is done.
+  - id: maxStddev
+    type: float?
+    doc: |
+      Maximum allowable standard deviation when outlier clipping is done. For phases, this should value
+      should be in radians, for amplitudes in log(amp). If None (or negative), a value of 0.1 rad is
+      used for phases and 0.01 for amplitudes.
+  - id: ampRange
+    type: float[]?
+    doc: |
+      2-element array of the median amplitude level to be acceptable,
+       ampRange[0]: lower limit, ampRange[1]: upper limit.
+      If None or [0, 0], a reasonable range for typical observations is used.
+  - id: telescope
+    type: string?
+    doc: Specifies the telescope if mode = 'bandpass'.
+  - id: skipInternational
+    type: string?
+    doc: |
+      If True, skip flagging of international LOFAR stations (only used if
+       telescope = 'lofar')
+  - id: refAnt
+    type: string?
+    doc: |
+      If mode = resid, this sets the reference antenna for phase solutions,
+       by default None.
+  - id: soltabExport
+    type: string?
+    doc: |
+      Soltab to export station flags to. Note: exported flags are not time- or
+      frequency-dependent.
+  - id: ncpu
+    type: int?
+    doc: Number of cpu to use, by default all available.
+
+outputs:
+  - id: output_h5parm
+    type: File
+    format: lofar:#H5Parm
+    outputBinding:
+      glob: $(inputs.input_h5parm.basename)
+$schema:
+  - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/test_jobs/losoto_flagstation.json b/test_jobs/losoto_flagstation.json
new file mode 100644
index 0000000000000000000000000000000000000000..d206199f088fe63102e13497b83292f7fc985061
--- /dev/null
+++ b/test_jobs/losoto_flagstation.json
@@ -0,0 +1,5 @@
+{
+  "input_h5parm": {"class": "File", "path": "/data/example.h5", "format": "lofar:#H5Parm"},
+  "soltab":  "sol000/amplitude000",
+  "mode": "bandpass"
+}