Render
Deploy and manage Render services, and react to Render deploy/build events
Triggers
Section titled “Triggers”Actions
Section titled “Actions”Instructions
Section titled “Instructions”- API Key: Create it in Render Account Settings -> API Keys.
- Workspace (optional): Use your Render workspace ID (
usr-...ortea-...) or workspace name. Leave empty to use the first workspace available to the API key. - Workspace Plan: Select Professional or Organization / Enterprise (used to choose webhook strategy).
- Auth: SuperPlane sends requests to Render API v1 using
Authorization: Bearer <API_KEY>. - Webhooks: SuperPlane configures Render webhooks automatically via the Render Webhooks API. No manual setup is required.
- Troubleshooting: Check Render Dashboard -> Integrations -> Webhooks and the Render webhook docs.
Note: Plan requirement: Render webhooks require a Professional plan or higher.
On Build
Section titled “On Build”The On Build trigger emits build-related Render events for one selected service.
Use Cases
Section titled “Use Cases”- Build failure alerts: Notify your team when builds fail
- Build success hooks: Trigger follow-up automation after successful builds
Configuration
Section titled “Configuration”- Service: Required Render service.
- Event Types: Build event states to listen for. Defaults to
build_ended.
Webhook Verification
Section titled “Webhook Verification”Render webhooks are validated using the secret generated when SuperPlane creates the webhook via the Render API. Verification checks:
webhook-idwebhook-timestampwebhook-signature(v1,<base64-signature>)
Event Data
Section titled “Event Data”The default output emits payload data fields like buildId, eventId, serviceId, serviceName, and status (when present).
Example Data
Section titled “Example Data”{ "data": { "buildId": "bld-cukouhrtq21c73e9scng", "createdAt": "2026-02-05T16:00:00.000000Z", "eventId": "evj-cukouhrtq21c73e9scng", "serviceId": "srv-cukouhrtq21c73e9scng", "serviceName": "backend-api", "status": "failed" }, "timestamp": "2026-02-05T16:00:01.000000Z", "type": "render.build.ended"}On Deploy
Section titled “On Deploy”The On Deploy trigger emits deploy-related Render events for one selected service.
Use Cases
Section titled “Use Cases”- Deploy notifications: Notify Slack or PagerDuty when deploys succeed/fail
- Post-deploy automation: Trigger smoke tests after successful deploy completion events
- Release orchestration: Trigger downstream workflows when deploy stages change
Configuration
Section titled “Configuration”- Service: Required Render service.
- Event Types: Deploy event states to listen for. Defaults to
deploy_ended.
Webhook Verification
Section titled “Webhook Verification”Render webhooks are validated using the secret generated when SuperPlane creates the webhook via the Render API. Verification checks:
webhook-idwebhook-timestampwebhook-signature(v1,<base64-signature>)
Event Data
Section titled “Event Data”The default output emits payload data fields like deployId, eventId, serviceId, serviceName, and status (when present).
Example Data
Section titled “Example Data”{ "data": { "createdAt": "2026-02-05T16:00:00.000000Z", "deployId": "dep-cukouhrtq21c73e9scng", "eventId": "evj-cukouhrtq21c73e9scng", "serviceId": "srv-cukouhrtq21c73e9scng", "serviceName": "backend-api", "status": "succeeded" }, "timestamp": "2026-02-05T16:00:01.000000Z", "type": "render.deploy.ended"}Cancel Deploy
Section titled “Cancel Deploy”The Cancel Deploy component cancels an in-progress deploy for a Render service and waits for it to complete.
Use Cases
Section titled “Use Cases”- Automated rollback/abort: Cancel deploys when health checks fail
- Manual intervention: Stop a deploy triggered earlier in a workflow
How It Works
Section titled “How It Works”- Sends a cancel request for the specified deploy via the Render API
- Waits for the deploy to finish (via deploy_ended webhook and optional polling fallback)
- Routes execution based on deploy outcome:
- Success channel: Deploy was cancelled successfully (status is
canceled) - Failed channel: Deploy finished with an unexpected status
- Success channel: Deploy was cancelled successfully (status is
Configuration
Section titled “Configuration”- Service: Render service that owns the deploy
- Deploy ID: Deploy ID to cancel (supports expressions)
Output Channels
Section titled “Output Channels”- Success: Emitted when the deploy is cancelled successfully
- Failed: Emitted when the deploy finishes with a non-cancelled status
- Uses the existing integration webhook for deploy_ended events
- Falls back to polling if the webhook does not arrive
- Requires a Render API key configured on the integration
Example Output
Section titled “Example Output”{ "data": { "createdAt": "2026-02-05T16:10:00.000000Z", "deployId": "dep-cukouhrtq21c73e9scng", "finishedAt": "2026-02-05T16:12:00.000000Z", "serviceId": "srv-cukouhrtq21c73e9scng", "status": "canceled", "trigger": "api" }, "timestamp": "2026-02-05T16:12:00.000000Z", "type": "render.deploy"}Deploy
Section titled “Deploy”The Deploy component starts a new deploy for a Render service and waits for it to complete.
Use Cases
Section titled “Use Cases”- Merge to deploy: Trigger production deploys after a successful GitHub merge and CI pass
- Scheduled redeploys: Redeploy staging services on schedules or external content changes
- Chained deploys: Deploy service B when service A finishes successfully
How It Works
Section titled “How It Works”- Triggers a new deploy for the selected Render service via the Render API
- Waits for the deploy to complete (via deploy_ended webhook and optional polling fallback)
- Routes execution based on deploy outcome:
- Success channel: Deploy completed successfully
- Failed channel: Deploy failed or was cancelled
Configuration
Section titled “Configuration”- Service: Render service to deploy
- Clear Cache: Clear build cache before deploying
Output Channels
Section titled “Output Channels”- Success: Emitted when the deploy completes successfully
- Failed: Emitted when the deploy fails or is cancelled
- Uses the existing integration webhook for deploy_ended events (same as On Deploy trigger)
- Falls back to polling if the webhook does not arrive
- Requires a Render API key configured on the integration
Example Output
Section titled “Example Output”{ "data": { "createdAt": "2026-02-05T16:10:00.000000Z", "deployId": "dep-cukouhrtq21c73e9scng", "finishedAt": "2026-02-05T16:15:00.000000Z", "serviceId": "srv-cukouhrtq21c73e9scng", "status": "succeeded" }, "timestamp": "2026-02-05T16:15:00.000000Z", "type": "render.deploy.finished"}Get Deploy
Section titled “Get Deploy”The Get Deploy component fetches a deploy for a Render service.
Use Cases
Section titled “Use Cases”- Status checks: Inspect deploy status and timestamps
- Debugging: Fetch deploy metadata after receiving an event
Configuration
Section titled “Configuration”- Service: Render service that owns the deploy
- Deploy ID: Deploy ID to retrieve (supports expressions)
Output
Section titled “Output”Emits a render.deploy payload containing deploy fields like deployId, status, trigger, and timestamps when available.
Example Output
Section titled “Example Output”{ "data": { "commit": { "createdAt": "2026-02-05T16:09:30.000000Z", "id": "1a2b3c4d5e6f", "message": "Release v1.2.3" }, "createdAt": "2026-02-05T16:10:00.000000Z", "deployId": "dep-cukouhrtq21c73e9scng", "finishedAt": "2026-02-05T16:15:00.000000Z", "image": { "ref": "registry.example.com/backend-api:1a2b3c4d", "sha": "sha256:4f7c2d7f0bb27e2f8d4d9b3d2b3a1a9a3b2c1d0e" }, "serviceId": "srv-cukouhrtq21c73e9scng", "startedAt": "2026-02-05T16:10:10.000000Z", "status": "live", "trigger": "api" }, "timestamp": "2026-02-05T16:15:00.000000Z", "type": "render.deploy"}Get Service
Section titled “Get Service”The Get Service component fetches details for a Render service.
Use Cases
Section titled “Use Cases”- Service inspection: Fetch current service configuration and metadata
- Workflow context: Use service fields to drive branching decisions in later steps
Configuration
Section titled “Configuration”- Service: Render service to retrieve
Output
Section titled “Output”Emits a render.service payload containing service fields like serviceId, serviceName, type, dashboardUrl, and suspended.
Example Output
Section titled “Example Output”{ "data": { "createdAt": "2026-02-05T15:00:00.000000Z", "dashboardUrl": "https://dashboard.render.com/web/srv-cukouhrtq21c73e9scng", "serviceId": "srv-cukouhrtq21c73e9scng", "serviceName": "backend-api", "suspended": "not_suspended", "type": "web_service", "updatedAt": "2026-02-05T16:00:00.000000Z" }, "timestamp": "2026-02-05T16:05:00.000000Z", "type": "render.service"}Purge Cache
Section titled “Purge Cache”The Purge Cache component requests a build cache purge for a Render service.
Use Cases
Section titled “Use Cases”- Cache reset: Force a clean rebuild when you suspect stale dependencies or build artifacts
- Operational tooling: Provide a one-click cache purge in incident response workflows
Configuration
Section titled “Configuration”- Service: Render service whose build cache should be purged
Output
Section titled “Output”Emits a render.cache.purge.requested payload with serviceId and a status field indicating the request was accepted.
Example Output
Section titled “Example Output”{ "data": { "serviceId": "srv-cukouhrtq21c73e9scng", "status": "accepted" }, "timestamp": "2026-02-05T16:20:00.000000Z", "type": "render.cache.purge.requested"}Rollback Deploy
Section titled “Rollback Deploy”The Rollback Deploy component triggers a rollback deploy for a Render service and waits for it to complete.
Use Cases
Section titled “Use Cases”- Automated recovery: Roll back after detecting errors in a new deploy
- One-click rollback: Trigger rollbacks from an incident workflow
How It Works
Section titled “How It Works”- Triggers a rollback deploy for the selected Render service via the Render API
- Waits for the deploy to complete (via deploy_ended webhook and optional polling fallback)
- Routes execution based on deploy outcome:
- Success channel: Deploy completed successfully (status is
live) - Failed channel: Deploy failed or was cancelled
- Success channel: Deploy completed successfully (status is
Configuration
Section titled “Configuration”- Service: Render service to roll back
- Deploy ID: The deploy ID to roll back to (supports expressions)
Output Channels
Section titled “Output Channels”- Success: Emitted when the rollback deploy completes successfully
- Failed: Emitted when the rollback deploy fails or is cancelled
- Uses the existing integration webhook for deploy_ended events
- Falls back to polling if the webhook does not arrive
- Includes
rollbackToDeployIdin the output payload for reference - Requires a Render API key configured on the integration
Example Output
Section titled “Example Output”{ "data": { "createdAt": "2026-02-05T16:18:00.000000Z", "deployId": "dep-cukouhrtq21c73e9scng", "rollbackToDeployId": "dep-cukouhrtq21c73e9scnf", "serviceId": "srv-cukouhrtq21c73e9scng", "status": "build_in_progress", "trigger": "rollback" }, "timestamp": "2026-02-05T16:18:00.000000Z", "type": "render.deploy"}Update Env Var
Section titled “Update Env Var”The Update Env Var component updates a Render service environment variable.
Use Cases
Section titled “Use Cases”- Rotate secrets: Generate a new value for an env var (for example, API tokens) and optionally emit it
- Configuration changes: Update non-secret environment values as part of a workflow
Configuration
Section titled “Configuration”- Service: Render service that owns the env var
- Key: Env var key to update
- Value Strategy:
Set value: provide theValuefieldGenerate value: request Render to generate a new value
- Value: New env var value (sensitive). Required when using
Set value - Emit Value: When enabled, include the env var
valuein output. Disabled by default to avoid leaking secrets.
Output
Section titled “Output”Emits a render.envVar.updated payload with serviceId, key, and a valueGenerated boolean. The value field is only included when emitValue is enabled.
Example Output
Section titled “Example Output”{ "data": { "key": "DATABASE_URL", "serviceId": "srv-cukouhrtq21c73e9scng", "valueGenerated": false }, "timestamp": "2026-02-05T16:25:00.000000Z", "type": "render.envVar.updated"}