public String startWorkflow(
            String name,
            Integer version,
            String correlationId,
            Integer priority,
            Map<String, Object> input) {
        WorkflowDef workflowDef = metadataService.getWorkflowDef(name, version);
        if (workflowDef == null) {
            throw new NotFoundException(
                    "No such workflow found by name: %s, version: %d", name, version);
        }

        StartWorkflowInput startWorkflowInput = new StartWorkflowInput();
        startWorkflowInput.setName(workflowDef.getName());
        startWorkflowInput.setVersion(workflowDef.getVersion());
        startWorkflowInput.setCorrelationId(correlationId);
        startWorkflowInput.setPriority(priority);
        startWorkflowInput.setWorkflowInput(input);

        return startWorkflowOperation.execute(startWorkflowInput);
    }
Start a new workflow. Returns the ID of the workflow instance that can be later used for
tracking.

@param name Name of the workflow you want to start.
@param version Version of the workflow you want to start.
@param correlationId CorrelationID of the workflow you want to start.
@param priority Priority of the workflow you want to start.
@param input Input to the workflow you want to start.
@return the id of the workflow instance that can be use for tracking.
core/src/main/java/com/netflix/conductor/service/WorkflowServiceImpl.java