we do a lot of proposal work and we have a folder structure we like to use
is there anyway to create a team site and then pick from a list of "types" that i would like to set it up as?
(office 365 SharePoint online)
This is an area that is in desperate need of improvement. There are site designs, which allow you to set up a json file that will allow you to sort of do what you're describing. The end result is that when you create a team site, you'll get a list of site designs that you've configured. The json file that you configure allows you to specify a variety of things, such as lists/libraries (along with custom fields), navigation elements, site hub, and other items.
However, as of today, site designs do not have some critical functionality, such as the ability to customize the home page (or any page), nor do they allow you to populate it with default content, such as documents or folders.
To deal with this shortcoming, site designs do allow you to specify a flow that can be run when the site is created. In theory, the flow could create documents as well, except that the sharepoint actions in flow require you to hard code a specific site/library. So the full scenario is to create a flow that calls an azure function that does any additional work that you need.
So, create a site script (json), a flow, and an azure function. Tie it all together, and you can sort-of replicate the functionality we used to have by clicking the "save site as template" link.
Also, check into the pnp provisioning capabilities. It doesn't change the above, but pnp does provide helper libraries for doing many of the common tasks.
Edit: further, Team sites these days often make use of other services in Office 365, like planner, teams, etc. The APIs for working with some of these, like planner, are in beta and are not yet supported for production environments. So common scenarios such as getting a list of tasks configured for the associated plan are simply not yet available.
You can use PnP templates in Microsoft Flow to provision SharePoint entities.
This article describes how to provision sites, lists, libraries, and Modern pages using PnP templates from Microsoft Flow.
Note, this is provided as an action in the Plumsail SP connector, which is a part of Plumsail Actions product. It is a paid product.