I’ve been making a list on which users can sign up to a variety of events. On the nintex form they can choose which event they want to sign up for (it’s a choice column), and upon item creation a workflow starts that sends a confirmation email and stuff, and this workflow should also check if the user has already signed up for the same event, and if so, delete the entry again to prevent duplicate signups.
The workflow should also check how many users in total have signed up for that event and check that against a participant limit. If users try to sign up while the limit was already reached, the workflow should instead put the entry on a backup list.
I use a List Query to search the list for other entries by the user signing up (event is same, user is same, id is not same), and delete the new item if it finds any. I also use a List Query to count the number of entries in the list (event is same).
This all seems to work quite well, the issue is if users enter multiple forms in quick succession (either multiple users or the same user) List Query apparently doesn't find an earlier entry properly (Sharepoint or the workflow can lag behind I suppose). This can result in users entering duplicate signups or overflowing the entry list beyond the event capacity.
Has anyone had a similar situation like this or have an idea how to handle this in a robust way on Nintex for Sharepoint 2019?
To avoid this sort of issue it may be better to store the slots available for each event in a database.
Then update the database when each slot has been taken.
I wrote a blog a few years back that shows you how to use a Nintex form and workflow combined with a workflow to achieve this solution.