VA Forms Library - How to set up Save In Progress (SiP)
Forms on VA.gov support the ability to save progress to a user’s account and resume them later. Generally, it’s preferable and good practice to provide data to users that VA already has on file for them. Enabling SiP requires:
Configuring naming and messaging options in the form config
Making the SiP form retrievable on the User Profile page
Form Config
There are several configuration options related to SiP in the form config object:
const formConfig = {
formId: '28-1900'
saveInProgress: {
messages: {
inProgress:
'Your VR&E Chapter 31 benefits application (28-1900) is in progress.',
expired:
'Your saved VR&E Chapter 31 benefits application (28-1900) has expired. If you want to apply for Chapter 31 benefits, please start a new application.',
saved: 'Your Chapter 31 benefits application has been saved.',
},
},
prefillEnabled: true,
savedFormMessages: {
notFound:
'Please start over to apply for Veteran Readiness and Employment.',
noAuth:
'Please sign in again to continue your application for Vocational Readiness and Employment.',
},
}
formId: This key is used to save form data in vets-api. It’s usually set to the VA form number associated with the paper form.
saveInProgress: An object containing several options, the most commonly used configuration option being
messages
. For a full list of available settings check out the formConfig options page.savedFormMessages: Messages sent to the SiP component.
formConfig Examples:
Visual Examples in Production
My VA Page
Changes are required in the User Profile code for in-progress forms to be displayed on the account page at VA.gov/my-va:
Add the form ID to the VA_FORM_IDS object in the /platform/forms/constants file
In the personalization dashboard helpers file, form information found in the
formConfig
should be added to the following objects:formBenefits - property name imported from the
VA_FORM_IDS
object with a string value that briefly summarizes the form:[VA_FORM_IDS.FORM_21_526EZ]: 'disability compensation'
formLinks - property name imported from the
VA_FORM_IDS
object with a value that calls the functiongetAppUrl
. The parameter passed togetAppUrl
is theentryName
of the application specified in the registry.json file in the content-build repository. Example:[VA_FORM_IDS.FORM_21_686C]: `${getAppUrl('686C-674')}/
trackingPrefixes - property name imported from the
VA_FORM_IDS
object with a string value that’s identical to thetrackingPrefix
property found in theformConfig
of the form being worked on. Example:[VA_FORM_IDS.FORM_21_526EZ]: 'disability-526EZ-'
and corresponding trackingPrefix property in formConfigsipEnabledForms - property name imported from the
VA_FORM_IDS
object
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.