Hi @Bonni , welcome to the Tines Community!
The key distinction is that deduplicate controls which events continue through the story; it doesn’t expire the approval page.
Can all five people use the link?
Yes! The link isn’t reserved for the first person who opens it. All five recipients can access it, provided they meet the page’s access requirements. For a “first response wins” flow, handle the possibility of multiple submissions and enforce that rule downstream rather than treating the link as single-use.
What if someone responds differently?
Deduplicate compares the value at its configured path, not the entire answer. If you’re comparing the original story run GUID, “approve” and “deny” with that same GUID count as duplicates. With tolerance set to one and “emit duplicates” off, the first event through passes; subsequent matching events are suppressed during the configured period. Your timeout event also competes for that first slot if it carries the same GUID.
Could a late response run the story again?
A late submission could execute downstream actions again if the page still accepts it and the deduplication period has elapsed. For a mid-story page, that means continuing from the page in its run context, not automatically restarting the whole story. Also, the deduplication period begins when an event reaches that action, not when you send the approval link. It’s therefore not the same clock as your approval deadline.
Does the story run GUID expire when the story finishes?
The GUID is an identifier, not an expiring approval token. Reaching the end of a branch isn’t a signal to close its page. Separately, a dynamic page instance can expire when its associated events are deleted, including through event retention.
For your goal, I’d keep the approval page, timeout branch, and shared deduplicate action, but add a fixed expiration timestamp before the branches split. Set it to 20 minutes ahead and have the Delay action wait until that timestamp.
Use the page’s conditional element settings to disable both response buttons and show an “Approval expired” message when the deadline is reached. Those settings support formula-based disabling and visibility.
Then add a Condition action immediately after the page, before deduplicate, to check the same deadline automatically. Only responses before the deadline should continue; late responses should take an expired path. Keep the deduplication period longer than the approval window, and ensure the timeout outcome doesn’t route into the approved actions.
This separates the jobs cleanly: deduplicate selects the first response, while the explicit deadline closes the approval. The URL can remain accessible to display the expired message without allowing a late response to progress.
Hope that helps!