Veni AI
템플릿으로 돌아가기
워크플로 템플릿

Learn Supabase Storage Fundamental | Operasyon için n8n Otomasyon İş Akışı Şablonu (HTTP)

n8n için hazır otomasyon şablonu: Learn Supabase Storage Fundamental. 8 düğüm. Entegrasyonlar: HTTP. JSON'u kopyalayıp n8n'e içe aktarın.

8 노드Learn_Supabase_Storage_Fundamental-workflow.json
{
"id": "EIOmLVu0xM1NA4BP",
"meta": {
"instanceId": "70273a2379644db63ce659827cfd8abac2d0b189210eafa02dd5376e3a62cd1d"
},
"name": "Learn Supabase Storage Fundamental",
"tags": [],
"nodes": [
{
"id": "dcc07b9f-788f-4ea5-9a45-37497ba7319c",
"name": "fetch_file_to_review1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-304,
-416
],
"parameters": {
"url": "=https://uptttiuxuaacxrdofqgm.supabase.co/storage/v1/object/test-n8n/{{ $json['File Name'] }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "supabaseApi"
},
"credentials": {
"supabaseApi": {
"id": "UMM6kngXouHxEYn4",
"name": "Supabase account"
}
},
"typeVersion": 4.2
},
{
"id": "1b5e12a0-3f2f-421e-ae03-9f31a40d6bd0",
"name": "upload_to_supabase_storage",
"type": "n8n-nodes-base.httpRequest",
"position": [
-320,
-784
],
"parameters": {
"url": "=https://uptttiuxuaacxrdofqgm.supabase.co/storage/v1/object/test-n8n/{{ $binary.File.fileName }}",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "binaryData",
"authentication": "predefinedCredentialType",
"inputDataFieldName": "File",
"nodeCredentialType": "supabaseApi"
},
"credentials": {
"supabaseApi": {
"id": "UMM6kngXouHxEYn4",
"name": "Supabase account"
}
},
"typeVersion": 4.2
},
{
"id": "04a263f5-8de9-466f-bb52-ebf55ff75e37",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-688,
-784
],
"webhookId": "94a1537a-fe30-4308-88dc-cc03eff2e5a1",
"parameters": {
"options": {
"buttonLabel": "Upload to Supabase Storage"
},
"formTitle": "Supabase Storage File Upload",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "File",
"multipleFiles": false
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9a06dcd2-d1fc-466b-a3a8-1f30591e375f",
"name": "On form submission1",
"type": "n8n-nodes-base.formTrigger",
"position": [
-720,
-416
],
"webhookId": "1c390524-aec0-48e0-b196-5bb983aed13c",
"parameters": {
"options": {},
"formTitle": "Get File from Storage",
"formFields": {
"values": [
{
"fieldLabel": "File Name"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "72d6ca3b-81ff-43a7-843d-be4d3e542572",
"name": "On form submission2",
"type": "n8n-nodes-base.formTrigger",
"position": [
-672,
-64
],
"webhookId": "26953730-58b9-4bbc-8ff6-d0adcf20ba4a",
"parameters": {
"options": {},
"formTitle": "Get File from Storage",
"formFields": {
"values": [
{
"fieldLabel": "File Name"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "160ca4a4-7e79-493a-a0da-5c8d6b78ca07",
"name": "get_sign_file_for_temp_access",
"type": "n8n-nodes-base.httpRequest",
"position": [
-240,
-64
],
"parameters": {
"url": "=https://uptttiuxuaacxrdofqgm.supabase.co/storage/v1/object/sign/test-n8n/{{ $json['File Name'] }}",
"method": "POST",
"options": {},
"jsonBody": "{\n \"expiresIn\" : 3600\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "supabaseApi"
},
"credentials": {
"supabaseApi": {
"id": "UMM6kngXouHxEYn4",
"name": "Supabase account"
}
},
"typeVersion": 4.2
},
{
"id": "23718644-32eb-4351-b32e-4071bbeb0492",
"name": "list_all_the_object",
"type": "n8n-nodes-base.httpRequest",
"position": [
-240,
336
],
"parameters": {
"url": "=https://uptttiuxuaacxrdofqgm.supabase.co/storage/v1/object/list/test-n8n",
"method": "POST",
"options": {},
"jsonBody": "{\n \"prefix\": \"\",\n \"limit\": 20,\n \"offset\": 0,\n \"sortBy\": {\n \"column\": \"name\",\n \"order\": \"asc\"\n }\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "supabaseApi"
},
"credentials": {
"supabaseApi": {
"id": "UMM6kngXouHxEYn4",
"name": "Supabase account"
}
},
"typeVersion": 4.2
},
{
"id": "1fa36875-d26f-4bc4-b692-92e8ce0a1bc6",
"name": "When clicking ‘Execute workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-672,
336
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2e21cf08-8100-4059-88ac-d87a2d1ff0e3",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1536,
-400
],
"parameters": {
"width": 608,
"height": 512,
"content": "## Update/create policy to access that. (note based on key we have create policy)\n![alt text](https://github.com/nextwebspark/n8n-templates/blob/main/supabase-n8n-fundamental/policy.JPG?raw=true)"
},
"typeVersion": 1
},
{
"id": "269b106b-b758-4dd4-b75f-3374b7b3bf39",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
-896
],
"parameters": {
"width": 528,
"height": 464,
"content": "## Get project URL\n![alt text](https://github.com/nextwebspark/n8n-templates/blob/main/supabase-n8n-fundamental/api-key.JPG?raw=true)"
},
"typeVersion": 1
},
{
"id": "c4051c9c-3145-4a2f-8645-e9ac21007b44",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
144
],
"parameters": {
"width": 528,
"height": 464,
"content": "## Create a Credential of Suparbase Api Credential Type.\n![alt text](https://github.com/nextwebspark/n8n-templates/blob/main/supabase-n8n-fundamental/n8n-supabase-key.JPG?raw=true)"
},
"typeVersion": 1
},
{
"id": "7f774520-ee3c-4a83-b79e-330860cb39e6",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1536,
-896
],
"parameters": {
"width": 592,
"height": 480,
"content": "## Get Api key (Anon) key. \n![alt text](https://github.com/nextwebspark/n8n-templates/blob/main/supabase-n8n-fundamental/supdabase-url.JPG?raw=true)"
},
"typeVersion": 1
},
{
"id": "d40c816f-e736-4213-8a82-c2b495e3dbc8",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
-416
],
"parameters": {
"width": 528,
"height": 544,
"content": "## Create a bucket in supabase\n![alt text](https://github.com/nextwebspark/n8n-templates/blob/main/supabase-n8n-fundamental/create-bucket.JPG?raw=true)"
},
"typeVersion": 1
},
{
"id": "d67a1e56-5cd1-4054-8670-0a63a95abe03",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-912,
-880
],
"parameters": {
"color": 4,
"width": 928,
"height": 304,
"content": "## Lesson 1 - Upload file to storage"
},
"typeVersion": 1
},
{
"id": "986ba910-9a34-4256-a968-b65edccbdd7d",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-912,
-512
],
"parameters": {
"color": 4,
"width": 928,
"height": 288,
"content": "## Lesson 2 - Fetch file from storage"
},
"typeVersion": 1
},
{
"id": "066aaed6-6390-4ddb-ba8f-94f9ef84ee1c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-912,
-160
],
"parameters": {
"color": 4,
"width": 944,
"height": 288,
"content": "## Lesson 3 - Create Temp document with expire time"
},
"typeVersion": 1
},
{
"id": "a1fdb67e-1ea3-4e82-8b98-9ab05b2a1a57",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-912,
224
],
"parameters": {
"color": 4,
"width": 960,
"height": 288,
"content": "## Lesson 4 - Fetch list all the items in storage"
},
"typeVersion": 1
},
{
"id": "ddf906e8-0e37-477e-9b5a-2ed1e9265058",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2992,
-896
],
"parameters": {
"color": 3,
"width": 896,
"height": 1632,
"content": "## Learn Supabase Storage Fundamentals with n8n\n\nThis template demonstrates how to integrate **Supabase Storage** with **n8n** for uploading, fetching, generating temporary signed URLs, and listing files. It’s a beginner-friendly workflow that helps you understand how to connect Supabase’s storage API with n8n automation.\n\n---\n\n## Who it’s for\n- Developers and teams new to **Supabase** who want a hands-on learning workflow. \n- Anyone looking to automate file uploads and retrieval from **Supabase Storage**. \n- Educators or technical teams teaching Supabase fundamentals with **practical demos**. \n\n---\n\n## How it works\n1. **Upload File** – A user uploads a file through an n8n form, which gets stored in a Supabase storage bucket. \n2. **Fetch File** – Retrieve files by providing their filename. \n3. **Temporary Access** – Generate **signed URLs** with custom expiry for secure file sharing. \n4. **List Objects** – View all stored files in the chosen Supabase bucket. \n\n---\n\n## How to set up\n- Create a **Supabase account** and set up a project. \n- Create a **bucket** in Supabase (e.g., `test-n8n`). \n- Get your **Project URL** and **Anon Key** from Supabase. \n- In n8n, create a **Supabase API Credential** using your keys. \n- Import this workflow and connect it with your credentials. \n- Run the forms to test file upload, retrieval, and listing. \n\n---\n\n## Requirements\n- A Supabase project with **storage enabled**. \n- A configured **Supabase API Credential** in n8n. \n\n---\n\n## Customization\n- Change the bucket name (`test-n8n`) to your own. \n- Adjust signed URL **expiry times** for temporary file access. \n- Replace Supabase with another S3-compatible storage if needed. \n- Extend the workflow with notifications (Slack, Email) after file upload. \n\n---\n\n## 📝 Lessons Included\n- **Lesson 1** – Upload file to Supabase storage. \n- **Lesson 2** – Fetch file from storage. \n- **Lesson 3** – Create a temporary signed document with expiry. \n- **Lesson 4** – List all items in Supabase storage. \n\n---\n\n## 🔑 Prerequisites\n- Supabase account + project. \n- Project URL and API Key (Anon). \n- Bucket created in Supabase. \n- Policy created to allow read/write access. \n- n8n with Supabase API credentials configured. \n\n---"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "95dabc42-1c4b-4b25-86a6-09b72a439252",
"connections": {
"On form submission": {
"main": [
[
{
"node": "upload_to_supabase_storage",
"type": "main",
"index": 0
}
]
]
},
"On form submission1": {
"main": [
[
{
"node": "fetch_file_to_review1",
"type": "main",
"index": 0
}
]
]
},
"On form submission2": {
"main": [
[
{
"node": "get_sign_file_for_temp_access",
"type": "main",
"index": 0
}
]
]
},
"fetch_file_to_review1": {
"main": [
[]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "list_all_the_object",
"type": "main",
"index": 0
}
]
]
}
}
}

n8n 에디터: Ctrl+V로 붙여넣기워크플로가 생성됩니다