Field details: custom entity (Data Breach), field il_dateandtimeofdatabreach, behaviour = User Local, format = Date and Time. The Data Breach entity is related to Case, and the field is entered via the Case form (Data Breach tab). Environment: D365 Customer Service, model-driven.
What I tried (and didn't work):
I built a real-time workflow on the Data Breach entity (scope Organization, trigger on Record Created):
- Condition: If
Date and Time of Data Breach > [anchor], then Stop Workflow → Canceled with a custom error.
I tried three different anchors for "today":
- The Data Breach record's own Created On
- The related Case's Created On
- Process-Execution Time
In every case, when I create a record with a clearly future date (e.g. today 19 June, breach date 24 June), the workflow job shows Succeeded — it never reaches the Cancel step and the record saves with no error. Logically Process-Execution Time = now, so the condition should be TRUE, but it Succeeds every time.
Other OOTB options I'm aware of
- Formula column with Now() (since calculated columns are deprecated) + a business rule to show the error.
Given the no-code constraint, is the workflow approach viable at all for this? Or is a formula column + business rule the right OOTB route? And is there a reason a real-time Create workflow would consistently fail to read the field value for this comparison?