Best practice: Supabase signed URL → external API via Make?

Hi everyone,

I’m building a workflow where a client uploads a document to Supabase Storage, and then Make automatically sends that document to an external API for processing, receives a response, and writes the processed data back into Supabase. I’ve made good progress, but I keep getting stuck around the correct setup for the HTTP request after generating the Supabase signed URL. I would really appreciate guidance on the best long-term approach.

Overall goal of the flow (simplified):

  1. Client uploads a file to Supabase Storage

  2. Make watches for new row in Supabase (INSERT event)

  3. Make generates a signed URL for the file

  4. The file is sent to an external API for analysis

  5. Make receives a JSON response

  6. Make writes the extracted data back into Supabase

Current scenario setup in Make:

  1. Supabase — Watch Events (trigger on INSERT)

  2. Tools — Sleep

  3. Supabase — Search Rows

  4. Tools — Set variable (storage file path)

  5. HTTP — Make a request (Supabase Sign URL)

  6. HTTP — Get a file (this step is where I am unsure)

  7. HTTP — POST to external API (Enqueue)

  8. Tools — Sleep

  9. HTTP — Make a request (GET, to check job status)

  10. Supabase — Upsert

Where I’m stuck:
I’m unsure about the best practice between steps 6 and 7. I’ve tried two different approaches:

  • Downloading the file using “HTTP — Get a file”, then sending it to the external API using multipart/form-data

  • Sending the signed URL directly in JSON to the external API and letting the API retrieve it directly from Supabase

Both approaches have worked at certain points, but I keep running into HTTP errors depending on how I configure these modules. I want to avoid going around in circles and build this in a clean, scalable and reliable way.

My question:
What is the recommended or most reliable way to send a Supabase file to an external API using Make? Is it better to send the signed URL in JSON and let the API fetch the file directly, or is it better to download the file into Make using Get a file and then send it via multipart/form-data? Or is there a better approach entirely?

Any guidance, best practices or working examples would be greatly appreciated. Screenshots of my current setup are available if helpful.

Thanks in advance for any help.

1 Like

Hey @Scott_Ward,
Depends on how large the files are and the volume you will handle. For smaller files sizes and volume, you can just directly download them in make using Get a File action. But to understand better I would need to know more and understand the nuances.

I run an automation studio called Automation Jinn where we help companies like your automate their processes and increase efficiency.

I can understand how it can become more technical and difficult to handle this yourself. I am a Make advanced certified with a background in computer science so quite comfortable in integrating API and custom code. Would love to talk more about the project :slight_smile:

Happy to jump on a call if it’s easier!

Cheers,
Sparsh
Founder
Automation Jinn

Hey @Scott_Ward,

Thank you for sharing the details of your setup. You are very close, and the remaining issues usually come down to how the file request is configured and how the external API expects to receive it. The quickest way to resolve this is to review your scenario together so I can see exactly where the request flow needs to be adjusted.

If you are looking for someone with more than 5 years of experience and certified expertise, I would be glad to help. I can guide you through the most reliable structure for this workflow and support any ongoing work you have in progress.

Please feel free to explore my services, and I would also be glad to connect on LinkedIn to move forward.

It sounds like you’ve made great progress with your integration. To address your specific issue, both approaches you’ve mentioned—sending the signed URL directly or downloading the file and using multipart/form-data—are valid but come with different trade-offs.

In general, I recommend using the signed URL approach where possible, as it keeps the file processing on the Supabase side, reducing load and complexity in Make. However, if the external API doesn’t support signed URLs directly, downloading the file and uploading it via multipart/form-data may be the better approach, though it can introduce some additional overhead.

:page_facing_up: Check my profile: https://www.upwork.com/freelancers/farhana401

:telephone_receiver: Book a quick call:Calendly - Automaxion