4. 외부 서비스 통합 및 고급 노드
n8n의 강력함은 다양한 외부 서비스와의 통합 능력에서 나옵니다. 인증 정보 (Credentials)를 사용하여 안전하게 연결하고 고급 노드를 통해 복잡한 로직을 구현할 수 있습니다.
4.1. 외부 서비스 통합 및 인증 정보
API, 데이터베이스, 클라우드 서비스 등 수많은 앱과 n8n을 연결할 수 있습니다. 대부분의 통합은 Credentials를 통해 인증됩니다.
- n8n UI의 좌측 패널에서 \'Credentials\'를 클릭합니다.
- \'New Credential\'을 클릭하고 연결할 서비스 유형을 선택합니다 (예: Google Sheets API, Custom HTTP Header Auth).
- 필요한 인증 정보 (API 키, 사용자 이름/비밀번호 등)를 입력하고 저장합니다.
이렇게 생성된 인증 정보는 해당 서비스에 연결하는 노드에서 재사용할 수 있습니다.
4.2. 자주 사용되는 고급 노드
- HTTP Request 노드: 모든 RESTful API에 요청을 보내고 응답을 처리하는 데 필수적입니다. 데이터를 가져오거나, 보내거나, 수정하는 데 사용됩니다.
- Code 노드: JavaScript 코드를 직접 작성하여 복잡한 데이터 변환, 조건부 로직, 커스텀 함수 등을 구현할 수 있습니다.
- If 노드: 특정 조건 (예: `{{ $json.status === "success" }}`)에 따라 워크플로우의 흐름을 분기합니다.
- Merge 노드: 여러 개의 분기된 워크플로우 경로를 다시 하나의 흐름으로 합칩니다.
- Split In Batches 노드: 많은 수의 항목을 작은 배치로 나누어 처리하여 API 호출 제한을 준수하거나 성능을 최적화할 때 사용됩니다.
4.3. 통합 예시: API에서 데이터 가져와 Slack으로 알림 보내기
HTTP Request 노드로 외부 API에서 데이터를 가져오고, Code 노드로 데이터를 가공한 뒤, Slack 노드로 결과를 보낼 수 있습니다.
// Code 노드에서 JavaScript를 사용하여 데이터 가공 예시
return items.map(item => {
return { json: {
title: item.json.data.title.toUpperCase(),
url: item.json.data.url
}};
});