본문으로 건너뛰기

템플릿

워크플로우 템플릿

새 워크플로우를 생성할 때, 빈 워크플로우에서 시작할지 기존 템플릿을 사용할지 선택할 수 있습니다.

템플릿은 다음과 같은 장점을 제공합니다:

  • 빠른 시작: n8n에 이미 원하는 작업을 수행하는 템플릿이 준비되어 있을 수 있습니다.
  • 구성 예시 제공: 실제로 구현 가능한 워크플로우 예시를 확인할 수 있습니다.
  • 모범 사례 안내: 직접 워크플로우를 설계할 때 참고할 수 있는 권장 방식을 제공합니다.

템플릿 접근 방법

템플릿 보기 아이콘 템플릿을 선택하여 템플릿 라이브러리를 확인하세요.

n8n의 공식 템플릿 라이브러리를 사용하는 경우, n8n 웹사이트의 워크플로 페이지로 이동합니다. 조직에서 제공하는 맞춤형 라이브러리를 사용하는 경우, 앱 내에서 템플릿을 직접 검색하고 찾아볼 수 있습니다.

내 워크플로우를 n8n 라이브러리에 추가하기

n8n은 현재 크리에이터 프로그램과 템플릿 마켓플레이스를 개발 중입니다. 이는 진행 중인 프로젝트이며, 세부 내용은 향후 변경될 가능성이 있습니다.

셀프 호스팅 환경에서 자체 템플릿 라이브러리 사용

환경 변수에서 N8N_TEMPLATES_HOST를 자신의 API 기본 URL로 설정하세요.

엔드포인트

자체 API는 n8n의 공식 API와 동일한 엔드포인트 및 데이터 구조를 제공해야 합니다.

지원되는 엔드포인트 목록은 다음과 같습니다:

메서드경로용도
GET/templates/workflows/미리보기/탐색용 템플릿 메타데이터 가져오기
GET/workflows/templates/캔버스에 가져올 워크플로우 데이터 가져오기
GET/templates/search워크플로우 템플릿 검색
GET/templates/collections/특정 템플릿 컬렉션 가져오기
GET/templates/collections모든 템플릿 컬렉션 목록 가져오기
GET/templates/categories모든 템플릿 카테고리 목록 가져오기
GET/health상태 확인(헬스 체크) 엔드포인트

중요: 두 가지 서로 다른 응답 형식 필요
두 워크플로우 관련 엔드포인트는 서로 다른 용도로 사용되므로 응답 구조도 달라야 합니다:

  • /templates/workflows/: 템플릿 자체를 반환하며, 실제 워크플로우는 workflow 키 안에 포함됩니다.
  • /workflows/templates/: 템플릿에 포함된 워크플로우만 반환합니다.

아래 스키마 섹션에서 자세한 내용을 확인하세요.

쿼리 파라미터

/templates/search 엔드포인트는 다음 쿼리 파라미터를 지원합니다:

파라미터유형설명
page정수반환할 결과 페이지 번호
rows정수페이지당 최대 결과 수
category쉼표로 구분된 문자열 목록(카테고리)검색할 카테고리
search문자열검색어

/templates/collections 엔드포인트는 다음 쿼리 파라미터를 지원합니다:

파라미터유형설명
category쉼표로 구분된 문자열 목록(카테고리)검색할 카테고리
search문자열검색어

스키마

두 워크플로우 엔드포인트 간의 핵심 차이점:

// GET /templates/workflows/ 응답 (중첩된 구조):
{
"id": "...",
"name": "...",
"workflow": {
// 실제 워크플로우 정의
}
}

// GET /workflows/templates/ 응답 (평면 구조):
{
// 실제 워크플로우 정의
}

워크플로우 항목 데이터 스키마

/templates/workflows/ 엔드포인트에서 사용되며, workflow 키 내에 중첩됩니다.
이 스키마는 검색/탐색 UI에 표시할 템플릿 메타데이터를 설명하며, 실제 가져올 수 있는 워크플로우 정의는 중첩된 workflow 속성에 포함됩니다.

{
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"totalViews": { "type": "integer" },
"price": { "type": ["number", "null"] },
"purchaseUrl": { "type": ["string", "null"] },
"recentViews": { "type": "integer" },
"createdAt": { "type": "string", "format": "date-time" },
"user": {
"type": "object",
"properties": {
"username": { "type": "string" },
"verified": { "type": "boolean" }
},
"required": ["username", "verified"]
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"icon": { "type": "string" },
"name": { "type": "string" },
"codex": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"properties": {
"primaryDocumentation": {
"type": "object",
"properties": {
"url": { "type": "string" }
},
"required": ["url"]
}
}
},
"categories": {
"type": "array",
"items": { "type": "string" }
},
"nodeVersion": { "type": "integer" },
"codexVersion": { "type": "integer" }
},
"required": ["categories"]
},
"group": { "type": "array", "items": { "type": "string" } },
"defaults": {
"type": "object",
"properties": {
"name": { "type": "string" },
"color": { "type": "string" }
},
"required": ["name"]
},
"iconData": {
"type": "object",
"properties": {
"type": { "type": "string" },
"fileBuffer": { "type": "string" }
},
"required": ["type"]
},
"displayName": { "type": "string" },
"typeVersion": { "type": "integer" },
"nodeCategories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" }
},
"required": ["id", "name"]
}
}
},
"required": [
"id", "icon", "name", "codex", "group",
"defaults", "iconData", "displayName", "typeVersion"
]
}
},
"description": { "type": "string" },
"image": {
"type": "object",
"properties": {
"url": { "type": "string" }
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" }
}
}
},
"workflowInfo": {
"type": "object",
"properties": {
"nodeTypes": { "type": "array", "items": { "type": "string" } }
}
},
"workflow": {
"type": "object",
"properties": {
"nodes": { "type": "array" },
"connections": { "type": "object" },
"settings": { "type": "object" },
"pinData": { "type": ["object", "null"] }
},
"required": ["nodes", "connections"]
}
},
"required": [
"id", "name", "totalViews", "createdAt",
"user", "nodes", "workflow"
]
}

카테고리 항목 데이터 스키마

{
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" }
},
"required": ["id", "name"]
}

컬렉션 항목 데이터 스키마

{
"type": "object",
"properties": {
"id": { "type": "string" },
"rank": { "type": "integer" },
"name": { "type": "string" },
"totalViews": { "type": "integer" },
"createdAt": { "type": "string", "format": "date-time" },
"workflows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" }
},
"required": ["id"]
}
},
"nodes": {
"type": "array",
"items": { "type": "string" }
}
},
"required": [
"id", "rank", "name", "totalViews",
"createdAt", "workflows", "nodes"
]
}

n8n의 API 엔드포인트를 직접 탐색해볼 수도 있습니다:

추가 지원이 필요하시면 언제든지 문의해 주세요.