Supabase Storage Operations: Upload, Fetch, and Signed URLs - n8n Workflow

Master Supabase Storage integration using this powerful n8n workflow. Learn to upload, fetch, list files, and generate secure signed URLs using the raw HTTP Request n8n node.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Developers and teams new to Supabase looking for a practical, hands-on learning n8n workflow.

  • Users needing to automate file uploads and retrieval processes into S3-compatible storage solutions.

  • Technical users who prefer using the raw Supabase API structure within a custom n8n node setup.

  • Anyone seeking robust n8n templates for cloud storage management.

Overview

This instructional n8n workflow is designed to help users master the core functionalities of Supabase Storage by integrating directly via the HTTP Request n8n node. Unlike workflows that rely on dedicated service nodes, this approach teaches how to interact with the underlying API endpoints for maximum control and flexibility. This comprehensive n8n template provides four separate lessons:


  1. Uploading binary files.

  2. Fetching existing files.

  3. Generating temporary signed URLs for secure access.

  4. Listing all objects within a specified Supabase bucket.

By providing distinct n8n trigger points for each operation, this setup is perfect for debugging and learning. Correct configuration of the n8n workflow requires setting up Supabase API credentials and defining appropriate storage policies, ensuring the n8n instance has the necessary permissions to execute each step.

How it Works

This powerful n8n workflow operates across four distinct operational branches, each initiated by a specific n8n trigger:


  1. File Upload (Lesson 1): Triggered by the ‘On form submission’ n8n trigger, which accepts a binary file. The workflow passes this binary data to the uploadtosupabasestorage n8n node, executing a POST request to the Supabase Storage object endpoint, thereby storing the file.


  1. File Fetch (Lesson 2): Initiated by ‘On form submission1’, requiring the user to input the desired file name. The subsequent fetchfiletoreview1 n8n node performs a GET request to retrieve the file directly from the Supabase bucket.


  1. Signed URL Generation (Lesson 3): Triggered by ‘On form submission2’, which asks for a file name. The getsignfilefortempaccess n8n node sends a POST request to the Supabase /sign/ endpoint. The request body includes {"expiresIn": 3600} (1 hour), ensuring the resulting URL provides temporary, secure access to the file.


  1. List Objects (Lesson 4): Triggered by the ‘When clicking ‘Execute workflow’’ manual n8n trigger. The listalltheobject n8n node sends a specialized POST request to the /list/ endpoint, providing configuration parameters (prefix, limit, offset, sorting) to retrieve a list of all items currently residing in the specified bucket.

Installation Guide

To deploy and utilize this n8n workflow, follow these steps:


  1. Setup Supabase Project: Ensure you have a Supabase project with Storage enabled. Create a bucket (e.g., test-n8n) and configure necessary RLS (Row Level Security) policies to allow read, write, and list operations using your API Key.

  2. Obtain Credentials: Gather your Supabase Project URL and the API Key (Anon).

  3. Create n8n Credentials: In your n8n instance, navigate to Credentials and create a new ‘Supabase API’ credential type. Input your Project URL and API Key here. This is essential for the HTTP Request n8n node connections.

  4. Import the n8n Workflow: Import the provided JSON data into your n8n instance.

  5. Connect Credentials: For all httpRequest n8n node instances (upload, fetch, sign, list), ensure they are correctly linked to the ‘Supabase API’ credential you just created.

  6. Test the n8n Templates: Execute the workflow by using the four different Webhook/Form URLs provided by the n8n trigger nodes, or execute the manual trigger for listing objects.

Node Details

This n8n workflow utilizes several key nodes to achieve complex storage automation:

On form submission (n8n trigger): A Form Trigger n8n node used to initiate the upload process, configured specifically to accept a file input.
uploadtosupabasestorage (HTTP Request n8n node):
Function: Handles the file upload to Supabase Storage.
Key Configuration: Uses the POST method, sets Content Type to binaryData, and dynamically constructs the URL path using the incoming file name ({{ $binary.File.fileName }}). It authenticates using the Supabase API Credential.
fetchfiletoreview1 (HTTP Request n8n node):
Function: Retrieves the file content based on the filename provided via the form n8n trigger.
Key Configuration: Uses the GET method and includes the file name dynamically in the URL.
getsignfilefortempaccess (HTTP Request n8n node):
Function: Generates a short-lived signed URL for temporary file access.
Key Configuration: Uses the POST method to the /sign/ endpoint. The body is configured as JSON: {"expiresIn": 3600}.
listalltheobject (HTTP Request n8n node):
Function: Fetches a structured list of all objects within the defined bucket.
* Key Configuration: Uses the POST method to the /list/ endpoint, passing a JSON body to control sorting (sortBy), limits, and offsets.

Related n8n Workflows

Free

Nodes: 4 Nodes
Updated: December 26 2025
View all
Created by

I am a Principal Software Engineer based in Ireland with a deep passion for AI and emerging technologies. With extensive experience in designing and implementing scalable software solutions, I focus on leveraging artificial intelligence to solve real-world problems. I enjoy exploring innovative applications of AI, from intelligent automation to data-driven insights, and I’m dedicated to building systems that are both efficient and impactful.

Featured*