[Solved] Tracking Progress on a Multi-Step Process

Greetings All
Please help. I am trying to implement two multi-step form processes. One is user registration and the other is Property listing. The challenge we have in our location is that of unreliable internet.
So when someone is registering or listing a property and they are interrupted, how do I ensure that the app returns them where they ended? Is there a drapcode video tutorial that can point me in the right direction or it’s one of those challenges that if you are stuck you are stuck?
Other Ideas are most welcome. My background is zero coding experience.

Thank You

Hi Willie,

This can be achieved easily by storing a field called Progress Step in your collection. So every time the users complete a step, you update that collection field value to the respective step no in your form such as STEP_1, STEP_2, etc.

So this way you will have the information to which step the user has completed the Multi-form flow.

And after that you can show a button on their dashboard or after login so that they can continue their progress/onboarding and with the help of Conditional Redirect event, you can take them to the exact page from where they have left the forms flow.

This way you will have the information as to which step they stopped and then you can allow them to resume their journey from there itself. Only thing that they will have to do, is to login so that they can continue the flow.

As an additional step, if you do not want them to be able to access anything before they complete the full flow, then you can create a temporary user role such as “Onboarding User”, and once they complete the last step then change their role to regular User.

This way you will be able to land them on a dashboard after login, which will ask them to complete the onboarding first before they can access anything in the system.

We have done something like this in several project, but i am not sure if we have any tutorial for this exact flow. But you can see the conditional redirect flow here:


Dear Vishal.

Thank you very much for your detailed response. Very clear. Sounds very doable. Let me try it.


1 Like

Greetings @vishsahu

May I ask something regarding this topic.
I am having a bit of a challenge understanding conditional redirect. have watched the video and have also read the documentation and am still struggling to see how I can apply it in my new scenario.
The platform I am building has several portals that require users to update their information specific to each portal and only when they want to use it. For an example, a user may not immediately want to register for the agriculture Transport & Logistics portal, so it becomes unnecessary to ask for such information at registration but only when they opt to use the features of the transport portal.
But for the normal platform/ app level registration which requires basic information, there are 3 steps (1 basic infor,2 Address and 3 profile picture). So I will also want to track this process.
Because my user collection has a lot of fields, I have opted to create other Collections that are children of the user. like the User Registration Tracking and the User Portal Registration Tracking. I have gone on to use boolean fields to help me track the progress or actual portal level registrations. see images below

Now my question is, how do I allocate temporary user role (in the events- the actual formulation of an event and how I then change it once the user has completed the steps) and in the case of Portal Level Registration which is not chronological and is done at any time, how do I track that to then allow the users to use the portal.
Am looking at formulating conditions that look at the state of the boolean fields. When a user submits their data specific to a portal then the boolean is updated to Yes (for example).
I hope my question is clear.
This area of conditions, filters and derived fields really confuses me.

Sorry, I had to revive this conversation because I thought it would make more sense to bring it here



Hi @WillieMak,

We have an event called Update Collection field, which you can use to Update the role of the user.

Other option would be to use some cloud function like AWS Lambda to run a custom code, call the DrapCode API and do the update by applying all the necessary checks.


1 Like

Thanks @vishsahu

I think I will try the first option until i get it right because of my limited programming background and the possibility of having to subscribe for another service scares me …



1 Like