Zapier integration
9 min read · Reviewed

Zapier Mockup Automation: API Requests and Completion Zaps

Build a Zap that submits approved artwork once, records the accepted job and delivers the finished image through your existing tools. Use the generic API or webhook features rather than searching for a native Mockups Generator marketplace action.

By Mockups Generator · API and webhook recipes available

FROM EVENT TO IMAGEExample workflow
↗Your trigger

New artwork or an order

Good things grow source artworkGeometric color study source artwork
{ }Render API

Template + design + settings

Background render job
◎Signed webhook

Verify the completion event

Continue your workflow

Before you start

  • A Mockups Generator account, an available render allowance and a named API key from API access.
  • A ready template, its exact artwork-area ID from GET /api/v1/templates/{template_id}, and an approved sample export.
  • An owned artwork asset ID, or a direct public image URL. Prefer saved assets for repeated work.
  • A source-record ID plus an artwork version for a stable idempotency key, and a place to persist the accepted job ID.

Download the setup resources

Examples contain placeholders, not live credentials. Follow the format label: configuration recipes are instructions, while workflow and connector files can be imported into their platform. Platform account permissions and a small live test are required.

  • Configuration JSON

    Zapier request and field mapping

    Submission, completion and delivery mappings. This is a setup recipe, not a published Zap template or native app.

  • Postman JSON

    Shared Postman collection

    Importable requests for assets, JSON jobs, reviewed plans, recovery and file downloads. Set your key locally.

  1. 1

    Choose a trigger and operation identity

    Start with a new approved order or artwork record. Include template_id, slot_id and asset_id, or a current direct-image URL. Create a stable versioned key such as order-1042-artwork-v1. Store Job ID and Delivery status on the source record.

  2. 2

    Configure an authenticated API connection

    Use API by Zapier for an external API-key connection when it is available in your workspace. Send the full Bearer value in Authorization. Zapier's official comparison recommends this over storing secrets in Webhooks step fields. Check your plan and organization policies before building production actions.

  3. 3

    Submit a nested JSON body

    Call POST /api/v1/render-jobs with Content-Type application/json and the stable Idempotency-Key header. Set options as an object and map artwork under its exact slot key. If using Webhooks by Zapier Custom Request as a fallback, enter raw JSON and protect the plaintext credential fields from sharing.

  4. 4

    Write the accepted job back to the source

    Save id, the operation key and the original request inputs immediately after acceptance. A separate completion step needs this identity to verify which record to update. A new event should not overwrite a pending older job without an explicit business rule.

  5. 5

    Create a completion Zap

    For polling, use a scheduled Zap that reads pending source records and calls GET /api/v1/render-jobs/{id}. Filter done to delivery and error or cancelled to review. Alternatively, use a separate Catch Hook or Catch Raw Hook trigger, correlate a stored job ID and verify completion through the authenticated API.

  6. 6

    Transfer the finished file

    When your chosen action exposes binary response data as a usable file, request the canonical result endpoint with authentication and map that file to the destination. If it does not, use a file-transfer step or an n8n/Make helper to copy the result to controlled storage, then pass the accessible storage URL onward. Do not promise that Custom Request turns PNG bytes into a Zapier file object.

  7. 7

    Test a duplicate and a delivery failure

    Replay the same trigger input and confirm it keeps the same job ID. Simulate a failed destination upload and retry delivery without submitting another render. Turn on the Zap only after both scenarios and a normal sample pass.

API by Zapier versus Webhooks by Zapier

API by Zapier is designed for services without a native integration and can keep API credentials in a connection. Webhooks Custom Request supports deeply nested JSON, but its headers are plaintext step fields. Custom Request cannot send Zapier file objects. These differences are why the recipe defaults to JSON references and separates file delivery from job creation.

{
  "template_id": "REPLACE_TEMPLATE_ID",
  "options": {
    "format": "png",
    "mode": "full",
    "slots": {
      "REPLACE_SLOT_ID": {
        "asset_id": "REPLACE_ASSET_ID",
        "fit": "contain"
      }
    }
  }
}

Official platform documentation for this setup

Avoid double-encoded options

In a JSON request, send options as the object shown above, not an escaped JSON string inside another JSON document. Build dynamic values through structured mapping or JSON utilities so quotes in source data remain valid. Form or multipart clients use the opposite contract: options is encoded once as a string. A 422 should be fixed at the payload stage before retrying.

Completion callbacks are separate executions

A Catch Hook does not pause and resume the initiating Zap. Make it a dedicated completion Zap. Catch Raw Hook may expose the bytes and headers needed for signature verification; use a verifier that computes HMAC-SHA256 over the exact raw bytes. If you cannot verify that contract, treat the notification as untrusted and look up a previously stored job ID. Deduplicate stable event_id before delivery.

Collections and multi-artwork layouts

For many product views, preflight the areas-based collection with exact slot IDs and saved assets. Review the actual assignments and sample, then store the plan token with the source item. POST /bulk-jobs with the unchanged token and idempotency_key. The completion Zap checks has_result and the manifest because an error or cancelled collection can still contain approved completed images. A raw ZIP response needs a file-transfer capability just like a PNG.

Verify completion and move a real file

Treat 202 as acceptance. Persist id, then poll the canonical job endpoint with the same bearer credential. queued, running and cancelling mean wait; done means download; error and cancelled need a recovery branch. A protected result URL cannot be pasted into a destination that has no way to send your API key. Download the bytes through an authenticated action, then upload a file to your destination. A temporary signed link can expire, so refresh it or use the canonical result endpoint. Do not forward the bearer key across a redirect to another origin.

Retries, duplicate events and interrupted runs

Use one key for one intended operation, such as order-1042-artwork-v1. Keep it stable on a lost-response retry. The same inputs and key return the same render job; changed inputs return 409 and need an explicit new version. Do not repeat a synchronous paid render just because the previous step timed out. Retry reads and idempotent submissions with bounded backoff for temporary network or 5xx errors. Fix 401 credentials, 404 ownership, 402 allowance and 422 validation before retrying. When a polling deadline is reached, save the job ID and resume checking it later; the server continues independently.

Troubleshooting checklist

Check the actual HTTP status and detail field before changing the workflow. Test a single ready template and saved asset first, then add multi-area placements and collection output. Avoid enabling schedules until the downloaded file and its destination record have both been inspected.

Field or conditionMapping or action
401Use the full Bearer value and a non-revoked API key; a website key is for the iframe only.
404Confirm the template, asset or job belongs to this account or is an accessible public template.
409Read detail: result not ready, changed inputs, stale revision and expired review need different actions.
402 / 429Check account allowance / reduce concurrency and back off for rate limits.
422Inspect the slot ID, ready status, nested options and direct-image URL. JSON options must be an object.
Broken destination imageDownload with authentication and upload bytes; protected URLs are not public attachments.

Official references

Platform requirements were checked against these official sources on . API examples are checked against the current application. Validate credentials, imports and destination behavior in your own platform account.

FAQ

Common questions

1.Is there a native Mockups Generator Zapier app?

These instructions use generic API or webhook actions. They do not depend on a published native Mockups Generator app.

2.Does a webhook automatically resume my initiating Zap?

No. Use a separate completion Zap or scheduled status checks, and correlate its event with the job ID stored by the initiating Zap.

3.Will Webhooks Custom Request return a ready-to-upload image file?

Do not assume that. Check the action's file output behavior. If it cannot expose the authenticated response as a file, transfer the result to storage through a compatible file action or helper workflow.

Put the guide into practice

Review the workflow and requirements before creating your next output.

Review request examplesFree plan · no credit card · no watermarks
PSD compatibility reportsSaved projectsAPI with webhooks