How would you manage an AWS account for each client with terraform?

I’m working out how to bill accurately in AWS and I’m going to create a AWS account for each client. At the point where a user might create a new account in some website (probably made with Angular), what would be the best way to manage account creation?

There will be other terraform operations per account as well.

Should I perhaps use terraform in a lambda service and that service would make the request to terraform cloud in bash?

or should I be exploring other possibilities?

I’m already using terraform cloud and circle CI for dev, but I’m guessing for running terraform pipelines per client I shouldn’t be using circle CI to run those jobs. Would it be possible / best practice to consider that?

edit: it looks like terraform cloud cant be used for concurrency without enterprise. I’m guessing I will probably need to run this in lambda instead.