Zapier Integration — Automate Image Generation
Generate images from HTML and capture URL screenshots using Zapier webhooks. Connect RendShot to 5,000+ apps.
Zapier connects 5,000+ apps without writing code. Use the built-in Webhooks by Zapier action to call the RendShot API from any trigger — no backend required.
Common use cases: generate OG images when a blog post is published, render product cards when a Shopify item goes live, or capture URL screenshots when a form is submitted.
Prerequisites
- A RendShot API key — sign up at rendshot.ai, then create a key at Dashboard — API Keys. Keys start with
rs_live_. - A Zapier account — the free tier supports Webhooks by Zapier.
Step 1: Choose your trigger
Create a new Zap and pick the trigger that starts your workflow. A few common choices:
- Google Sheets — "New or Updated Row" fires when you add content to a sheet
- WordPress — "New Post" fires when a post is published
- Shopify — "New Product" fires when a product is created
- Typeform / Jotform — "New Submission" fires on form responses
- RSS — "New Item in Feed" fires when a blog or feed has a new entry
Configure and test your trigger so Zapier has sample data to reference in later steps.
Step 2: Add Webhooks by Zapier action
In the action step, search for Webhooks by Zapier and select Custom Request as the action event.
Fill in the fields:
| Field | Value |
|---|---|
| Method | POST |
| URL | https://api.rendshot.ai/v1/image |
| Headers | Authorization: Bearer rs_live_... |
Content-Type: application/json | |
| Data Pass-Through? | false |
| Data | Raw JSON body (see below) |
Example JSON body:
{
"html": "<div style=\"font-family:sans-serif;padding:60px;background:#1a1816;color:#fff;width:1200px\"><h1 style=\"font-size:48px;margin:0 0 16px\">My Article Title</h1><p style=\"color:#888;font-size:20px\">rendshot.ai</p></div>",
"width": 1200,
"height": 630,
"format": "png"
}Set the Content Type dropdown to json so Zapier sends the body as raw JSON rather than form-encoded data.
Step 3: Map dynamic data from the trigger
Replace static strings in the JSON body with field references from your trigger step. In the Zapier editor, click inside any value and select the field you want to insert.
For example, if your trigger is a new Google Sheets row with a Title column and a Description column, the body becomes:
{
"html": "<div style=\"font-family:sans-serif;padding:60px;background:#1a1816;color:#fff;width:1200px\"><h1 style=\"font-size:48px;margin:0 0 16px\">[[Title from Google Sheets]]</h1><p style=\"color:#aaa;font-size:20px\">[[Description from Google Sheets]]</p></div>",
"width": 1200,
"height": 630
}Replace [[Title from Google Sheets]] with the actual field pill Zapier inserts — it will look like {{1. Title}} in the Zapier editor. Zapier substitutes the live value each time the Zap runs.
Keep the HTML well-formed. Use inline styles; external stylesheets are not loaded.
Step 4: Use the result
The RendShot API responds with a JSON object containing a url field:
{
"id": "img_01jqxyz...",
"url": "https://assets.rendshot.ai/images/img_01jqxyz....png",
"width": 1200,
"height": 630,
"format": "png"
}In Zapier, the response body is parsed automatically. Add a subsequent action step and reference the url field from the Webhooks step to use the generated image:
- Update a row in Airtable — store the image URL in an
OG Imagefield - Send a Slack message — attach the URL as a message attachment
- Update WordPress post meta — write the URL back to the post as its featured image
- Send an email via Gmail — include
<img src="...">in the email body
URL Screenshots
To capture a screenshot of an existing webpage instead of rendering HTML, use the /v1/screenshot endpoint with the same Webhooks action setup:
| Field | Value |
|---|---|
| Method | POST |
| URL | https://api.rendshot.ai/v1/screenshot |
Example JSON body:
{
"url": "https://example.com/my-page",
"width": 1280,
"height": 800,
"full_page": false
}Map the url field to a dynamic value from your trigger — for example, the permalink from a WordPress "New Post" trigger or the product URL from a Shopify trigger.
The response structure is identical: extract the url field to get the CDN-hosted screenshot.
Example Zaps
New WordPress post → OG image → update post meta
- Trigger: WordPress — New Post
- Action: Webhooks by Zapier — POST
/v1/imagewith the post title and excerpt in the HTML - Action: WordPress — Update Post, set the
_og_imagemeta field to the image URL from step 2
New Shopify product → product card → save to Google Drive
- Trigger: Shopify — New Product
- Action: Webhooks by Zapier — POST
/v1/imagewith the product name and price rendered in a card template - Action: Google Drive — Upload File (use the image URL as the source)
New Typeform response → certificate image → email to respondent
- Trigger: Typeform — New Entry
- Action: Webhooks by Zapier — POST
/v1/imagewith the respondent's name rendered in a certificate layout - Action: Gmail — Send Email, attach the image URL in the body
Troubleshooting
401 Unauthorized
Your API key is missing or incorrect. Open the Webhooks action, go to Headers, and verify the Authorization header is exactly Bearer rs_live_... with no extra spaces or line breaks.
Invalid JSON / 400 Bad Request
- Make sure you selected Custom Request as the action event, not "POST" or "GET".
- Set the Content Type dropdown in the Webhooks action to
json. - The body must be valid JSON. Use a validator like jsonlint.com to check your template before running the Zap.
- Avoid smart quotes (
") in your HTML — use straight ASCII quotes (").
No image URL in response
Check the Zap run history and open the Webhooks step result. If the url field is absent, look at the full response body for an error object — it will contain a code and message explaining what went wrong (e.g. usage limit reached, invalid HTML dimensions).
Image looks wrong
The width and height fields set the viewport, not a crop. Make sure your HTML content fills the intended area using fixed widths and explicit heights on the root element.
See the API Reference for all parameters and error codes, or the Integrations Overview for other platforms.
n8n Integration — Generate Images Without Puppeteer
Replace the n8n Puppeteer node with a single HTTP Request node. Generate images from HTML with RendShot in any n8n workflow.
Make Integration — Visual Workflow Image Generation
Generate images from HTML using the Make.com HTTP module. Build visual automation workflows with RendShot.