간단한 워크플로우
중급
이것은AI, IT Ops분야의자동화 워크플로우로, 11개의 노드를 포함합니다.주로 Code, Slack, Webhook, Aggregate, GoogleDrive 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Straker, Google Drive 및 Slack을 사용한 자동화된 문서 번역 품질 검증
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •Google Drive API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "UlhQJ6EtKLNQ0D0B",
"meta": {
"instanceId": "80505302fd25f9874da713d840f99df997e6fbacf51f09d5b5fa57decd258ea9",
"templateCredsSetupCompleted": true
},
"name": "Simple Workflow",
"tags": [],
"nodes": [
{
"id": "3686255e-4eee-41aa-9046-76ef2d0159f5",
"name": "평탄화",
"type": "n8n-nodes-base.code",
"position": [
200,
740
],
"parameters": {
"jsCode": "/**\n * n8n “Function” node — Run Once for All Items\n * ──> emits one item per target-file URL, with\n * • filename tagged <base>_<site_shortname>.<ext>\n * • original language_uuid preserved\n */\nreturn items.flatMap(({ json: { data } }) => {\n if (!data?.source_files) {\n throw new Error('No source_files array found in job payload');\n }\n\n // uuid → site_shortname\n const shortCode = Object.fromEntries(\n (data.target_languages ?? []).map(l => [\n l.uuid.toLowerCase(),\n l.site_shortname ?? l.code,\n ]),\n );\n\n return data.source_files.flatMap(sf =>\n (sf.target_files ?? []).map(tf => {\n const short = shortCode[tf.language_uuid.toLowerCase()] || tf.language_uuid;\n const [name, ext = ''] = sf.filename.split(/(?=\\.[^\\.]+$)/); // split at last dot\n\n return {\n json: {\n url: tf.url,\n filename: `${name}_${short}${ext}`,\n source_file_uuid: sf.file_uuid,\n target_file_uuid: tf.target_file_uuid,\n language_uuid: tf.language_uuid,\n status: tf.status,\n },\n };\n }),\n );\n});\n"
},
"typeVersion": 2
},
{
"id": "f8a3825e-2091-4359-ad1a-9ac9ed4423a0",
"name": "입력 폴더 감시",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-240,
480
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1jS3LMLVuHbsKFmtTRiRmUPUBO-CKqsfb",
"cachedResultUrl": "",
"cachedResultName": ""
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "53ab19cd-4abc-463c-9c98-00e4fe843ef1",
"name": "파일 다운로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
-20,
480
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "on4yFmHCAe4A3uke",
"name": "Google Drive account"
}
},
"notesInFlow": true,
"typeVersion": 3
},
{
"id": "a29304d4-4d30-4d36-9db1-0c0412c946a9",
"name": "완료 대기",
"type": "n8n-nodes-base.webhook",
"position": [
-240,
740
],
"webhookId": "6540f764-161d-4627-b7c2-a78a992daf1d",
"parameters": {
"path": "6540f764-161d-4627-b7c2-a78a992daf1d",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "0e4c0d6c-db2d-4625-9f57-235342ce791e",
"name": "출력 폴더 저장",
"type": "n8n-nodes-base.googleDrive",
"position": [
640,
740
],
"parameters": {
"name": "={{ $('Flatten').item.json.filename }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "16Ke3E8wSbTVfuOUXrex-ueNLuyIRhK95",
"cachedResultUrl": "",
"cachedResultName": ""
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "on4yFmHCAe4A3uke",
"name": "Google Drive account"
}
},
"notesInFlow": true,
"typeVersion": 3
},
{
"id": "5152a976-9ea9-48f6-bbe1-3bbbff90f13b",
"name": "알림",
"type": "n8n-nodes-base.slack",
"position": [
1080,
740
],
"webhookId": "516ba7f2-c441-4cf9-a045-ef8842b273fb",
"parameters": {
"text": "={{ $('Fetch Job Info').first().json.data.title }} {{ $('Fetch Job Info').first().json.data.status }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08NJCEJS8Y",
"cachedResultName": "slack-bots"
},
"otherOptions": {}
},
"notesInFlow": true,
"typeVersion": 2.3
},
{
"id": "e9cac943-64d4-4a3e-99cb-e4f1ac8cbfaf",
"name": "집계",
"type": "n8n-nodes-base.aggregate",
"position": [
860,
740
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "21827824-54e7-458a-bab7-8fb3f83421ab",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1100,
260
],
"parameters": {
"width": 720,
"height": 840,
"content": "# Straker Verify n8n Node\n\nThis node allows you to interact with the Straker Verify API to manage translation projects, API keys, user information, and files directly within your n8n workflows.\n\n## Configuration\n\n**Credentials**: Connect your Straker Verify account by creating a new credential in n8n using your Straker Verify API Key. You can find more information on obtaining an API key in the [Straker Verify API documentation](https://api-verify.straker.ai/docs).\n\n## How It's Used\n\n### Workflow 1: Submit for Translation\n\n1. **Trigger (e.g., `Watch Input Folder` on Google Drive)**: Detects new files.\n2. **Download File (e.g., `Download Files` from Google Drive)**: Fetches the file content.\n3. **`Start Translation` (Straker Verify Node - Project: Create)**: Sends the file to Straker Verify to begin the translation process. This step involves specifying target languages, a Straker workflow, and a project title.\n\n### Workflow 2: Retrieve Translation\n\n1. **Trigger (e.g., `Wait for Completion` via Webhook)**: Listens for a notification from Straker Verify (if a callback URL was configured) that the translation is ready.\n2. **`Fetch Job Info` (Straker Verify Node - Project: Get)**: Retrieves details about the completed translation job using its ID.\n3. **`Grab Translation` (Straker Verify Node - File: Get)**: Downloads the translated file(s) from Straker Verify.\n4. **Save & Notify (e.g., `Save to Output Folder` on Google Drive & `Notify` via Slack)**: Stores the translated file and informs users.\n\nThis node helps automate your translation tasks by connecting Straker Verify with other services in n8n."
},
"typeVersion": 1
},
{
"id": "5f4e70ca-2db9-4f52-94b3-f65c2c67bbe5",
"name": "작업 정보 가져오기",
"type": "n8n-nodes-straker-verify.strakerVerify",
"position": [
-20,
740
],
"parameters": {
"operation": "get",
"projectId": "={{ $json.body.job_uuid }}"
},
"credentials": {
"strakerVerifyApi": {
"id": "iRfa1PqR7RY6GKtJ",
"name": "Straker Verify account"
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "180231a6-563a-4843-a450-98f67cda6215",
"name": "번역 가져오기",
"type": "n8n-nodes-straker-verify.strakerVerify",
"position": [
420,
740
],
"parameters": {
"fileId": "={{ $json.target_file_uuid }}",
"resource": "file"
},
"credentials": {
"strakerVerifyApi": {
"id": "iRfa1PqR7RY6GKtJ",
"name": "Straker Verify account"
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "b0cd4ece-949b-43d1-8229-2c6988dac15e",
"name": "번역 시작",
"type": "n8n-nodes-straker-verify.strakerVerify",
"position": [
200,
480
],
"parameters": {
"title": "TEST 12",
"languages": [],
"operation": "create",
"workflowId": "78ed818e-3655-4bd2-b347-dcce14e58c1c"
},
"notesInFlow": true,
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "173445a9-d8f0-4f31-a46d-8671eabf98a8",
"connections": {
"3686255e-4eee-41aa-9046-76ef2d0159f5": {
"main": [
[
{
"node": "180231a6-563a-4843-a450-98f67cda6215",
"type": "main",
"index": 0
}
]
]
},
"e9cac943-64d4-4a3e-99cb-e4f1ac8cbfaf": {
"main": [
[
{
"node": "5152a976-9ea9-48f6-bbe1-3bbbff90f13b",
"type": "main",
"index": 0
}
]
]
},
"53ab19cd-4abc-463c-9c98-00e4fe843ef1": {
"main": [
[
{
"node": "b0cd4ece-949b-43d1-8229-2c6988dac15e",
"type": "main",
"index": 0
}
]
]
},
"5f4e70ca-2db9-4f52-94b3-f65c2c67bbe5": {
"main": [
[
{
"node": "3686255e-4eee-41aa-9046-76ef2d0159f5",
"type": "main",
"index": 0
}
]
]
},
"180231a6-563a-4843-a450-98f67cda6215": {
"main": [
[
{
"node": "0e4c0d6c-db2d-4625-9f57-235342ce791e",
"type": "main",
"index": 0
}
]
]
},
"f8a3825e-2091-4359-ad1a-9ac9ed4423a0": {
"main": [
[
{
"node": "53ab19cd-4abc-463c-9c98-00e4fe843ef1",
"type": "main",
"index": 0
}
]
]
},
"a29304d4-4d30-4d36-9db1-0c0412c946a9": {
"main": [
[
{
"node": "5f4e70ca-2db9-4f52-94b3-f65c2c67bbe5",
"type": "main",
"index": 0
}
]
]
},
"0e4c0d6c-db2d-4625-9f57-235342ce791e": {
"main": [
[
{
"node": "e9cac943-64d4-4a3e-99cb-e4f1ac8cbfaf",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인공지능, IT 운영
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AI 스마트 어시스턴트: Supabase 스토리지 및 Google Drive 파일과 대화
AI스마트어시스턴트:与Supabase存储및Google Drive文件对话
If
Set
Wait
+
If
Set
Wait
62 노드Mark Shcherbakov
엔지니어링
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
[템플릿] AI 반려동물 가게 v8
🐶 AI 펫 샵 어시스턴트 - GPT-4o, Google 캘린더 및 WhatsApp/Instagram/Facebook 통합
If
N8n
Set
+
If
N8n
Set
244 노드Amanda Benks
영업
AI 대리인 레스토랑 [템플릿]
🤖 WhatsApp, 인스타그램, 메신저의 AI 레스토랑 도우미
If
N8n
Set
+
If
N8n
Set
239 노드Amanda Benks
기타
AI 기반 RAG 문서 처리 및 챗봇 - Google Drive, Supabase, OpenAI
Google Drive, Supabase 및 OpenAI를 활용한 AI 기반 RAG 문서 처리 및 챗봇
Set
Code
Limit
+
Set
Code
Limit
35 노드Billy Christi
인공지능
자동 티켓 생성기
자동 티켓 생성기: Slack 대화를 구조화된 프로젝트 티켓으로 변환
Code
Slack
Webhook
+
Code
Slack
Webhook
8 노드Varritech
인공지능