Kalpana Docs
Integrations

Shopify

Make creatives from your Shopify products with your AI assistant or a CSV export, and send the finished files back to your store through Zapier.

Kalpana works with Shopify in two halves: your products come in through your AI assistant or a CSV, and finished creatives go back out through a webhook and Zapier. No app needs to be installed in your store.

With your AI assistant

Add Kalpana Batch to your assistant and connect your Shopify store there. Ask it to pull the products you want and create a batch from your template. It shows you the batch first, and only running it uses credits.

Bring in your products

Export from Shopify

In your Shopify admin, open Products, select the products you want or keep them all, and choose Export. Pick CSV for Excel, Numbers, or other spreadsheet programs.

Tidy the file

Shopify writes one row per variant and per extra image. Rows that only add an image or a variant have an empty Title; delete them so each product appears once. Keep the columns your templates need, such as Title, Variant Price and Image Src.

Load it into a batch

Upload the file in the batch builder and map its columns to your template. See CSV and Excel.

Product images arrive as links from cdn.shopify.com, which is on the allowed list in Workspace settings by default.

Send creatives back to your store

Every creative that renders sends a job.completed event with its file link and the row's values. Zapier catches it and adds the file to Shopify.

Zapier's Shopify connection needs a paid Zapier plan.

Catch the hook

In Zapier, create a Zap with the trigger Webhooks by Zapier → Catch Hook and copy its URL.

Add the endpoint in Kalpana

Open Webhooks in the sidebar and choose Add endpoint, paste the URL and pick the job.completed event. Kalpana sends a test event straight away. See Webhooks.

Find the product

Add a Shopify → Find Products by Title or Handle step. Search with the row value that holds the product's title, for example data.job.row.Title if your title layer is called Title.

Add the image

Add a Shopify → Update Product step for the product you found, and use data.creative.url as the image. Test the step on one creative before running a full batch.

data.job.row holds the values of the layers in your template, keyed by layer name. Name the layer that carries the product title clearly, so the Zap can find the product from it. All the fields of the event are in Receiving webhooks.

Limits and gotchas

  • The file link in data.creative.url stays valid for at least six days. Shopify copies the image when the Zap runs, so the product keeps it after the link expires.
  • A batch of 500 rows sends 500 job.completed events and runs the Zap 500 times. Check your Zapier task allowance before a large run, or use Send to webhooks to skip test runs.
  • Make and n8n work the same way with their own webhook triggers and Shopify steps.
Was this page helpful?

Updated 1 Nov 2026

On this page