Your First Workflow

Register your first task and trigger its first run.

Render Workflows is in public beta.

During the beta, bugs or changes in API/SDK behavior are possible as we continue refining the product. We welcome any and all feedback at workflows-feedback@render.com.

Welcome to Render Workflows! Follow these steps to register your first and trigger its first .

1. Copy a starter template

Workflows currently support TypeScript and Python for defining tasks.

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 one of our basic templates 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 excerpts from the basic templates illustrate the bare minimum syntax for defining a workflow:

  • You import task from the Render SDK for TypeScript, which is the template's only dependency aside from TypeScript itself.
  • You define by calling task(...) once for each, providing options and a function definition.
  • No additional initialization is required when using the TypeScript SDK.
  • 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.

  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 to Node if you're using the TypeScript SDK.
    • Set to Python 3 if you're using the Python SDK.

    Support for other languages is planned for future releases.

    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 a Render-provided template, this is the following:

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

    If you're using a Render-provided 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: