Baserow 활동 데이터베이스를 Shopify로, 이미지 업로드와 동적 템플릿 업데이트
중급
이것은Marketing분야의자동화 워크플로우로, 9개의 노드를 포함합니다.주로 If, Set, Graphql, Webhook, HttpRequest 등의 노드를 사용하며. Baserow 활동 데이터베이스를 Shopify로, 이미지 업로드와 동적 템플릿 업데이트
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •대상 API의 인증 정보가 필요할 수 있음
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "x2VUvhqV1YTJCIN0",
"meta": {
"instanceId": "e2c978396c9c745cf0aaa9ed3abe4464dbcef93c5fe2df809b9e14440e628df6"
},
"tags": [],
"nodes": [
{
"id": "094b9011-a53d-4a50-b44d-ad229612bb06",
"name": "아무 작업 없음",
"type": "n8n-nodes-base.noOp",
"position": [
560,
220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6d9eee1f-995f-4558-8f97-25636e20022c",
"name": "campaign.liquid 저장",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
-100
],
"parameters": {
"url": "=https://{{ $('Set values here!').params[\"fields\"][\"values\"][0][\"stringValue\"] }}.myshopify.com/admin/api/2024-01/themes/{{ $('Set values here!').params[\"fields\"][\"values\"][1][\"stringValue\"] }}/assets.json",
"method": "PUT",
"options": {},
"jsonBody": "={\"asset\":\n {\n \"key\":\"snippets/{{ $('Set values here!').params[\"fields\"][\"values\"][2][\"stringValue\"] }}\",\n \"value\":\"{{ $('Set values here!').params[\"fields\"][\"values\"][3][\"stringValue\"].replace(\"IMAGE\",$('Check').item.json[\"body\"][\"items\"][0][\"Campaign Image\"][0][\"visible_name\"]).replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\") }}\"}}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Z98cM8akgh1jPtG7",
"name": "Header Auth Shopify"
},
"shopifyAccessTokenApi": {
"id": "WbxXaLMHozAgY3Rz",
"name": "Shopify Access Token account"
}
},
"typeVersion": 4.1
},
{
"id": "fb3e9410-59ae-4d90-8bb3-1fd95f0e9a43",
"name": "이미지 업로드",
"type": "n8n-nodes-base.graphql",
"position": [
560,
-100
],
"parameters": {
"query": "mutation fileCreate($files: [FileCreateInput!]!) {\n fileCreate(files: $files) {\n files {\n id\n }\n }\n}",
"endpoint": "=https://{{ $('Set values here!').params[\"fields\"][\"values\"][0][\"stringValue\"] }}.myshopify.com/admin/api/2024-01/graphql.json",
"variables": "={\n \"files\": {\n \"alt\": \"{{ $json.body.items[0].Name }}\",\n \"contentType\": \"IMAGE\",\n\t\"filename\": \"{{ $json.body.items[0]['Campaign Image'][0].visible_name }}\",\n \"originalSource\": \"{{ $json.body.items[0]['Campaign Image'][0].url }}\"\n }\n}",
"requestFormat": "json",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Z98cM8akgh1jPtG7",
"name": "Header Auth Shopify"
}
},
"typeVersion": 1
},
{
"id": "29f970fe-da65-4b6f-bf0b-1cadbd80f51c",
"name": "여기에 값 설정",
"type": "n8n-nodes-base.set",
"position": [
120,
60
],
"parameters": {
"fields": {
"values": [
{
"name": "Shopify Subdomain",
"stringValue": "n8n-mautic-demo"
},
{
"name": "Theme ID",
"stringValue": "125514514534"
},
{
"name": "Filename",
"stringValue": "campaign.liquid"
},
{
"name": "Content",
"stringValue": "<img src=\"{{ 'IMAGE' | file_img_url: 'grande'}}\">"
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "0bd9327d-4bbd-4884-a9a6-21b0c5b4c3d3",
"name": "Baserow에서 호출",
"type": "n8n-nodes-base.webhook",
"position": [
-100,
60
],
"webhookId": "3041fdd6-4cb5-4286-9034-1337dddc3f45",
"parameters": {
"path": "3041fdd6-4cb5-4286-9034-1337dddc3f45",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1.1
},
{
"id": "6c9d35e8-0738-4d15-a0ff-40077e73d797",
"name": "확인",
"type": "n8n-nodes-base.if",
"position": [
320,
60
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "21262344-6519-4f32-876b-82722a1fab66",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{\nDateTime.fromISO($json[\"body\"][\"items\"][0][\"Last modified\"])\n .diff(DateTime.fromISO($json[\"body\"][\"old_items\"][0][\"Last modified\"]),'minutes')\n .toObject()\n [\"minutes\"]\n}}",
"rightValue": 0.1
},
{
"id": "5c0a176c-5ba9-4060-a4d2-b9207cf47092",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.body.items[0].Active }}",
"rightValue": ""
},
{
"id": "f764adc6-e7a1-4df7-861f-94b90a99f2d4",
"operator": {
"type": "array",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json[\"body\"][\"items\"][0][\"Campaign Image\"] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "f6c17549-4192-4f96-ad81-518c52bdcda7",
"name": "스티키 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
-40
],
"parameters": {
"color": 4,
"width": 360.408084305475,
"height": 315.5897364788551,
"content": "## Shopify API\n\nThis workflow uses GraphQL calls to the Shopify Admin API. In order to get a better understanding for the queries and mutations please check the API Docs.\n\n\n[Shopify GraphQL API docs](https://shopify.dev/docs/api/admin-graphql)\n\nTo make it easy to build queries for the GraphQL API easy please check out the [GraphiQL App for the Admin API](https://shopify.dev/docs/apps/tools/graphiql-admin-api) from Shopify"
},
"typeVersion": 1
},
{
"id": "22743217-0c89-4fd1-b22d-0e00d6ca6854",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
-300
],
"parameters": {
"width": 331.1188177339898,
"content": "## Shopify \nThe n8n Shopify node cannot upload images or theme assets so we need to make custom calls to the GraphQL and REST Api "
},
"typeVersion": 1
},
{
"id": "ca9561aa-85e8-47ad-8bac-60fc3a94f94e",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-160
],
"parameters": {
"color": 5,
"width": 158.16682590559316,
"content": "## Set values \nPlease edit this node and change the values for your own setup."
},
"typeVersion": 1
}
],
"active": true,
"pinData": {
"Call from Baserow": [
{
"json": {
"body": {
"items": [
{
"id": 1,
"Name": "Campaigna",
"order": "1.00000000000000000000",
"Active": true,
"Last modified": "2024-03-01T11:21:58.157987Z",
"Campaign Image": [
{
"url": "https://br.m3tam3re.com/media/user_files/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"name": "O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"size": 107358,
"is_image": true,
"mime_type": "",
"thumbnails": {
"tiny": {
"url": "https://br.m3tam3re.com/media/thumbnails/tiny/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": null,
"height": 21
},
"small": {
"url": "https://br.m3tam3re.com/media/thumbnails/small/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": 48,
"height": 48
},
"card_cover": {
"url": "https://br.m3tam3re.com/media/thumbnails/card_cover/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": 300,
"height": 160
}
},
"image_width": 1280,
"uploaded_at": "2024-03-01T09:50:41.921452+00:00",
"image_height": 720,
"visible_name": "n8n-portainer.webp"
}
]
}
],
"event_id": "dae85cec-94ce-4e6c-8091-fce28bdc4c6c",
"table_id": 596,
"old_items": [
{
"id": 1,
"Name": "Campaignas",
"order": "1.00000000000000000000",
"Active": true,
"Last modified": "2024-03-01T11:21:16.099694Z",
"Campaign Image": [
{
"url": "https://br.m3tam3re.com/media/user_files/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"name": "O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"size": 107358,
"is_image": true,
"mime_type": "",
"thumbnails": {
"tiny": {
"url": "https://br.m3tam3re.com/media/thumbnails/tiny/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": null,
"height": 21
},
"small": {
"url": "https://br.m3tam3re.com/media/thumbnails/small/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": 48,
"height": 48
},
"card_cover": {
"url": "https://br.m3tam3re.com/media/thumbnails/card_cover/O5jM7aSUTYSBPQtxVHktkN4U7wlUoIJd_1af752d7847a230a853df92814639be35035229f2bb857b4ea870b64011cdde0.webp",
"width": 300,
"height": 160
}
},
"image_width": 1280,
"uploaded_at": "2024-03-01T09:50:41.921452+00:00",
"image_height": 720,
"visible_name": "n8n-portainer.webp"
}
]
}
],
"event_type": "rows.updated",
"database_id": 112,
"workspace_id": 108
},
"query": {},
"params": {},
"headers": {
"host": "n8n.m3tam3re.com",
"accept": "*/*",
"user-agent": "python-requests/2.31.0",
"content-type": "application/json",
"content-length": "2617",
"accept-encoding": "gzip, deflate, br",
"x-baserow-event": "rows.updated",
"x-forwarded-for": "202.61.226.110",
"x-forwarded-host": "n8n.m3tam3re.com",
"x-forwarded-proto": "https",
"x-baserow-delivery": "dae85cec-94ce-4e6c-8091-fce28bdc4c6c"
}
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "c82b43c0-aa47-4086-b7ae-588ee12e5e24",
"connections": {
"6c9d35e8-0738-4d15-a0ff-40077e73d797": {
"main": [
[
{
"node": "fb3e9410-59ae-4d90-8bb3-1fd95f0e9a43",
"type": "main",
"index": 0
}
],
[
{
"node": "094b9011-a53d-4a50-b44d-ad229612bb06",
"type": "main",
"index": 0
}
]
]
},
"fb3e9410-59ae-4d90-8bb3-1fd95f0e9a43": {
"main": [
[
{
"node": "6d9eee1f-995f-4558-8f97-25636e20022c",
"type": "main",
"index": 0
}
]
]
},
"29f970fe-da65-4b6f-bf0b-1cadbd80f51c": {
"main": [
[
{
"node": "6c9d35e8-0738-4d15-a0ff-40077e73d797",
"type": "main",
"index": 0
}
]
]
},
"0bd9327d-4bbd-4884-a9a6-21b0c5b4c3d3": {
"main": [
[
{
"node": "29f970fe-da65-4b6f-bf0b-1cadbd80f51c",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Shopify 주문 UTM을 Baserow로
UTM 캠페인 추적 자동화: Shopify, n8n에서 Baserow로
If
Set
Baserow
+
If
Set
Baserow
12 노드Sascha
마케팅
AI 생성 WordPress 글 요약 블록
WordPress 글의 AI 생성 요약 블록
If
Set
Slack
+
If
Set
Slack
32 노드Dataki
인공지능
YouTube 동영상 하이라이트 추출 API
에서YouTube视频中추출精彩片段의API
If
Set
Filter
+
If
Set
Filter
18 노드Max T
마케팅
[템플릿] AI 반려동물 가게 v8
🐶 AI 펫 샵 어시스턴트 - GPT-4o, Google 캘린더 및 WhatsApp/Instagram/Facebook 통합
If
N8n
Set
+
If
N8n
Set
244 노드Amanda Benks
영업
🔍🛠️ Perplexity 연구원을 HTML 웹 페이지로 변환
🔍 Perplexity 연구를 HTML로 변환: AI 주도의 콘텐츠 창작
If
Set
Webhook
+
If
Set
Webhook
47 노드Joseph LePage
인공지능
회의 실시간 인사이트를 위한 AI 에이전트
AI스마트体用于会议实时洞察
If
Set
Webhook
+
If
Set
Webhook
19 노드Mark Shcherbakov
영업