n8n으로 재고 관리 자동화: 품절 알림 시스템 구축 📦🔔
기업을 운영하며 재고 관리에 쏟는 시간과 노력은 생각보다 많습니다. 특히 온라인 쇼핑몰이나 다양한 제품을 취급하는 비즈니스라면, 품절 상품을 실시간으로 파악하고 빠르게 대응하는 것이 고객 만족도와 매출에 직결됩니다. 📉 하지만 일일이 재고를 확인하고 알림을 보내는 작업은 비효율적이고 실수할 확률도 높죠.
여기서 바로 n8n이 빛을 발합니다! ✨ n8n은 로우코드(Low-Code) 자동화 도구로, 코드를 거의 또는 전혀 작성하지 않고도 다양한 서비스들을 연결하여 복잡한 워크플로우를 자동화할 수 있게 해줍니다. 오늘은 n8n을 활용하여 자동 품절 알림 시스템을 구축하는 방법을 상세히 알아보겠습니다.
💡 왜 재고 관리에 n8n을 사용해야 할까요?
수많은 자동화 도구 중 왜 n8n일까요? n8n이 재고 관리 자동화에 최적화된 몇 가지 이유가 있습니다.
- 뛰어난 연결성 (Connectivity): n8n은 Google Sheets, Excel, MySQL, PostgreSQL, Shopify, WooCommerce, Airtable 등 다양한 데이터베이스, 스프레드시트, 이커머스 플랫폼, CRM 시스템과 직접 연결할 수 있습니다. 덕분에 재고 데이터가 어디에 있든 쉽게 가져와 사용할 수 있습니다. 🔗
- 유연한 워크플로우 (Flexible Workflows): 복잡한 조건(예: 특정 상품의 재고가 5개 미만일 경우)을 설정하고, 여러 알림 채널(Slack, Telegram, Email, SMS 등)로 동시에 알림을 보내는 등 비즈니스 로직에 맞춰 워크플로우를 자유롭게 구성할 수 있습니다. ⚙️
- 자체 호스팅 가능 (Self-Hostable): 민감한 재고 데이터를 다루는 경우, 클라우드 기반 서비스보다 자체 서버에 n8n을 설치하여 데이터를 직접 관리할 수 있다는 점은 큰 장점입니다. 비용 절감 효과도 있고요! 🔒
- 시각적인 워크플로우 빌더 (Visual Workflow Builder): 드래그 앤 드롭 방식으로 노드를 연결하여 워크플로우를 구성하기 때문에 개발 지식이 없어도 쉽게 자동화 시스템을 구축할 수 있습니다. 🎨
🔔 자동 품절 알림 시스템의 핵심 개념
자동 품절 알림 시스템의 목표는 수동 확인 없이, 재고가 부족해질 때마다 자동으로 담당자에게 알림을 보내는 것입니다. 이를 위해 다음과 같은 요소들이 필요합니다.
- 재고 데이터 소스: 현재 상품의 재고 수량을 확인할 수 있는 곳 (예: Google Sheet, 데이터베이스, 쇼핑몰 백엔드 API).
- 재고 확인 주기: 얼마마다 재고 상태를 확인할지 (예: 1시간마다, 매일 특정 시간).
- 알림 조건: ‘품절’ 또는 ‘재고 부족’으로 간주하는 기준 (예: 재고 수량 0개, 재고 수량 5개 미만).
- 알림 채널: 알림을 받을 수 있는 곳 (예: Slack 채널, 담당자 이메일, Telegram 봇).
n8n은 이 모든 요소를 하나의 워크플로우 안에서 유기적으로 연결하고 실행할 수 있게 해줍니다.
🛠️ n8n으로 품절 알림 시스템 구축하기 (단계별 가이드)
이제 실제로 n8n 워크플로우를 구축하는 과정을 단계별로 살펴보겠습니다.
Step 1: 준비물 및 기본 설정 🚀
가장 먼저 n8n 인스턴스를 준비하고, 재고 데이터와 알림을 받을 채널을 결정해야 합니다.
- n8n 설치: Docker, npm, 클라우드 서비스 등 원하는 방식으로 n8n을 설치합니다. (자세한 설치 가이드는 n8n 공식 문서를 참고해주세요.)
- 재고 데이터 소스 확정:
- 예시 1: Google Sheets 📊 가장 흔하게 사용하는 방식입니다. 상품명, SKU, 재고 수량 등의 컬럼을 포함하는 시트를 준비합니다.
- 예시 2: 데이터베이스 (MySQL, PostgreSQL 등) 🗄️
products
테이블에product_name
,sku
,stock_quantity
등의 필드가 있다고 가정합니다. - 예시 3: 이커머스 플랫폼 API (WooCommerce, Shopify 등) 🛒 해당 플랫폼의 API를 통해 상품 정보를 가져올 수 있는지 확인하고 API 키를 준비합니다.
- 알림 채널 선택:
- 예시 1: Slack 💬 특정 채널이나 개인 DM으로 알림을 보낼 수 있습니다. Slack Webhook URL 또는 n8n Slack 노드에 필요한 인증 정보를 준비합니다.
- 예시 2: 이메일 📧 담당자 이메일 주소와 n8n에서 이메일을 보낼 SMTP 서버 정보를 준비합니다.
- 예시 3: Telegram 📱 Telegram 봇을 생성하고 봇 토큰 및 채팅 ID를 준비합니다.
Step 2: n8n 워크플로우 디자인 🎨
이제 n8n 워크플로우를 직접 만들어보겠습니다. 워크플로우의 일반적인 구조는 다음과 같습니다.
[트리거] → [데이터 가져오기] → [조건 확인] → [알림 보내기]
1. 트리거 노드 설정 (Trigger Node)
재고 확인을 시작할 트리거를 설정합니다. 가장 일반적인 것은 Cron
노드를 사용하여 주기적으로 실행하는 것입니다.
- 노드:
Cron
- 설정:
- Trigger Interval:
Every 1 Hour
(1시간마다 실행), 또는Every Day
at09:00
(매일 오전 9시에 실행) 등으로 설정합니다. 재고 변동이 잦다면 주기를 짧게, 그렇지 않다면 길게 설정합니다. - 예시: 매 시간 30분에 실행되도록 설정 (
Minutes: 30
,Hours: *
,Days of Month: *
,Months: *
,Days of Week: *
)
- Trigger Interval:
2. 재고 데이터 가져오기 노드 (Data Source Node) 선택한 데이터 소스에서 재고 정보를 가져옵니다.
-
예시 1: Google Sheets에서 가져오기 📊
- 노드:
Google Sheets
- Operation:
Read
- Authentication: Google Sheets API 연동을 위한 인증 정보(OAuth2 또는 Service Account)를 설정합니다.
- Spreadsheet ID: 재고 시트의 ID를 입력합니다.
- Range: 재고 데이터가 있는 시트 이름 또는 범위를 지정합니다 (예:
Sheet1!A:C
).
- 노드:
-
예시 2: 데이터베이스에서 가져오기 🗄️
- 노드:
MySQL
(또는 PostgreSQL 등 해당 DB 노드) - Operation:
Execute Query
- Authentication: DB 연결 정보를 설정합니다.
- Query: 재고 정보를 가져오는 SQL 쿼리를 작성합니다.
SELECT product_name, sku, stock_quantity FROM products;
- 노드:
-
예시 3: 이커머스 API (WooCommerce)에서 가져오기 🛒
- 노드:
HTTP Request
(또는WooCommerce
전용 노드) - Method:
GET
- URL:
https://your-shop.com/wp-json/wc/v3/products?stock_status=outofstock
(WooCommerce 품절 상품만 가져오는 예시) - Authentication: API Key & Secret을 활용하여 Basic Auth 설정.
- 노드:
3. 데이터 처리 및 반복 노드 (Data Processing & Iteration Node)
가져온 데이터가 여러 개의 상품을 포함할 경우, 각 상품별로 품절 여부를 확인해야 합니다. Split In Batches
노드를 사용하여 각 상품을 개별 아이템으로 분리합니다.
- 노드:
Split In Batches
- Options: 기본 설정으로 두면 됩니다. (각 아이템을 개별적으로 처리)
4. 조건 확인 노드 (Conditional Logic Node)
이 부분이 품절 알림 시스템의 핵심입니다. 재고 수량을 확인하고, 특정 임계값보다 낮은 경우에만 다음 단계로 넘어갑니다. IF
노드를 사용합니다.
- 노드:
IF
- Condition: 재고 수량 필드를 가져와 조건을 설정합니다. 예를 들어, Google Sheet에서 읽어온 데이터의
stock_quantity
필드가 5 미만일 경우를 가정합니다.- Value 1:
{{ $json.stock_quantity }}
(데이터 소스에서 가져온 재고 수량 필드명) - Operation:
Less
(작다) - Value 2:
5
(알림을 보낼 임계값. 0이면 완전히 품절, 5이면 재고 부족 경고)
- Value 1:
- Output Branches:
True
(조건 충족 시),False
(조건 미충족 시)
5. 알림 보내기 노드 (Notification Node)
IF
노드의 True
브랜치에 연결하여 알림을 보냅니다.
-
예시 1: Slack으로 알림 보내기 💬
- 노드:
Slack
- Operation:
Post Message
- Authentication: Slack API 인증 또는 Webhook URL을 설정합니다.
- Channel:
general
또는#재고알림
등 알림을 보낼 채널 이름을 입력합니다. - Text: 알림 메시지를 작성합니다. 재고가 부족한 상품 정보를 동적으로 포함할 수 있습니다.
🚨 재고 경고! 상품: {{ $json.product_name }} (SKU: {{ $json.sku }}) 재고가 {{ $json.stock_quantity }}개 남았습니다. 확인해주세요!
(여기서
$json.product_name
등은 앞선 노드에서 전달받은 데이터의 필드명입니다.) - Emoji: ⚠️
- 노드:
-
예시 2: 이메일로 알림 보내기 📧
- 노드:
Email Send
- Operation:
Send
- Authentication: SMTP 서버 정보를 설정합니다.
- From Mail:
noreply@your-domain.com
- To Mail:
inventory-manager@your-domain.com
- Subject:
[긴급] 재고 부족 알림: {{ $json.product_name }}
- Body:
- 노드:
안녕하세요,
다음 상품의 재고가 부족합니다. 빠른 확인 부탁드립니다.
- 상품명: {{ $json.product_name }}
- SKU: {{ $json.sku }}
- 남은 재고: {{ $json.stock_quantity }}개
감사합니다.
자동화 시스템 드림
```
Step 3: 테스트 및 활성화 ✅
워크플로우가 완성되면, 실제로 데이터를 넣어 테스트해보고 예상대로 동작하는지 확인해야 합니다.
- “Test Workflow” 버튼 클릭: 각 노드가 제대로 데이터를 전달하고 처리하는지 확인할 수 있습니다.
- 데이터 조정: Google Sheet나 DB에서 특정 상품의 재고를 임계값 미만으로 줄여서 알림이 오는지 테스트합니다.
- 오류 확인: 문제가 발생하면 n8n의 실행 로그를 통해 어떤 노드에서 오류가 발생했는지 확인하고 수정합니다.
- 워크플로우 활성화: 테스트가 완료되면, n8n 워크플로우를 “Active” 상태로 전환하여 자동으로 실행되도록 합니다. 🚀
💡 품절 알림 시스템을 넘어선 활용 방안 (고급)
n8n은 여기서 멈추지 않습니다. 구축한 품절 알림 시스템을 기반으로 더 다양한 자동화를 시도할 수 있습니다.
-
다중 임계값 알림:
- 재고가
10개 미만
일 때 “주의” 알림 (담당자 이메일) - 재고가
5개 미만
일 때 “경고” 알림 (Slack, SMS) - 재고가
0개
일 때 “품절” 알림 (모든 채널 + 쇼핑몰 상품 상태 자동 변경) - ➡️
IF
노드를 여러 개 연결하거나Switch
노드를 사용하여 구현할 수 있습니다.
- 재고가
-
자동 발주/재고 충전 요청:
- 재고가 특정 임계값 미만일 때, 자동으로 공급업체에 발주 이메일을 보내거나, ERP 시스템에 재고 충전 요청을 생성하는 워크플로우를 추가합니다. 🛍️
- ➡️
HTTP Request
노드를 이용해 공급업체의 API를 호출하거나,Email Send
노드로 정형화된 발주서를 보낼 수 있습니다.
-
재고 현황 보고서 자동 생성:
- 매일 또는 매주 특정 시간에 전체 상품의 재고 현황을 요약하여 보고서를 생성하고, 이를 담당자 이메일이나 Slack 채널로 보냅니다. 📈
- ➡️
Google Sheets
노드를 이용하여 데이터를 읽고,Code
노드나Merge
노드로 데이터를 가공한 뒤,Google Docs
또는Email Send
노드로 보고서를 만듭니다.
-
고객 알림 시스템 연동:
- 품절된 상품을 기다리는 고객들에게 해당 상품이 재입고되었을 때 자동으로 알림을 보내는 시스템과 연동할 수 있습니다. 🗣️
- ➡️
Mailchimp
나Twilio
(SMS) 노드 등을 활용할 수 있습니다.
마무리하며 ✨
n8n을 활용한 재고 관리 자동화, 특히 품절 알림 시스템 구축은 비즈니스의 효율성을 극대화하고, 수동 작업으로 인한 실수를 줄이며, 궁극적으로는 고객 만족도를 높이는 데 크게 기여합니다. 처음에는 다소 복잡하게 느껴질 수 있지만, n8n의 시각적인 워크플로우 빌더와 풍부한 노드 라이브러리를 통해 누구나 쉽게 강력한 자동화 시스템을 만들 수 있습니다.
오늘 다룬 내용을 바탕으로 여러분의 비즈니스에 맞는 품절 알림 시스템을 구축하고, 한 단계 더 나아가 다양한 재고 관리 자동화를 시도해보세요. n8n과 함께라면 여러분의 업무는 더욱 스마트해질 것입니다! 🚀
— D