@agapanthusblue, I’m joining a bit late but I didn’t see any mentions of manual jobs. Have you considered them?
For example, create the complete pipeline in your
gitlab-ci.yml but use
rules:when:manual on the conditional jobs. At the end of the job that always runs and decides the conditional, use the jobs API to find the ID of the manual jobs in your pipeline and then start the required ones using a play call.