Add a ListenActivity with the activity you want to perform in the left branch. Add a DelayActivity to the right branch and set the TimeoutDuration to the amount of time you want to wait before timing the left activity out. When the workflow reaches the ListenActivity it will wait for the first event declared in one of its branches. In other words, if the hoped for activity occurs that branch will get executed but if it doesn't the delay activity will execute and that branch will get executed.
Makes the workflow wait for any one of several possible events before the activity proceeds.