Milestone Step
Description:
The Milestone workflow step makes the workflow instance wait until a specified date and time. The step provides an optional time zone selection and a required Wait till date/time value.
The step supports:
- Selecting a time zone for the milestone.
- Specifying the date and time until which the instance should wait.
- Connecting the workflow to True or False return paths after the milestone.
Inputs
- Select time zone - Specifies the time zone associated with the milestone date/time.
- Wait till – Specifies the date and time until which the workflow instance should wait.
Returns
- True – The True return path can connect to the next workflow activity after the milestone wait is reached.
- False - The False return path can be used for an alternative workflow path or appropriate handling when the milestone does not follow the expected path.
Usage:
The Milestone step is typically placed at a point in a workflow where processing must wait until a specified date and time.
A typical workflow pattern is:
Perform Processing → Milestone → Continue Processing
The step can be useful when a workflow needs to:
- Wait until a scheduled date.
- Delay subsequent processing until a specified time.
- Coordinate workflow activities with business dates.
- Create scheduled workflow progression.
- Wait for a future milestone before continuing.
- Coordinate time-based activities across different time zones.
The Wait till property uses the ClsDateTime data type, while the optional time-zone property uses TimeZoneList.

Typical Workflow Suggestions:
Wait Until a Scheduled Date
Use the step when a workflow should not continue until a predetermined date and time.
Example:
Submit Request → Milestone → Begin Processing
The workflow can pause at the Milestone step until it reaches the configured Wait till value.
Schedule Follow-Up Processing
Use the step to delay a follow-up activity until a specified time.
Example:
Complete Initial Processing → Milestone → Send Follow-Up
This can be useful when the workflow needs to perform an activity later rather than immediately.
Wait Until a Business Date
Use the step when processing should occur on a particular business date.
Example:
Receive Request → Prepare Data → Milestone → Process Request
The surrounding workflow determines the appropriate date/time before the Milestone is reached.
Delay Notification
Use the step before sending a notification that should be delivered at a future time.
Example:
Prepare Notification → Milestone → Send Notification
This allows the workflow to reach the notification activity only after the configured milestone time.
Schedule Report Generation
Use the step to delay report generation until a scheduled date and time.
Example:
Collect Data → Milestone → Generate Report → Send Report
This can be useful for scheduled reporting workflows.
Wait Before a Recurring Processing Stage
Use the step as a time-based transition between workflow stages.
Example:
Complete Daily Processing → Milestone → Start Next Processing Stage
The workflow can use a configured future date/time as the point at which the next stage becomes eligible to execute.
Coordinate Time-Zone-Specific Processing
Use Select time zone when the milestone needs to be associated with a particular time zone.
Example:
Prepare Regional Data → Milestone → Regional Processing
The step provides a dedicated TimeZoneList property for selecting the time zone.
Wait for a Future Appointment or Event
Use the step before workflow activities associated with a scheduled event.
Example:
Register Event → Milestone → Perform Event Processing
The workflow can remain at the milestone until the configured date and time.
Schedule Document Processing
Use the step when documents should be processed at a future time.
Example:
Receive Documents → Validate Documents → Milestone → Process Documents
This can separate document receipt from the scheduled processing stage.
Delay an Escalation
Use the step before an escalation-related activity when escalation should occur at a defined future time.
Example:
Create Request → Wait Period Logic → Milestone → Escalate Request
The surrounding workflow determines the appropriate milestone date/time.
Schedule an Approval Follow-Up
Use the step to delay a follow-up action associated with an approval process.
Example:
Submit for Approval → Milestone → Approval Follow-Up
This can provide a time-based point for subsequent workflow processing.
Coordinate Multiple Workflow Stages
Use multiple Milestone steps when different workflow stages need to occur at different scheduled times.
Example:
Stage 1 → Milestone → Stage 2 → Milestone → Stage 3
Each Milestone can represent a different scheduled point in the overall process.
Route Processing After the Milestone
Use the True and False connections to define subsequent workflow paths.
Example:
Milestone
→ True → Continue Processing
→ False → Alternative Handling
The step exposes both return values for workflow branching.
Use a Workflow Variable for the Date/Time
Use a workflow value that resolves to the required date/time when configuring the Wait till property, where the FlowWright environment supports it.
Example:
Calculate Target Date → Milestone → Execute Scheduled Activity
The step definition establishes Wait till as a ClsDateTime property but does not document the complete set of supported dynamic-value expressions.
Example:
Let’s build and execute the “MilestoneDef” example.
- Create a new process definition called “MilestoneDef” and open it in Designer mode.
- Drag a “Milestone” and “Task” step to the canvas.
- Connect the dots between the “Start” step and other steps, as shown above.
- Select the line between the steps to configure the “Connection Properties”. The default property values are “None, True, False, Error, and Evaluate”. Depending on the step’s purpose, you can configure additional values.
- Click the "Milestone" step to configure its "Required" properties. Provide a name for the step. Select the time zone from the drop-down list. Set the Wait Till field to a future date and time. Click the Save button. Note: Click the "AI Predict" button to have the Copilot add new process steps that match your process description.

- Click the "Milestone" step to configure its "Optional" properties. Select the time zone from the drop-down list, then click Save.

- The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. Configure the step state and percent fields individually, as shown in the images below. Configure the “Logging” using the following properties.

- Click the "Task" step, then configure its "Optional" properties. Route the task step to a user. Click the Save button.

- Save the process definition, create a new instance, and execute it. Render the process instance and click the Milestone process step to view its properties. When the workflow reaches the Milestone step, FlowWright waits for the configured Wait till date and time. You can also configure the selected time zone when needed. After the milestone is reached, inspect the process instance to verify that the workflow proceeds to the expected subsequent activity.

Tips:
- Always provide the required Wait till value.
- Verify the date and time before deploying the workflow.
- Select the appropriate time zone when the workflow depends on a specific regional time.
- Use meaningful workflow logic to determine future milestone dates.
- Test milestone workflows with dates and times that make the behavior easy to observe.
- Consider how the workflow should behave when the milestone date is in the past.
- Verify date/time values when they are calculated dynamically.
- Be especially careful with time-zone-dependent workflows.
- Use consistent time-zone conventions across workflows that coordinate scheduled activities.
- Document the business reason for significant milestone delays.
- Connect the True path to the activity that should normally follow the milestone.
- Provide appropriate handling for the False path when the workflow requires it.
- When you use multiple milestones, clearly identify each milestone's purpose.
- Avoid creating unnecessarily long delays without documenting why the workflow is expected to remain at the milestone.
- Test workflows around daylight-saving or other time-zone transitions when the selected time zone makes those transitions relevant.
- Do not assume the exact behavior of past dates, invalid date/time values, or time-zone conversion unless confirmed by the FlowWright implementation.
- Do not assume that the False result represents a particular type of failure solely from the XML; the definition only identifies the return value.
- Do not assume that the
TimeZoneListcontains a particular set of time zones without verifying the values available in the FlowWright environment. - Do not assume that the date/time control supports a particular expression or Variable syntax unless confirmed by the implementation.
- Verify the actual workflow instance behavior when testing time-sensitive processes.
Notes:
- The Milestone step is defined in the Engine category with the internal name
milestoneLabel “Makes the instance wait for the given date/time”, and display name “Milestone.” - The step is implemented by
FlowWright.Workflow.MilestoneinFlowWright.Workflow.dlland is defined as a Process step with 2 incoming connections and 2 outgoing connections. - The step defines two properties:
-
timeZone– Select time zone -
waitDateTime– Wait till
-
- The Select time zone property is not required, while Wait till is required.
- The Select time zone property uses the
TimeZoneListdata type, implemented byFlowWright.DataTypes.TimeZoneListinFlowWright.DataTypes.dll. Its description is “Get timezone list.” - The Wait till property uses the
ClsDateTimedata type, implemented byFlowWright.DataTypes.ClsDateTimeinFlowWright.DataTypes.dll. Its description is “Get datetime control html.” - The step provides two return values:
- False
- True
Definition Sample:
You may download the sample definition(s) from the link provided and later import them into your FlowWright Process Definition (XML file) or Form Definition (HTML file) page.
Note: Verify and complete any missing configuration after importing the sample, including:
- Wait till date and time.
- Time zone selection.
- Workflow Variable references used to determine the date/time, if applicable.
- Environment-specific settings.
- Downstream True and False workflow paths.
- Activities that should execute after the milestone.
- Any business rules that determine the target milestone date.
After verifying the configuration, save the Process Definition before execution.