By default, InDesign doesn't provide a mechanism to save data with a website or an app. Because in5 is a plugin for InDesign, in5 relies on features that InDesign makes available. If your user enters text in an input text field; clicks a button, a check box, a combo box, a list box, or a radio button; or enters a signature, then that data is only there temporarily while it is cached--in other words, temporarily held in memory by the browser. If the data hasn't actually been saved, then the act of reloading the page or clearing the cache will make that unsaved data go away. Only when there's a means in place to save the data can the browser populate those form elements with the entered data after reloading the page or the cache has been cleared. 

Here are three approaches that we recommend for adding a mechanism to save data:
  • Use the in5 Form Data Element (in5 > Interactive Widgets > Form Element Data) option to save the data locally which creates a file on the user's device to store and retrieve the entered data.
  • Embed a Google Form for submittable data such as a contact form.
  • Customize the saving of the data by working with a web developer who will add variables to the form elements, create a database to store the data that is entered, and write the scripts required to connect the form elements to the database so that the app can send and retrieve the data between the website or app and the database.


A database is collection of data. In general, it would be a repository for the data that gets sent from an application and would store that information per user. It is usually located on a server where a website or an app would communicate with it. It typically stores information for multiple users as opposed to a single user. The communication that happens between a website or an app and a database happens through scripts that a web developer would write. The web developer would assign variables to each of the Form elements. When content is entered into the form elements by the user, it would get passed to the variable and sent to the database. If the data is needed to populate fields in the app, then the scripts connecting the app and the database would make a call to retrieve the information from the database and place it where it goes in the app.


Whichever approach you take is up to you and what works best for the type and amount of data that you want to store. For more specific information regarding the custom creation of a database and the scripts required to connect your app to it, we recommend consulting a web developer.