That how you have to do it, in two blocks.
The block is always triggered by an event (or events).
Conditions are then checked (if they are programmed in).
Then the actions take place.
So running the button is the first trigger event, the action is to start the timer.
When the timer runs out it can act as a trigger, initiating another action or series of actions.
Flags are one of the most powerful programming tools.
They can act as on/off switches, status indicators, counters counting up and/or down and timers.
This is one area where the docs are actually pretty good.
The HAI/Leviton knowledge base has a lot more information and some tips/tricks for using flags.