There is no dedicated ChangeThisFile app in the Zapier marketplace — but there doesn't need to be. The Webhooks by Zapier action (HTTP POST with form-data) gives you full API access from any Zap. This guide covers the exact Zapier configuration to convert files from Google Drive, Gmail attachments, Dropbox, or any other trigger source — and get the converted file back into your workflow.

TL;DR

  • Use Webhooks by Zapier → POST (not GET)
  • Set Content Type to multipart/form-data
  • Pass file field as the binary file URL from your trigger step
  • Set target field to your output format (mp3, pdf, jpg, etc.)
  • The response is the converted file binary — pass it to your output step (Google Drive, email, etc.)

Common Zapier conversion workflows

TriggerConversionOutput
Gmail attachment (HEIC)HEIC → JPGSave to Google Drive folder
Dropbox new file (WAV)WAV → MP3Upload to podcast RSS bucket
Google Drive (DOC)DOC → PDFEmail as PDF attachment
Typeform file upload (PNG)PNG → PDFStore in Airtable
Slack file share (MP4)MP4 → MP3Save transcript source to Notion

Zapier setup: step-by-step

This example converts a Google Drive HEIC file to JPG:

  1. Trigger: Google Drive → New File in Folder
    Select the folder where HEIC files land. Note the File (URL) output field.
  2. Action: Webhooks by Zapier → Custom Request

    URL: https://changethisfile.com/v1/convert
    Method: POST
    Headers:
    Authorization: Bearer ctf_sk_your_key_here

    Body Type: Form (multipart)
    Body:
    file = (map the file URL from trigger step)
    target = jpg

    Unflatten: No
  3. Action: Google Drive → Upload File
    Map the Webhooks response body as the file content. Set filename as the original name with .jpg extension.

Zapier passes the file URL to Webhooks, which downloads it and POSTs the binary to the API. The response is the converted file — Zapier stores it as a binary blob you can pass to the next step.

Make (Integromat) pattern

Make has a dedicated HTTP module that works identically:

  1. HTTP → Make a request
    URL: https://changethisfile.com/v1/convert
    Method: POST
    Headers: Authorization: Bearer ctf_sk_your_key_here
    Body type: form-data
    Fields:
    - file: map file binary from previous step
    - target: e.g., mp3
    Parse response: Yes → returns binary

Make's HTTP module handles multipart form-data natively. The converted file binary passes directly to the next module (Google Drive, Dropbox, email, etc.).

n8n pattern

n8n has a built-in HTTP Request node with full multipart support:

{
  "node": "HTTP Request",
  "parameters": {
    "method": "POST",
    "url": "https://changethisfile.com/v1/convert",
    "authentication": "genericCredentialType",
    "genericAuthType": "httpHeaderAuth",
    "options": {
      "bodyContentType": "multipart-form-data"
    },
    "bodyParameters": {
      "parameters": [
        {"name": "file", "value": "={{ $binary.data }}", "type": "file"},
        {"name": "target", "value": "pdf"}
      ]
    },
    "headers": {
      "parameters": [
        {"name": "Authorization", "value": "Bearer ctf_sk_your_key_here"}
      ]
    }
  }
}

Testing the pattern with curl first

Before building the Zapier Zap, verify your API key and conversion work with curl:

# Test your API key
curl -X POST https://changethisfile.com/v1/convert \
  -H "Authorization: Bearer ctf_sk_your_key_here" \
  -F "file=@test-document.pdf" \
  -F "target=jpg" \
  --output test-output.jpg

# Verify the response
file test-output.jpg  # should say: JPEG image data
# Test from Python before wiring into automation
import requests

API_KEY = "ctf_sk_your_key_here"

with open("test.heic", "rb") as f:
    resp = requests.post(
        "https://changethisfile.com/v1/convert",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"file": f},
        data={"target": "jpg"},
        timeout=30,
    )
print(resp.status_code, len(resp.content), "bytes")

Edge cases and gotchas

  • Zapier file URLs expire. Google Drive, Dropbox, and other trigger sources return time-limited download URLs. Zapier fetches the file immediately when the Webhooks action runs — no issue for real-time Zaps. If you're using a delay step before the conversion, add a "Get File" step to refresh the URL.
  • File size limit. The API has a 25MB upload limit on the free tier. Google Drive files larger than this will fail. Add a file size check step (using a code step) to skip oversized files.
  • Response type in Zapier. Webhooks by Zapier stores the response as a JSON object by default. For binary responses (the converted file), set Unflatten to No and use the raw response body in the next step.
  • Format auto-detection. The API detects source format from the filename. If Zapier's file step doesn't include the original filename, add the filename in a form field or ensure the Content-Disposition header includes the original name.
  • Rate limits. Free tier: 1,000 conversions/month. If your Zap fires frequently, monitor usage and upgrade if needed.

High-volume workflows

For Zaps that fire hundreds of times per day, consider batching:

  • Use Zapier's Digest (batch) trigger to collect files, then process in a single code step via the API
  • Or use n8n self-hosted with no per-task pricing for high-volume automation
  • The paid ChangeThisFile plans (starting at $29/month for 10K conversions) cover most automation workloads
// Zapier Code step: convert and return file
const response = await fetch('https://changethisfile.com/v1/convert', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer ctf_sk_your_key_here' },
  body: (() => {
    const form = new FormData();
    // inputData.file_url comes from the trigger step
    form.append('file', await fetch(inputData.file_url).then(r => r.blob()));
    form.append('target', 'mp3');
    return form;
  })()
});

const blob = await response.blob();
const arrayBuffer = await blob.arrayBuffer();
return [{ converted_file: Buffer.from(arrayBuffer).toString('base64') }];

The HTTP Request pattern works in every automation platform. Once you've tested with curl, mapping it into Zapier's Webhooks action takes 5 minutes. Get a free API key to start automating file conversions in your Zaps.