Deploy the same Terraform Infra for multiple clients on the cloud

I’ve got a SaaS solution, that I deploy for each client on the Cloud (GCP) using terraform (networking, SQL, DNS, GKE…). I usually create manually a project each time, update the terraform google provider and hit apply.

Is there a solution out there to handle this on the cloud? destroy the project and the resources after a free trial for example? handle licensing on a dashboard and it will save the tf state on the cloud?

Thanks for reading me

I could do some bash scripting and use gcloud to create the project, create a new terrafrom workspace and pass the project id as a var to terrafrom apply but I would need to use CI tool to watch progress and inform the client that his infra is deployed, etc …