How to implement Save and finish later

Hello,

We have form that needs to be embed onto the portal. the form contains several pages and the requirement is to have partial save functionality. So that customer can come back again and complete the remaining whenever they want to.

Thanks,
Narendra

Hi @Narendra,

Have you tried using this option when creating the embed?

If the user comes back to the journey and the journey hasn’t expired yet, their session should remain and they could come back where they left off.

Thank you for the reply. I am just curious… how Journey will identify the same session if it is Embed? will that be based on the parameters that we pass to the app ? If so, if any parameter value changes, will it be considered as new journey? What happens if the user is logged out from the application where we embed, and log back in? will this still be continued ?

Thanks you again for helping on this one.

So the embed client will store the session id as a cookie and will remember the journey that way. If the user clears their cookies or something of the same nature, then the journey will not be continued.

Thanks Ismaen! Just want to make, cookies will be set at user machine level? If I understand correctly, if I clear cookies, my session will no longer be continued. What happens if I access my application from different machine ? Will it still continue as same session ?
I am still unclear about the process how the same session continue. Please help me understand.

The cookie is going to be stored on the user’s browser. If you access the app from another machine/browser, then the journey will not be remembered. I do want to clarify that the session doesn’t end, but the user will effectively hit the embed and it will spin up another session.

With that said, another way you can build a partial save mechanism that isn’t reliant on the cookie is to take some unique ID from the portal that is associated with the user, and pass that into the start params of the embed. You can see how to do that here.

Then, using that unique ID, you can have a button on the app save/store the data that a user inputs into AirData that is tied to that unique ID. So on journey start, you can do a query against the table and see if any records are in the airdata app object that are tied to that unique ID and populate the form accordingly.

Due to security concerns data, I am afraid to store data into Airdata table. Is there anyway I can encrypt the data and store into Arikit table and retrieve it(by decrypting) to continue the same session?

So you actually don’t have to use AirData! It was just a suggestion. If you wanted to do the same thing with another DB or system, you can use the http request and do get/post requests back and forth to achieve the same thing.

Additionally, yes you can encrypt data in AirData. Take a look at this doc here!

Essentially you can use the default keys that come with your org, or your can Bring Your Own Key (BYOK). And then in AirData, you would check the encrypt box on the App object attribute.