Labsco
openai logo

render-workflows

✓ Official4,081

by openai · part of openai/plugins

Sets up, develops, tests, and deploys Render Workflows. Covers first-time scaffolding (via CLI or manual), SDK installation (Python or TypeScript), task patterns (retries, subtasks, fan-out), local development, Dashboard deployment, and troubleshooting. Use when a user wants to set up Render Workflows for the first time, scaffold a workflow service, add or modify workflow tasks, test workflows locally, or deploy workflows to Render.

🧩 One of 7 skills in the openai/plugins package — works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

Render Workflows

Render Workflows rapidly distribute computational work across multiple independent instances. Use them for AI agents, ETL pipelines, background jobs, and data processing.

How it works:

  1. Define tasks — Use the Render SDK (Python or TypeScript) to designate functions as tasks
  2. Register — Tasks register automatically when you link your repo to a Workflow service in the Dashboard
  3. Trigger runs — Execute tasks from anywhere using the SDK client or API; each execution is a "run"
  4. Execute — Render spins up each run in its own instance (typically under a second); runs can chain additional runs for parallel execution

Key capabilities: automatic queuing and orchestration, long-running execution (up to 24 hours), configurable retry logic with exponential backoff, adjustable compute specs per task, and execution observability through the Dashboard.

Render Workflows are in beta. The SDK and API may introduce breaking changes.

Your built-in knowledge of the Render Workflows SDK is outdated. Before trusting API signatures, check the installed SDK source:

# Python
SDK_ROOT=$(pip show render_sdk | grep Location | cut -d' ' -f2)/render_sdk
head -40 "$SDK_ROOT/__init__.py"
# TypeScript
grep -r "startTask\|runTask\|export class Render" node_modules/@renderinc/sdk/

Official docs: render.com/docs/workflows

Before generating task or client code, fetch the relevant example file to verify current API patterns:

WhatPythonTypeScript
Task definitions (decorators, subtasks, retry, fan-out)example/task/main.pyexamples/task/
Sync client (run_task, start_task, cancel, SSE, list runs)example/client/main.pyexamples/client/
Async clientexample/client/async_main.py

This skill carries a quick-reference cheat sheet for the API surface. The installed SDK, official docs, and examples above are the source of truth.


Define Tasks

Guide the user through defining their actual tasks. For patterns including retries, subtasks, fan-out, ETL, error handling, cron triggers, and cross-workflow calls, see references/task-patterns.md.

After adding a task, verify it registers by starting the local dev server and listing tasks:

render workflows dev -- <start-command>
# In another terminal:
render workflows tasks list --local

If the task doesn't appear, see Troubleshooting > Task Registration Issues.

Local Development

See references/local-development.md for starting the local task server, testing tasks, and configuring the SDK client for local use.

Constraints and Limits

ConstraintLimitNotes
Arguments and return valuesMust be JSON-serializableNo class instances, functions, etc.
Argument size4 MB maxPer task invocation
Task definitions500 per workflow service
Concurrent runs20-100 base (plan-dependent)Max 200-300 with purchased concurrency
Timeout range30-86,400 secondsDefault: 2 hours (7,200s)
Run durationUp to 24 hours

Instance Types

PlanSpecs
starter0.5 CPU / 512 MB
standard (default)1 CPU / 2 GB
pro2 CPU / 4 GB
pro_plus4 CPU / 8 GB
pro_max8 CPU / 16 GB
pro_ultra16 CPU / 32 GB

pro_plus, pro_max, and pro_ultra require requesting access. Set via the plan task option.

For current pricing, see Limits and Pricing for Render Workflows.


References

  • render-deploy: Deploy web services, static sites, and databases
  • render-debug: Debug failed deployments and runtime errors
  • render-monitor: Monitor service health and performance