Your First Workflow

Register your first task and trigger its first run.

Render Workflows is in limited early access.

During the early access period, the Workflows API and SDK might introduce breaking changes.

Request Early Access

Welcome to Render Workflows! After early access is enabled for your workspace, follow these steps to register your first and trigger its first .

1. Clone the Python template

Workflows currently only support Python for defining tasks.

TypeScript support is nearing release (see GitHub).

SDKs for additional languages are planned for future releases.

As part of creating a workflow, you'll link a GitHub/GitLab/Bitbucket repo that contains your definitions.

To get started quickly, copy our basic Python template on GitHub. On the template page, click Use this template > Create a new repository to create your own repo with the template's contents.

The anatomy of a workflow

The following shows the bare minimum syntax for defining a workflow:

  • You define a by first initializing a Workflows app, then applying the @app.task decorator to any function.
  • You call app.start() on startup to initiate both task registration and run execution on Render.

The Workflows class is imported from the Render SDK for Python, which is the template's only dependency.

2. Create a workflow service

  1. In the Render Dashboard, click New > Workflow:

    Creating a new workflow in the Render Dashboard

    The workflow creation form appears.

    Don't see the Workflow service type?

    Make sure you're in a workspace that's received early access to Render Workflows. Request early access at render.com/workflows.

  2. Link the GitHub/GitLab/Bitbucket repo with your workflow's task definitions.

  3. Complete the remainder of the creation form. See guidance for important fields:

    FieldDescription

    Language

    Set this to Python 3. Support for other languages is coming soon.

    Your workflow's will execute in the specified region.

    This determines which of your other Render services they can reach over your .

    If you're using the Python example template, this is the following:

    Otherwise, provide the command that Render should use to install dependencies and build your code.

    If you're using the Python example template, this is the following:

    Otherwise, provide the command that Render should use to start your workflow.

  4. Click Deploy Workflow. Render kicks off your workflow's first build, which includes registering your tasks.

That's it! After the build completes, your tasks are officially registered. You can view them from your workflow's Tasks page in the Render Dashboard:

Viewing a registered task in the Render Dashboard

3. Trigger a task run

Now that we've registered a task, let's run it! The quickest way to trigger our first run is in the Render Dashboard:

  1. From your workflow's Tasks page, click a task to open its Runs page.

  2. Click Start Task in the top-right corner of the page:

    Running a task in the Render Dashboard

    A dialog appears for providing the task's input arguments:

    Providing input arguments for a task run in the Render Dashboard

  3. Provide the task's input arguments as a JSON array (e.g., [5] for a task that takes a single integer argument, or [] for a task that takes zero arguments).

  4. Click Start task.

    Your new task run appears at the top of the Runs table.

Next steps

Congratulations! You've registered your first workflow task and triggered its first run. Now it's time to start designing your own tasks and triggering runs from application code: