I think if you want to use flow on time to implement your ideas on time, there may be no way, after all, the execution of each action will be delayed.However, there are still some ways to send email alerts close to nine o'clock.
Here is my method, you can try it.
- First I created a Team on staffhub, the time zone is set to (GMT-05:00) Eastern Time (US&Canada), then Shift A (9-1), Shift B (1-5)
- Use Recurrence trigger to make the flow run once every day at 9 am and 1 pm, and time zone conversion for utcNow() after the stream is triggered.
- List all team shifts, you could also select the time period and determine if the start time is equal to utcNow().
- If the result is True, you could get the email of the relevant member through Get Shift and Get a team member by ID.

Since there is a delay in the execution of the action, the formatDateTime function is used to ignore the number of seconds.
Condition formula reference:
formatDateTime(body('Convert_time_zone_start_Time'), 'yyyy-MM-ddTHH:mm')
is equal to
formatDateTime(body('Convert_time_zone_utcNow'), 'yyyy-MM-ddTHH:mm')

The flow works successfully as below:


Note:
- The time zone is best kept consistent with the staffhub. The time zone is the biggest problem I encountered when implementing this flow. You could output Team shifts first to see if the display is the same as what you set.
- You need to convert the time zone to Shift start time. As marked above, the shift on the staffhub is set at 9:00 in the morning, but it is displayed as 13:00 here. So use the Convert time zone to display the time set on the staffhub.
- There is a delay in the execution of the Action, so it is best to select the time period when configuring the list all team shifts action to shorten the execution time. This will not affect the subsequent judgment, even if the number of seconds has been ignored.
Take a try!