Your First Workflow
Register your first task and trigger its first run.
Welcome to Render Workflows! Follow these steps to register your first task and trigger its first run.
1. Install the Render CLI
You'll use the Render CLI to create a starter project with our Hello World template.
Use any of the following methods to install the Render CLI or upgrade to the latest version:
Homebrew installation
Run the following commands:
WinGet installation
Run the following command:
Installing with curl
Run the following command:
Direct download
- Open the CLI's GitHub releases page.
- Download the executable that corresponds to your system's architecture.
If you use an architecture besides those provided, you can build from source instead.
Building from source
We recommend building from source only if no other installation method works for your system.
-
Install the Go programming language if you haven't already.
-
Clone and build the CLI project with the following commands:
After installation completes, open a new terminal tab and run render with no arguments to confirm.
2. Initialize a starter project
-
From your machine's development directory, run
render workflows initto generate a starter project with your first task definition:Command not found? Make sure you've upgraded to the latest version of the Render CLI.
-
The
initcommand prompts you for the following, in order:Prompt Description Language
Choose whichever supported language you prefer (currently TypeScript or Python).
Template
Choose Hello World for this tutorial.
Output directory
The CLI creates a new directory for your project at the specified path (default
./workflows-demo).Install dependencies?
Choose Yes.
Initialize a Git repository?
Choose Yes.
Running in non-interactive mode?
To skip prompts in scripts and agents, you can pass all options directly, like so:
For details, run
render help workflows init. -
Commit all of the files in your new project directory to Git:
The anatomy of a workflow
The following excerpts from workflows init starter projects illustrate the bare minimum syntax for defining a workflow:
- You import
taskand theTaskContexttype from the Render SDK for TypeScript, which is the template's only dependency aside from TypeScript itself. - You define tasks by calling
task(...)once for each, providing options and a function definition.- The function must take a
TaskContextobject as its first argument. Render provides this object to each task run automatically.
- The function must take a
- No additional initialization is required when using the TypeScript SDK.
- You define a task by first initializing a
Workflowsapp, then applying the@app.taskdecorator to any function.- The function must take a
TaskContextobject as its first argument. Render provides this object to each task run automatically.
- The function must take a
- You call
app.start()on startup to initiate both task registration and run execution on Render. - The
Workflowsclass andTaskContexttype are imported from the Render SDK for Python, which is the template's only dependency.
3. Push your project
Render will deploy your project by pulling its source from a linked repo on your Git provider.
Create a new repository for your project with a supported Git provider and push your local repo to it.
4. Create a workflow service
-
In the Render Dashboard, click New > Workflow:

The workflow creation form appears.
-
Link the Git provider repo with your workflow's task definitions.
-
Complete the remainder of the creation form. See guidance for important fields: