User generated forms and templates

I’m trying to implement a feature that allows my users to generate different types of forms, fill them out and save them to be referenced in the future. In addition the user may need to generate multiple copies of the same form (filling in difference data). What would be the best approach in doing this?

There are about 15 different forms with dozens of fields within each one. Would this require me to generate a unique link to each form that is created and would I need to create a separate “forms” table that essentially saves that link so the user can reference it in the future? How should i deal with different data being entered in different copies of the same form from the same user? Should I create a table for each type of form?