Create and manage Studio projects
Create a Studio project from a template, open recent projects, edit project settings and project.json, and set entry points.
A Studio project is a folder with a project.json manifest at its root and one or more .xaml workflows. When you publish, the project becomes one package, and its name becomes the package ID. Create a project# On Home, under New, select a project kind (Blank Automation, Library or Test Project), or select All templates to see every template. You can also press Ctrl + Shift + N. Pick a template: Template Creates Blank Automation A process with one main workflow Flowchart Automation A process whose main workflow is a Flowchart State Machine Automation A process whose main workflow is a State Machine Transactional Process A State Machine that processes queue items or data rows one at a time, with retries, exception handling and logging. It also installs the Excel activities Library A library: each entry point becomes an activity in projects that install it Test Project Test cases with Verify activities, run from the Test Explorer Templates from My templates and your organisation's templates folder appear here too. Fill in the fields: Name: letters, digits, _, . or - only, up to 100 characters. It becomes the package ID, for example Invoice.Processing. Location: the parent folder. The project folder must not exist yet, or must be empty. Description (optional). Expression language: C# or Visual Basic. This cannot be changed later. Visual Basic has limited editing help, so prefer C#. Initial workflow: Sequence, Flowchart, State Machine or Empty project, and the Main file name (Main.xaml by default). Create README and Create Tests folder. Select Create. Studio creates project.json, the main workflow (set as the main entry point), a README.md if you asked for one, and installs VeloPhex.System.Activities. If creation fails, Studio removes the files it created. Verify# The Explorer shows Main.xaml and a Dependencies node with VeloPhex.System.Activities. If no package source has that package, the project is still created and a warning appears in Output on the Packages channel; see Manage activity packages. Open a project# Open project on Home, or Ctrl + O: pick the project folder. Recent projects on Home: select a project to open it. Use the search box to filter, Pin to keep a project at the top, and Remove from list (Del) to forget it. A project whose folder moved shows Locate. Clone repository on Home clones a Git repository and opens the project in it. To go back to Home with the project still open, select Home in the title bar. To close the project, run Close project from the command palette (Ctrl + Shift + P). To change how many recent projects Studio remembers, or to open the last project at startup, use Settings > General. What is in a project# File or folder Purpose Commit it? project.json The manifest: name, version, output type, entry points, dependencies, execution settings Yes project.lock.json The exact version and hash of every package the project uses, direct and transitive Yes *.xaml Workflows in the VeloPhex XAML format Yes .velophex/user/ Your breakpoints and publish defaults No .velophex/publish/ Packages built by Publish No .velophex/test-results/ Recent Test Explorer results No Edit project settings# You rarely need to edit project.json by hand. Use Project settings instead: Open it in one of these ways: In the Explorer, right-click the project root and select Project settings…. In the Explorer, select More options (the panel's menu), then Project settings…. Run Project settings from the command palette (Ctrl + Shift + P). Change what you need in these sections: Section What you set General Name, Version, Output type (Process, Library or Tests), Description, Authors, Icon. The Project group shows read-only details such as the project ID and runtime Entry points The workflows a job can start, the main entry point, and the Global Exception Handler workflow Globals and constants Project-wide values available to every workflow Dependencies A read-only list of packages with requested and resolved versions; Manage packages… opens the Package Manager Execution Needs a signed-in desktop session, Allow attended jobs, Allow unattended jobs, and a time limit after which a job is stopped UI automation Defaults for UI activities (timeout, input method), failure screenshots and safety options Run and debug The Default action of the run button, and your Studio debug settings (read-only here) Workflow Analyzer Which rules run, their severity, and whether errors stop a run or a publish Publishing Package ID, version, the default destination and signing Select Save (Ctrl + S). Revert discards your changes. Sections you changed show a Changed badge. If project.json changed on disk while the window was open, Studio merges the changes. Set entry points# An entry point is a workflow that a job can start. Its In and Out arguments become the job's inputs and outputs, and the Orchestrator validates job inputs against them. Open Project settings > Entry points. Select Add entry point and choose the workflow. Set its Display name and Description. The ID (for example main) is what callers and the Orchestrator use. Select Set as main on the entry point that Run project and Debug project start. A process or test project needs at least one entry point. You can also right-click a workflow in the Explorer and select Set as main workflow. Running a workflow with Run file or Debug file for the first time adds it as an entry point automatically. project.json reference# project.json is shared by Studio, the Python CLI, the Orchestrator and the Robot. Studio keeps members it does not know when it saves, so other tools can add their own. A trimmed example: project.jsonJSONCopy{ "schemaVersion": "1.0", "projectId": "75fc048f-0000-0000-0000-000000000000", "name": "Invoice.Processing", "version": "1.2.0", "description": "Posts approved invoices to the ERP.", "outputType": "process", "runtime": { "kind": "velophex-workflow" }, "main": "Main.xaml", "entryPoints": [ { "id": "main", "path": "Main.xaml" } ], "dependencies": { "VeloPhex.System.Activities": "[<version>]" } } Member Meaning name, version Package ID and version. Edit them in Project settings > General or when you publish outputType process (run as a job), library (installed by other projects) or tests main, entryPoints The main workflow and the startable workflows dependencies Package ID to NuGet version range. The Package Manager writes an exact pin such as "[1.0.0]" execution Where jobs may run and the time limit (from Project settings > Execution) project.lock.json is the real pin: it records every package's exact version and hash so a project never drifts between restores. Commit it with project.json. Use a library in another project# Projects do not reference each other directly. Instead: Create a project from the Library template and add workflows with In and Out arguments as entry points. Publish it, for example to the Local folder destination, which defaults to the My packages folder. See Publish to Orchestrator. In the other project, install the library from the Package Manager. Its entry points appear as activities in the Activities panel. Save a project as a template# Open the project and run Save as template… from the command palette. Enter Name, Description, Category and Tags. In Save to, choose My templates (only you) or Organization templates. The organisation folder is set in Settings > Locations > Organization templates folder, usually a network share. Optionally select Save as a single .vxtemplate file, then select Save template. To use a .vxtemplate file someone sent you, open Home > Templates and select Import…. Next steps# Build the logic: Build workflows with activities. Add packages: Manage activity packages.
Create a project
Verify
Open a project
What is in a project
Edit project settings
Set entry points
project.json reference
Use a library in another project
Save a project as a template
Next steps