--- alias: user-guide-business-workflow-task-material-create-pre render_macros: false description: "Run a workflow for each pending Material before creation" --- # Before Material Creation Run a workflow for each **Material** before it is created. ![Screenshot of a Business Workflow updating pending Material properties before creation.](images/business-workflow-task-material-create-pre.png) ## Event Context The event provides the typed `Material` field to child tasks. Select it in the value editor directly; no entity-type condition or type conversion is required. ??? example "Before Material Creation" Add **Update entity properties** to the event branch. Select `Material` as `Entity`, add a String input row named `Description` with value `Awaiting inspection`, and leave `Persist` false. The creation operation saves the pending value. ## Behavior The handler runs once for each **Material** in the native creation collection, in collection order. An empty collection runs no handlers. Singular and generic creation services that reach this collection boundary use the same event. The `Material` may not yet have a persisted ID. Leave `Persist` false when updating its properties so the enclosing creation operation saves the pending values. The handler runs inside the creation transaction. An error can cancel or roll back creation. An After event runs after the operation boundary, while the transaction is still active.