Render Tutorials
Render Workflows quickstart

What Render Workflows are good for

⏱ 5 min

A Render Workflow is a service whose job is to run tasks - plain functions you write in Python or TypeScript. You trigger a task and Render spins up a fresh, isolated instance for that single run, then tears it down when it finishes.

The headline benefit: you write a normal function, and Render gives it queuing, retries, parallelism, and observability for free.

Before you start

You’ll need three things on your machine:

  • A free Render account. The Starter plan is enough for this tutorial (no card required).
  • Python 3.11+ or Node.js 20+, depending on which language you pick in this step.
  • A working terminal. The CLI tools install with pip or npm once you’ve picked a language. The Render CLI is optional but recommended.

Skim the Workflows docs and Workflows limits if you want to read ahead. Otherwise the tutorial introduces concepts as it goes.

The shape of it

flowchart LR
  caller["Your code (web service, cron, anywhere)"]
  api["Render API"]
  workflow["Workflow service (your tasks)"]
  run1["Run #1 (own instance)"]
  run2["Run #2 (own instance)"]
  run3["Run #3 (own instance)"]

  caller -->|"runTask('hello', ['world'])"| api
  api --> workflow
  workflow --> run1
  workflow --> run2
  workflow --> run3

Every triggered task is its own short-lived instance - usually starting in under a second. A single task can also fan out into many parallel sub-runs, which is what makes Workflows great for ETL and AI agent work.

When to reach for a Workflow

You need to…Best fit
Process one item per HTTP request synchronouslyWeb service
Continuously pull from a queue you manageBackground worker
Run a job at 03:00 every dayCron job
Run an arbitrary function on demand, in parallel, with retriesWorkflow
Fan a single trigger out into 1,000 parallel jobsWorkflow

The line between a background worker and a Workflow is the easiest one to blur, so here’s the rule of thumb: if you already have a queue you’re happy with, keep using a worker. If you’d rather just call a function from anywhere and have the platform handle queuing, scheduling instances, and retries - that’s a Workflow.

What you’ll build

By the end of this tutorial you’ll have a deployed Workflow with a calculateSquare(n) task you can call from any other service - web service, cron job, your laptop - like a normal function. The plumbing is identical whether you write it in Python or TypeScript; pick a language now and the rest of the tutorial will follow you across steps.

Great. Use the render_sdk package and write workflows/main.py.

Great. Use @renderinc/sdk and write workflows/index.ts.

You need to run a function on demand, in parallel, with automatic retries. Which Render service fits best?

What you learned

  • A Workflow service exposes functions (tasks) that you trigger by name
  • Each triggered run gets its own short-lived instance, with retries and parallelism handled by Render
  • Workflows fit on-demand, fan-out, and AI-agent style work better than web services, workers, or cron jobs alone