Prerequisites
- CreaScale account with API key (generated from Settings → API).
- Zapier account (Free tier works for low volume; Starter $29/mo for multi-step Zaps).
- A trigger source — Shopify store, Airtable base, Google Sheet, or any other Zapier-connected app.
- A destination for outputs — Slack channel, Airtable row, Google Drive folder, or email.
Step-by-step setup
Generate your CreaScale API key
Log into CreaScale, go to Settings → API. Click "Generate new key". Copy the key — you'll only see it once. Keep it in a password manager or Zapier vault.
Create a new Zap with your trigger
In Zapier, click "Create Zap". Pick your trigger — e.g., Shopify → "New Product". Connect your Shopify account and select the store. Test the trigger with one existing product to confirm Zapier pulls the product URL correctly.
Add the "Webhooks by Zapier" action
Click "+" to add an action. Search for "Webhooks by Zapier" and select it. Choose "POST" as the event type. This step is where you call CreaScale.
Configure the POST request
Fill in the webhook fields exactly as shown:
URL: https://api.creascale.ai/v1/runs
Payload Type: json
Data:
product_url: {{step_1_product_url}}
languages: ["en","fr","es","ar"]
angle_count: 8
Wrap Request In Array: No
Unflatten: Yes
Headers:
Authorization: Bearer YOUR_API_KEY_HERE
Content-Type: application/json
Test the webhook
Click "Test action". Zapier sends the POST to CreaScale. You should receive back a JSON response with run_id, status "queued", and an estimated completion time (~5 minutes). The actual creative URLs come back in a follow-up webhook.
Add a "Delay By Zapier" step
Since CreaScale runs take ~5 minutes, add a Delay action set to 6 minutes. This ensures the creatives are ready before Zapier fetches them.
Add a second Webhook to fetch results
Add another "Webhooks by Zapier" action, this time GET. URL: https://api.creascale.ai/v1/runs/{{run_id}}. The response contains a UGC video ad URL + static ad variants and ad copy.
Route outputs to your destination
Add your final action — e.g., Slack "Post a Message" with the creative URLs, Google Drive "Upload File" to download each image, or Airtable "Create Record" to log the run. Choose what works for your workflow.
Turn the Zap on
Click "Publish Zap". Zapier will now automatically trigger CreaScale runs for every new trigger event. For Shopify, this means every new product auto-generates a UGC video ad + static ad variants within minutes of upload.
Popular use cases
- Auto-generate creatives for every new Shopify product — The most common pattern — new product upload triggers a CreaScale run that returns a UGC video ad + static ad variants. Useful for dropshippers testing high product velocity.
- Weekly batch generation from Airtable — Keep a list of product URLs in Airtable, trigger a batch CreaScale run every Monday morning, receive a UGC video ad + static variants per product in Slack by 9am.
- Refresh creatives for fatigued ads — Connect to your Meta Ads reporting (via Supermetrics or similar) and trigger a CreaScale run whenever an ad's frequency exceeds 3.5x. Proactive fatigue management.
- Multi-brand agency automation — For agencies managing 10+ clients: one Airtable per client, same Zap template, client-specific API keys. Scales creative production without adding ops time.
- Competitive angle testing — When a competitor launches a new ad (detected via Meta Ad Library via a scraper Zap), trigger a CreaScale run on your equivalent product with instructions to counter-angle.
Troubleshooting
- 401 Unauthorized on POST — Double-check the Authorization header format — should be "Bearer YOUR_KEY" (capital B, space after Bearer). No extra quotes or brackets.
- Zapier times out on the GET webhook — CreaScale runs typically complete in 3-7 minutes. If your Delay step is under 5 minutes, increase to 6-8 minutes and retry.
- Webhook returns 429 Too Many Requests — API rate limit. Default is 10 runs per hour per account. Upgrade your CreaScale plan or space out Zap triggers with a queueing step.
- Empty response body — Check that your Zapier trigger is actually passing a valid product URL. Test the trigger step first to confirm the URL field contains data.
- Creatives look generic / off-brand — CreaScale defaults to generic brand inference from the product page. For better output, pass an optional
brand_idfield with your pre-configured brand voice (set up in CreaScale Settings → Brands).
Related
- API v1 documentation
- CreaScale pricing
- All integrations
- Dropshipping Ad Creative Automation workflow