The following script monitors a supplied folder for XML files that include job definitions.

This could be run as a windows scheduled task that acts as middleware to read data from some other system and creates relevant jobs in 12d Synergy.

using System;
 using System.Linq;
 namespace CreateJobs
 {
     class Program
     {
         static void Main(string[] args)
         {
             // assume first arg is server address, second arg is location of data files
             var server = args[0];
             var directory = args[1];
 
             // initialise
             SynergyClientAPI.General.Initialise();
 
             // connect to the server
             var resp = SynergyClientAPI.General.Connect(server);
 
             if (!resp.Ok)
             {
                 Console.WriteLine("Error during connection: " + resp.Message);
                 return;
             }
             
             // look for some xml files
             var xml_files = System.IO.Directory.GetFiles(directory, "*.xml");
             var attribs_resp = SynergyClientAPI.Attributes.Attribute.GetAttributes();
 
             if (!attribs_resp.Ok)
             {
                 Console.WriteLine("Error during attribute retrieval: " + resp.Message);
                 return;
             }
                        
             var job_number_attrib = attribs_resp.Attributes.FirstOrDefault(x => x.name == "JobNumber");
             var job_type_attrib = attribs_resp.Attributes.FirstOrDefault(x => x.name == "JobType");
             if (job_number_attrib == null || job_type_attrib == null)
             {
                 Console.WriteLine("Unable to find required attributes!");
                 return;
             }
 
             // read through all the xml files
             foreach (var f in xml_files)
             {
                 // read from the XML file
                 var xml = System.Xml.Linq.XDocument.Load(f);
 
                 var job_info = xml.Descendants("Job").Select(x => new
                 {
                     Name = x.Attribute("JobName").Value.ToString(),
                     JobNumber = x.Attribute("JobNumber").Value.ToString(),
                     Description = x.Attribute("Description").Value.ToString(),
                     JobType = x.Attribute("JobType").Value.ToString(),
                 }).FirstOrDefault();
 
                 if (job_info == null) continue;
 
                 // check it doesn't exist
 
                 var existing_resp = SynergyClientAPI.Projects.Project.GetProjectInfo(job_info.Name);
                 if (!existing_resp.Ok)
                 {
                     Console.WriteLine("Error determining if a job already exists - " + existing_resp.Message);
                     continue;
                 }
 
                 if (existing_resp.data != null)
                 {
                     Console.WriteLine("Job " + job_info.Name + " already exists - Skipping!");
                     continue;
                 }
 
                 // set up job parameters
                 SynergyClientAPI.Projects.CreateProjectParameters parameters = new SynergyClientAPI.Projects.CreateProjectParameters();
                 parameters.name = job_info.Name;
                 parameters.description = job_info.Description;
 
                 // set up attributes
                 parameters.attributes = new Contracts.Data.AttributeValueCollection();
                 parameters.attributes[job_number_attrib.id] = new Contracts.Data.AttributeValue(job_info.JobNumber);
                 parameters.attributes[job_type_attrib.id] = new Contracts.Data.AttributeValue(job_info.JobType);
 
                 var proj_resp = SynergyClientAPI.Projects.Project.CreateProject(parameters);
                 if (!proj_resp.Ok)
                 {
                     Console.WriteLine("Error during job creation: " + proj_resp.Message);
                     return;
                 }
 
                 Console.WriteLine("Job " + parameters.name + " has been created");
             }
 
         }
     }
 }
 					
This language is not supported or no code example is available.