Automate branch creation

Hi all, I had a question. Our organization wants to take advantage of Git flow in order to facilitate our CI/CD system (Jenkins), and I was wondering what is the recommended way of automatically creating branches (development, qa, release) when a project is first created? These branches also need to be protected.

I was able to write a little shell script for setting up and configuring WebHooks to trigger a job in Jenkins yesterday using the GitLab REST API, I was wondering if I should take a similar approach for the entire project creation? (CLI tool would be best here I think).