0️⃣ 배경 리마인드
1편에선 “교육 요청 → 맞춤 제안서 자동 이메일”까지 꽤 그럴듯하게 돌려봤죠.
하지만 진짜 게임은 제안서가 통과된 그다음 단계.
확정된 강의가 생기면
맞춤 강사 섭외 메일·문자를 바로 뿌리고
강사 수락 여부만 확인하면 끝!
이걸 n8n으로 해본 실험기입니다.
지난 게시글 보기
1️⃣ n8n 워크플로우
한국의 과정 단계를 보여주는 다이어그램
Webhook → 확정 강의 조회 → 확정된 모듈 ID 추출 → 커리큘럼 모듈 조회 → 강사 ID 추출 → 에어테이블 강사 조회 → 메일/문자 본문 생성 ↘ ↘ Solapi 인증 값 생성 Gmail 발송 + Solapi 발송
핵심 흐름
Webhook
Airtable Automations에서 “
확정된 강의가 새 레코드일 때” POST 쏨.
확정 강의 조회
테이블 tbl1UkQ4…→ 강의명·날짜·인원 등 메타 확보.
확정 모듈 ID 추출 → 커리큘럼 모듈 조회
선택된 모듈들의 강사 레퍼런스 필드를 꺼내고,
테이블 tbl6iqZL…에서 실제 모듈 레코드들 한방에 OR 검색.
강사 ID 추출 (Code 노드)
각 모듈의
강사필드를 순회 → 중복 제거 Set로 담아instructorIds배열 생성.
강사 조회
tblgvbKv…(강사풀 테이블)에서AND( OR(RECORD_ID()="xxx", RECORD_ID()="yyy", …), {상태} = "가능" )로 가능 상태 강사만 필터.메일 내용 작성 (Code 노드)
강사명·회사명·강의정보 끼워 넣어 HTML 메일 템플릿 완성.
Solapi 인증 코드 (Code 노드)
date + salt를 HMAC-SHA256 →signature생성.매 전송마다 새로 계산해야 해서 노드 하나로 캡슐화.
문자 줄바꿈 처리
메일 HTML → 텍스트 변환, LMS 1,000자 컷·이스케이프.
Gmail 발송 & Solapi 문자 발송
메일은 즉시, 문자는 동시에 발송.
2️⃣ 삽질 포인트 🤯
Pain
해결법
Solapi 시그니처 – 매 호출마다 date + salt + HMAC 계산을 요구
Code 노드 한 개로 crypto 사용, 전역 변수처럼 뽑아 연결
Airtable 4개 테이블 종합 – 확정 강의 ↔ 모듈 ↔ 강사 참조 필드 체인
OR/AND Formula로 한 번에 검색, 중간 Set 활용해 ID dedupe
HTML ↔ LMS 문자 길이 – 줄바꿈·태그 제거·이스케이프 지옥
replace() 3종 세트로 해결, 마지막에 slice(0,1000)
3️⃣ 아직 남은 TODO
캘린더 자동 등록
강사 확정 후 Google Calendar(지피터스·강사) 이중 삽입 예정.
강사 상태 자동 갱신
강사 수락 →
상태=확정, 거절 →가능유지 or제외처리.
템플릿 고도화
메일/문자 디자인
마무리
잘 동작만하면 교육 요청 → 제안서 → 강사 컨택까지 ‘사람 손’이 전혀 안 들어갈거에요.
3편에선 “강사 확정 후 계약서 자동 발송·정산 자동화”까지 다뤄볼게요.