Workflow with timer

I am implementing a workflow that has a changeable timer, not sure if temporal can support this.
e.g. the workflow has two activities A->B, B is triggered when a timer on A fires, but this timer can be updated which is essentially a change to the workflow definition. Is it possible to dynamically change the delay caused by the timer without restarting the workflow?

The workaround solution I can think of is: after the timer is changed, reset the workflow to the timer activity which will pick up the new timer

As Temporal workflows are code they can support practically any business level requirements :).

See the updatable timer example.

Thanks, seems this is only for java sdk, golang does not have it yet?

Go SDK doesn’t have the sample, but you can code a similar class in Go using the same ideas.