Add the power of the Box AI API to your custom apps at Content Cloud Summit on May 15

Learn more and register!

Start Workflow

Start Workflow

The start workflow endpoint can be used to start a flow within a workflow of type WORKFLOW_MANUAL_START. Other flow types cannot be started. If you have the flow set up to accept configurations at runtime, you must send in the optional outcomes array object.

For more information on how to use this endpoint, refer to our blog post.

curl -i -X POST "" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "type": "workflow_parameters",
       "flow": {
        "id": "8937625", 
        "type": "flow"
       "files": [{
          "type": "file",
          "id": "389047572"
          "type": "file",
          "id": "389047578"
       "folder": {
         "id": "2233212",
         "type": "folder" 
       "outcomes": [
            "id": "34895783",
            "type": "outcome",
            "task_collaborators": {
                "type": "variable",
                "variable_type": "user_list",
                "variable_value": [{ "type": "user", "id": "890273642" }]
            "completion_rule": {
                "type": "variable",
                "variable_type": "task_completion_rule",
                "variable_value": "all_assignees"
            "file_collaborator_role": {
                "type": "variable",
                "variable_type": "collaborator_role",
                "variable_value": "viewer"
TypeScript (Beta)
await adminClient.workflows.startWorkflow(!, {
  type: 'workflow_parameters' as StartWorkflowRequestBodyTypeField,
  flow: {
    type: 'flow',
    id: workflowToRun.flows![0].id!,
  } satisfies StartWorkflowRequestBodyFlowField,
  files: [
      type: 'file' as StartWorkflowRequestBodyFilesTypeField,
      id: workflowFileId,
    } satisfies StartWorkflowRequestBodyFilesField,
  folder: {
    type: 'folder' as StartWorkflowRequestBodyFolderTypeField,
    id: workflowFolderId,
  } satisfies StartWorkflowRequestBodyFolderField,
} satisfies StartWorkflowRequestBody);
Python (Beta)
admin_client.workflows.start_workflow(, StartWorkflowFlow(type='flow', id=workflow_to_run.flows[0].id), [StartWorkflowFiles(type=StartWorkflowFilesTypeField.FILE.value, id=workflow_file_id)], StartWorkflowFolder(type=StartWorkflowFolderTypeField.FOLDER.value, id=workflow_folder_id), type=StartWorkflowType.WORKFLOW_PARAMETERS.value)
.NET (Beta)
await adminClient.Workflows.StartWorkflowAsync(workflowId: NullableUtils.Unwrap(workflowToRun.Id), requestBody: new StartWorkflowRequestBody(type: StartWorkflowRequestBodyTypeField.WorkflowParameters, flow: new StartWorkflowRequestBodyFlowField(type: "flow", id: NullableUtils.Unwrap(NullableUtils.Unwrap(workflowToRun.Flows)[0].Id)), files: Array.AsReadOnly(new [] {new StartWorkflowRequestBodyFilesField(type: StartWorkflowRequestBodyFilesTypeField.File, id: workflowFileId)}), folder: new StartWorkflowRequestBodyFolderField(type: StartWorkflowRequestBodyFolderTypeField.Folder, id: workflowFolderId)));