public String createWorkflow(WorkflowModel workflowModel) {
        externalizeWorkflowData(workflowModel);
        executionDAO.createWorkflow(workflowModel);
        // Add to decider queue
        queueDAO.push(
                DECIDER_QUEUE,
                workflowModel.getWorkflowId(),
                workflowModel.getPriority(),
                properties.getWorkflowOffsetTimeout().getSeconds());
        if (properties.isAsyncIndexingEnabled()) {
            indexDAO.asyncIndexWorkflow(new WorkflowSummary(workflowModel.toWorkflow()));
        } else {
            indexDAO.indexWorkflow(new WorkflowSummary(workflowModel.toWorkflow()));
        }
        return workflowModel.getWorkflowId();
    }
Creates a new workflow in the data store

@param workflowModel the workflow to be created
@return the id of the created workflow
core/src/main/java/com/netflix/conductor/core/dal/ExecutionDAOFacade.java