This workflow follows the Agent → Chat Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"active": true,
"connections": {
"\u4e0a\u4f20\u81f3Minio": {
"main": [
[
{
"node": "PresignedGetObject object",
"type": "main",
"index": 0
}
]
]
},
"PresignedGetObject object": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "PresignedPutObject bucket",
"type": "main",
"index": 0
}
]
]
},
"PresignedPutObject bucket": {
"main": [
[
{
"node": "\u4e0a\u4f20\u81f3Minio",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"PresignedPutObject bucket1": {
"main": [
[
{
"node": "\u4e0a\u4f20\u81f3Minio1",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "PresignedPutObject bucket1",
"type": "main",
"index": 0
}
]
]
}
},
"createdAt": "2025-09-20T06:09:46.926Z",
"id": "vEe7UcWHZiYJXv3m",
"isArchived": false,
"meta": {
"templateCredsSetupCompleted": true
},
"name": "FE-BE-SELF",
"nodes": [
{
"parameters": {
"method": "PUT",
"url": "={{ $json.url }}",
"sendBody": true,
"contentType": "binaryData",
"inputDataFieldName": "image",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
720,
-144
],
"id": "7863633a-d6d9-4cf9-bbd9-3dfe1886615a",
"name": "\u4e0a\u4f20\u81f3Minio"
},
{
"parameters": {
"bucket": {
"__rl": true,
"value": "n8n",
"mode": "list",
"cachedResultName": "n8n"
},
"key": "={{ $('Webhook').item.json.body.filename }}"
},
"type": "n8n-nodes-minio.minioNode",
"typeVersion": 1,
"position": [
944,
-144
],
"id": "875c53f3-bb9d-412b-8c1c-66a7a3dd8a33",
"name": "PresignedGetObject object",
"credentials": {
"minioCredentialsApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"httpMethod": "POST",
"path": "images",
"responseMode": "responseNode",
"options": {
"allowedOrigins": "*"
}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
272,
-144
],
"id": "9bbae324-c799-47c8-a4bf-27eb7e0b112c",
"name": "Webhook"
},
{
"parameters": {
"respondWith": "text",
"responseBody": "={{ $json.choices[0].message.content }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.4,
"position": [
1376,
-144
],
"id": "7b9650f6-05e5-4647-b4ce-e4abe6783973",
"name": "Respond to Webhook"
},
{
"parameters": {
"method": "POST",
"url": "http://192.168.209.111:3000/v1/chat/completions",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer sk-vincentzou_token"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"model\": \"qwen2.5vl:3b\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"\u8bf7\u63cf\u8ff0\u4e0b\u56fe\u7247\u4e2d\u7684\u5185\u5bb9\uff1f\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"{{ $json.url }}\"\n }\n }\n ]\n }\n ],\n \"max_tokens\": 200\n} ",
"options": {
"redirect": {
"redirect": {}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1152,
-144
],
"id": "87ce2c79-f213-4bfa-b9e8-a09b1ca49f0e",
"name": "HTTP Request1"
},
{
"parameters": {
"resource": "bucket",
"operation": "presignedPutObject",
"bucket": {
"__rl": true,
"value": "n8n",
"mode": "list",
"cachedResultName": "n8n"
},
"key": "={{ $json.body.filename }}"
},
"type": "n8n-nodes-minio.minioNode",
"typeVersion": 1,
"position": [
496,
-144
],
"id": "49302150-b560-4c5a-a079-6f4242686c99",
"name": "PresignedPutObject bucket",
"credentials": {
"minioCredentialsApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 3,
"position": [
736,
-448
],
"id": "0e7fc96d-f316-4e1c-b009-e0f489bcbf90",
"name": "AI Agent"
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"typeVersion": 1.4,
"position": [
560,
-448
],
"id": "29c53c08-99c2-4a21-a2cc-5e02cd163168",
"name": "When chat message received"
},
{
"parameters": {
"model": "deepseek/deepseek-chat",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
704,
-288
],
"id": "a59bb49e-1408-467d-8ccb-1e328778b5c4",
"name": "OpenRouter Chat Model",
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"resource": "bucket",
"operation": "presignedPutObject",
"bucket": {
"__rl": true,
"value": "n8n",
"mode": "list",
"cachedResultName": "n8n"
},
"key": "={{ $json.File.filename }}"
},
"type": "n8n-nodes-minio.minioNode",
"typeVersion": 1,
"position": [
592,
64
],
"id": "acf53d2d-1ba0-4127-80d3-9b9b17845415",
"name": "PresignedPutObject bucket1",
"credentials": {
"minioCredentialsApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"method": "PUT",
"url": "={{ $json.url }}",
"sendBody": true,
"contentType": "binaryData",
"inputDataFieldName": "image",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
816,
64
],
"id": "688af0db-7d7d-41e3-956a-51aeb6850ea7",
"name": "\u4e0a\u4f20\u81f3Minio1"
},
{
"parameters": {
"formTitle": "\u56fe\u7247\u4e0a\u4f20",
"formFields": {
"values": [
{
"fieldLabel": "File",
"fieldType": "file",
"multipleFiles": false,
"acceptFileTypes": ".jpg,.png"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.3,
"position": [
368,
64
],
"id": "a2d70e32-e465-4cbb-8816-f014e7f1d00c",
"name": "On form submission"
}
],
"settings": {
"executionOrder": "v1"
},
"shared": [
{
"updatedAt": "2025-09-20T06:09:46.926Z",
"createdAt": "2025-09-20T06:09:46.926Z",
"role": "workflow:owner",
"workflowId": "vEe7UcWHZiYJXv3m",
"projectId": "AjKOXkiVfZaaIF4c"
}
],
"staticData": null,
"tags": [],
"triggerCount": 3,
"updatedAt": "2025-12-01T08:59:30.757Z",
"versionId": "0a2e6916-7f34-4027-8019-35989d815f12"
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
minioCredentialsApiopenRouterApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
FE-BE-SELF. Uses httpRequest, n8n-nodes-minio, agent, chatTrigger. Webhook trigger; 12 nodes.
Source: https://github.com/blueskyxi3/n8n-workflow-backup/blob/e2e3b1f6b712f7cebb4c0c51bc926500c65bf1f3/workflows/FE-BE-SELF.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Turn any YouTube channel into a searchable knowledge base. The AI agent understands relationships between videos, topics, tools, and concepts - enabling powerful queries like "Which videos talk about
leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.
This workflow is designed for e-commerce, marketing teams, or creators who want to automate the production of high-quality, AI-generated product visuals and ad creatives.
Manually entering bank statements into QuickBooks is one of the most time-consuming and error-prone accounting tasks. Accountants often spend hours converting PDF bank statements into individual incom
⚠️ Important: This workflow uses community nodes (JsonCut, Blotato) and requires a self-hosted n8n instance.