I usually use (link:) on twine when I'm using the prompt macro and then stick the variable there so it prints their name once they've entered it- (link: "Change")[(set: $name to (prompt: "Your name", "whatever"))$name]
I also use the (if:) macro for making sure they've changed their name from the default I set earlier, and only let them continue once they have, with the help of (live:), so that they have to open the link in order to continue.