n8n AI Agent Node + OpenAI API — AI가 읽고, 분류하고, 전달합니다
API Key는 "n8n이 OpenAI를 사용해도 된다"는 출입증입니다. Credential과 같은 개념이지만, Google 로그인 대신 텍스트 코드를 직접 입력합니다.
1. https://platform.openai.com/settings 접속 → 회원가입/로그인
2. 좌측 메뉴 "API Keys" → "Create new secret Key"
3. 이름: n8n-ERbank → 생성된 키 복사 (sk-ant-...로 시작)
4. n8n에서 Settings → Credentials → Add Credential → "OpenAI" 검색
5. API Key 필드에 복사한 키 붙여넣기 → Save
아래 5종 이메일을 직접 보내서 테스트합니다. 본인 Gmail에서 본인에게 보내도 됩니다.
Google Sheets에 「민원분류이력」 시트를 만들고 헤더를 입력합니다:
| A: 접수일시 | B: 보낸사람 | C: 제목 | D: AI분류 | E: 긴급도 | F: AI요약 | G: 담당팀 |
|---|---|---|---|---|---|---|
| (데이터 없음 — 자동 채워질 예정) | ||||||
W1~W3는 Sheets/Forms 트리거를 썼지만, 오늘은 Gmail Trigger입니다.
"Test step" → Output에 이메일 제목(subject)과 본문(text 또는 html)이 모두 나오면 성공.
n8n의 AI Agent Node는 워크플로 안에서 OpenAI를 호출하는 노드입니다. 쉽게 말해 "이 데이터를 GPT에게 보내고 답변을 받아라"입니다.
1. Gmail Trigger 뒤에 "AI Agent" 노드를 추가·연결합니다.
2. 기본 설정:
3. AI Agent 노드 하단에 "Chat Model" 서브노드가 있습니다. 클릭해서:
System Message에 아래 프롬프트를 입력합니다:
User Message (사용자 메시지)에:
"Test step" → GPT가 JSON 형태로 분류 결과를 반환합니다:
GPT가 반환한 JSON 문자열을 n8n이 쓸 수 있는 개별 필드로 분리합니다.
JSON.parse()는 "이 텍스트를 데이터로 바꿔라"라는 명령입니다. 바꾼 뒤에야 .분류처럼 개별 값에 접근할 수 있습니다.$json.output, $json.text, 또는 $json.response.text에 있을 수 있습니다.Switch 노드의 각 Output(0~4)에서 해당 팀 Gmail 노드를 연결합니다.
5개 Gmail 노드는 받는 사람(To)만 다르고 구조는 동일합니다. 하나를 만들고 복사(Ctrl+D)하면 빠릅니다.
| 분류 | 받는 사람 (To) | 제목 앞 태그 |
|---|---|---|
| 대출문의 | loan@ERbank.com | [대출문의] |
| 카드분실 | card@ERbank.com | 🚨[긴급·카드분실] |
| 이자항의 | deposit@ERbank.com | [이자항의] |
| 부정거래 | security@ERbank.com | 🚨🚨[최긴급·부정거래] |
| 일반문의 | cs@ERbank.com | [일반문의] |
이메일 본문 템플릿 (공통):
Set 노드의 출력(●)에서 별도의 선으로 Sheets 노드를 연결합니다. (Switch와 병렬)
1. "Test workflow" 클릭
2. 준비한 테스트 이메일 5건을 하나씩 보냅니다
3. 확인 포인트:
```json 마크다운을 붙이는 경우가 있습니다. Set 노드에서 $json.output.replace(/```json|```/g, '').trim()으로 정리 후 parse 하세요.W5에서는 GPT가 신용등급과 업종 위험도를 분석하고, 그 결과와 금액 조건을 결합해 여신 승인 경로를 자동 분기합니다. AI 판단 + 규칙 판단이 합쳐진 하이브리드 분기를 배웁니다.