Condition operation prevents Flow execution in Directus 11.17.0

Title

Condition operation prevents Flow execution in Directus 11.17.0


Hi everyone,

I’m using Directus 11.17.0 and I’m trying to build a simple Flow.

The goal is:

  • Trigger when an item in the test collection is updated.

  • If the item’s status is request_approval, continue the Flow.

  • Otherwise, stop.

I created several incremental tests.

Test 1

Event Hook (items.create)
→ Log to Console

Works correctly.

Test 2

Event Hook
→ Log to Console
→ Run Script

Run Script:

module.exports = async function (data) {
  return data.$trigger.key ?? data.$trigger.keys?.[0];
}

Works correctly.

Test 3

Event Hook
→ Log to Console
→ Run Script
→ Read Data

Works correctly.

The Read Data operation returns:

{
  "id": 49,
  "status": "draft",
  "content": "test 006"
}

The data chain before the Condition is:

{
  "$trigger": { ... },
  "$last": {
    "id": 49,
    "status": "draft",
    "content": "test 006"
  },
  "extract_item_id": "49",
  "read_item": {
    "id": 49,
    "status": "draft",
    "content": "test 006"
  }
}

Problem

As soon as I add a Condition operation anywhere in the Flow, the Flow no longer executes.

I don’t get a failed execution.

I don’t get a rejected execution.

I simply get no Flow log at all.

I have tried these filters:

{
  "status": {
    "_eq": "request_approval"
  }
}

{
  "$trigger": {
    "payload": {
      "status": {
        "_eq": "request_approval"
      }
    }
  }
}

{
  "_and": [
    {
      "status": {
        "_eq": "request_approval"
      }
    }
  ]
}

All produce the same behavior.

As soon as I delete the Condition operation, the Flow starts working again.

Is this expected behavior?

Is there a known issue in Directus 11.17.0, or am I configuring the Condition operation incorrectly?