Slack은 단순한 메신저가 아닙니다. 업무 자동화의 중심 허브로 활용할 수 있습니다. 특히 Slack 봇을 만들면 알림, 명령어 처리, 워크플로우 자동화 등 다양한 기능을 구현할 수 있습니다. 코딩 없이 Make를 활용해서 강력한 Slack 봇을 만드는 방법을 소개합니다.
Slack 봇의 종류
Incoming Webhook
가장 간단한 형태입니다. 특정 URL로 메시지를 보내면 Slack 채널에 표시됩니다. 일방향 알림에 적합합니다. 서버 상태 알림, 주문 알림 등에 사용됩니다.
Slack App (Bot User)
더 강력한 형태입니다. 메시지를 보내는 것뿐만 아니라 받을 수도 있습니다. 슬래시 명령어, 버튼 클릭, 멘션에 반응할 수 있습니다. 양방향 상호작용이 필요할 때 사용합니다.
Workflow Builder
Slack 자체 제공 기능입니다. 간단한 워크플로우를 코딩 없이 만들 수 있습니다. 다만 외부 서비스 연동에 제한이 있어서 Make와 결합하면 더 강력해집니다.
Incoming Webhook 설정
Webhook URL 발급
1. api.slack.com/apps에서 앱 생성
2. Incoming Webhooks 활성화
3. Add New Webhook to Workspace
4. 채널 선택 후 허용
5. Webhook URL 복사
– 섹션 블록: 텍스트와 부가 정보
– 이미지 블록: 이미지 첨부
– 버튼 블록: 클릭 가능한 버튼
– 컨텍스트 블록: 작은 부가 정보
Block Kit Builder(app.slack.com/block-kit-builder)에서 시각적으로 디자인하고 JSON을 복사할 수 있습니다.
Slack App 만들기
앱 생성 및 권한 설정
1. api.slack.com/apps에서 Create New App
2. From scratch 선택, 이름과 워크스페이스 입력
3. OAuth & Permissions에서 Scopes 추가:
– chat:write (메시지 발송)
– channels:read (채널 정보 읽기)
– users:read (사용자 정보 읽기)
4. Install to Workspace
5. Bot User OAuth Token 복사
Make에서 Slack 모듈 사용
Make의 Slack 모듈은 Bot Token을 사용해서 연결합니다. 주요 모듈:
Watch Messages: 특정 채널의 메시지를 감시. 키워드 트리거에 활용.
Create a Message: 채널이나 DM으로 메시지 발송.
Create a Reaction: 메시지에 이모지 반응 추가.
Get User: 사용자 정보 조회.
실전 봇 시나리오
시나리오 1: 일일 스탠드업 봇
매일 아침 팀원들에게 스탠드업 질문을 보내고 응답을 수집합니다.
시나리오 구조:
Schedule(매일 오전 9시) → Slack Create Message(질문 발송)
메시지 내용:
“좋은 아침입니다! 오늘의 스탠드업을 시작합니다.
1. 어제 완료한 일
2. 오늘 할 일
3. 막히는 점
스레드에 답변해주세요!”
응답 수집은 별도 시나리오로:
Slack Watch Messages(해당 스레드) → Google Sheets Add Row
Notion은 단순한 노트 앱이 아닙니다. 데이터베이스, 프로젝트 관리, 문서 협업을 하나의 플랫폼에서 처리할 수 있는 올인원 워크스페이스입니다. 여기에 자동화를 더하면 진정한 생산성 허브가 됩니다. Make와 Notion API를 활용해서 반복 작업을 자동화하는 방법을 알아봅니다.
Notion 자동화의 기본 이해
Notion API 소개
Notion은 2021년부터 공식 API를 제공합니다. API를 통해 페이지 생성, 데이터베이스 조작, 콘텐츠 수정 등을 자동화할 수 있습니다. Make에는 Notion 공식 모듈이 있어서 복잡한 코딩 없이 연동이 가능합니다.
Integration 설정
Notion API를 사용하려면 Integration을 생성해야 합니다:
1. notion.so/my-integrations 접속
2. “New Integration” 클릭
3. 이름 입력, 워크스페이스 선택
4. 권한 설정 (Read/Update/Insert 등)
5. Integration Token 복사
중요: Integration을 Notion 페이지에 연결해야 합니다. 해당 페이지에서 “…” 메뉴 → “Connections” → Integration 선택. 하위 페이지는 자동으로 접근 권한이 상속됩니다.
Notion에서 캘린더를 관리하면서 Google Calendar와 동기화 상태를 유지합니다. 어느 쪽에서 일정을 확인해도 동일한 정보를 볼 수 있습니다.
시나리오 6: 콘텐츠 파이프라인 자동화
콘텐츠 제작 과정을 자동화합니다. 아이디어 등록부터 발행까지 각 단계를 추적합니다.
데이터베이스 구조:
– 제목 (Title): 콘텐츠 제목
– 상태 (Select): 아이디어/작성중/검토중/발행완료
– 담당자 (Person): 작성자
– 마감일 (Date): 발행 예정일
– 플랫폼 (Multi-select): 블로그/유튜브/SNS
자동화:
– 상태가 “작성중”이 되면 담당자에게 Slack 알림
– 마감일 3일 전 리마인더 발송
– “발행완료”가 되면 발행 로그 업데이트
시나리오 7: 독서 기록 자동화
읽은 책 정보를 자동으로 Notion에 기록합니다.
시나리오 구조:
Webhook(책 ISBN 입력) → HTTP(도서 API 조회) → Notion Create Database Item
ISBN만 입력하면 제목, 저자, 표지 이미지, 출판사 등 상세 정보를 자동으로 가져와 저장합니다. 알라딘이나 국립중앙도서관 API를 활용합니다.
고급 자동화 기법
Notion 수식과 자동화 결합
Notion의 수식(Formula) 기능과 자동화를 결합하면 더 강력해집니다.
예: 프로젝트 진행률 자동 계산
– 데이터베이스에 완료/전체 태스크 수를 수식으로 계산
– 진행률이 100%가 되면 자동화 트리거
– 프로젝트 완료 알림 발송, 리포트 생성
Rollup을 활용한 집계
관계형 데이터베이스와 Rollup을 활용해서 집계 데이터를 계산하고, 이를 자동화에 활용합니다.
예: 고객별 총 주문 금액
– 고객 데이터베이스와 주문 데이터베이스 연결
– Rollup으로 고객별 총 주문 금액 계산
– 특정 금액 이상이면 VIP 등급 자동 부여
템플릿 버튼과 자동화
Notion의 템플릿 버튼으로 페이지를 생성하면 자동화가 트리거되도록 설정합니다.
예: 미팅 노트 자동 설정
– 미팅 노트 템플릿 버튼 클릭
– 새 페이지 생성 감지 (Watch Database Items)
– Google Calendar에서 관련 미팅 정보 가져오기
– 참석자에게 미팅 링크 자동 발송
Notion API 한계와 대응
속성 타입 제한
API로 모든 속성 타입을 완벽하게 다룰 수 있는 것은 아닙니다. 특히 Rollup, Formula는 읽기만 가능하고 직접 수정은 불가합니다.
대응: 수식 결과가 필요하면 먼저 관련 데이터를 업데이트하고, Notion이 자동 계산하게 합니다.
Rate Limit
Notion API는 초당 3요청으로 제한됩니다. 대량 데이터를 처리할 때 주의가 필요합니다.
대응: Make의 Sleep 모듈로 요청 간격을 조절합니다. 대량 작업은 배치로 나눠서 처리합니다.
블록 내용 수정
페이지 내부의 블록(텍스트, 이미지 등)을 수정하는 것은 복잡합니다. 블록 ID를 알아야 하고, 블록 타입별로 다른 형식을 사용해야 합니다.
대응: 가능하면 데이터베이스 속성을 활용합니다. 블록 수정이 꼭 필요하면 Append (추가)를 사용하고, 전체 교체는 피합니다.
실무 팁
데이터베이스 설계 원칙
자동화를 고려해서 데이터베이스를 설계합니다:
– 트리거 용도의 상태 속성 추가 (Select 타입)
– 외부 시스템과 연결할 ID 속성 추가
– 생성/수정 시간 자동 추적 (Created time, Last edited time)
– 속성 이름은 영어로 (API에서 한글 이름이 문제될 수 있음)
테스트 환경 구축
실제 데이터에 영향을 주지 않도록 테스트용 데이터베이스를 만듭니다. 자동화가 안정화되면 실제 데이터베이스로 전환합니다.
에러 처리
Notion API 호출이 실패할 수 있습니다. Make의 Error Handler를 설정해서 실패 시 알림을 받고, 나중에 재시도하도록 합니다.
시작 추천
Notion 자동화를 시작한다면 다음 순서를 추천합니다:
1. 간단한 읽기 자동화부터: Notion 데이터를 Slack이나 Email로 보내기
2. 쓰기 자동화: 외부 서비스 데이터를 Notion에 기록하기
3. 양방향 동기화: Notion과 다른 서비스 간 데이터 동기화
4. 복잡한 워크플로우: 여러 단계의 비즈니스 프로세스 자동화
Notion은 이미 많은 팀의 중심 도구입니다. 여기에 자동화를 더하면 데이터가 자동으로 흐르고, 사람은 더 중요한 일에 집중할 수 있습니다. 오늘 하나의 자동화부터 시작해보세요.
챗GPT가 등장한 이후 업무 방식이 완전히 바뀌었습니다. 단순히 질문에 답변을 받는 것을 넘어서, 반복적인 업무를 자동화하는 강력한 도구로 활용할 수 있습니다. 특히 Make와 같은 자동화 플랫폼과 결합하면 그 가능성은 무한해집니다. 이 글에서는 챗GPT를 활용해 업무를 자동화하는 구체적인 방법을 소개합니다.
챗GPT API의 이해
챗GPT를 자동화에 활용하려면 API를 사용해야 합니다. 웹에서 대화하는 것과 달리, API를 통하면 프로그램이 자동으로 챗GPT와 대화할 수 있습니다.
API 키 발급
OpenAI 계정에서 API 키를 발급받습니다:
1. platform.openai.com 접속
2. 로그인 후 API Keys 메뉴
3. Create new secret key 클릭
4. 생성된 키 안전하게 저장
API 사용에는 비용이 발생합니다. GPT-4는 입력 1,000토큰당 약 $0.03, 출력 1,000토큰당 약 $0.06입니다. GPT-3.5-turbo는 10배 이상 저렴합니다. 업무 자동화에는 대부분 GPT-3.5-turbo로 충분합니다.
모델 선택 기준
GPT-4: 복잡한 분석, 긴 문서 처리, 높은 정확도가 필요할 때. 비용이 높지만 품질이 뛰어남.
GPT-3.5-turbo: 일반적인 텍스트 생성, 간단한 분류, 대량 처리. 비용 효율적이고 속도 빠름.
GPT-4-turbo: GPT-4 수준의 품질과 더 빠른 속도, 더 낮은 비용. 현재 가장 균형 잡힌 선택.
Make에서 ChatGPT 연동하기
Make에는 OpenAI 공식 모듈이 있어서 쉽게 연동할 수 있습니다.
연결 설정
1. Make에서 OpenAI 모듈 추가
2. Connection에서 Add 클릭
3. API Key 입력
4. 연결 완료
주요 모듈
Create a Completion: 프롬프트에 대한 응답 생성. 가장 많이 사용하는 모듈.
Create a Chat Completion: 대화 형식의 응답 생성. 이전 대화 맥락 유지 가능.
스마트폰 앱을 만들고 싶은데 코딩을 모른다고요? 더 이상 걱정할 필요 없습니다. 2026년 현재, 노코드 도구를 활용하면 프로그래밍 지식 없이도 완성도 높은 앱을 만들 수 있습니다. 실제로 전 세계 신규 앱의 30% 이상이 노코드 플랫폼으로 제작되고 있습니다. 이 글에서는 노코드로 앱을 만드는 전체 과정을 단계별로 상세히 안내합니다.
노코드 앱 개발이란
노코드(No-Code) 앱 개발은 프로그래밍 언어를 작성하지 않고 시각적 인터페이스를 통해 앱을 만드는 방식입니다. 드래그 앤 드롭으로 화면을 구성하고, 클릭만으로 기능을 추가합니다. 마치 파워포인트로 프레젠테이션을 만들듯이 앱을 만들 수 있습니다.
노코드와 로우코드(Low-Code)는 종종 혼용되지만 차이가 있습니다. 노코드는 코드를 전혀 작성하지 않고, 로우코드는 필요시 약간의 코드를 추가할 수 있습니다. 완전 비개발자는 노코드를, 약간의 기술 지식이 있다면 로우코드를 선택하면 됩니다.
노코드 앱 개발의 장점
빠른 개발 속도: 전통적인 앱 개발은 몇 달이 걸리지만, 노코드로는 며칠 또는 몇 주 만에 앱을 완성할 수 있습니다. 아이디어를 빠르게 검증하고 시장에 출시할 수 있습니다.
낮은 비용: 개발자를 고용하면 수천만 원의 비용이 들지만, 노코드 플랫폼은 월 몇만 원의 구독료로 시작할 수 있습니다. 초기 자금이 부족한 스타트업이나 개인에게 최적입니다.
쉬운 수정: 코드 기반 앱은 수정하려면 개발자가 필요하지만, 노코드 앱은 직접 수정할 수 있습니다. 사용자 피드백을 받아 즉시 반영할 수 있습니다.
유지보수 간편: 플랫폼이 서버 관리, 보안 업데이트, 성능 최적화를 담당합니다. 기술적인 운영 부담 없이 비즈니스에 집중할 수 있습니다.
대표 노코드 앱 빌더 비교
Bubble
Bubble은 가장 강력한 노코드 웹앱 빌더입니다. 복잡한 로직, 데이터베이스, 사용자 인증, 결제 시스템까지 구현할 수 있습니다. 에어비앤비, 우버 같은 복잡한 서비스도 Bubble로 클론할 수 있을 정도입니다.
장점: 높은 자유도, 강력한 기능, 활발한 커뮤니티
단점: 학습 곡선이 가파름, 복잡한 앱은 성능 이슈 가능
가격: 무료 시작, 유료 플랜 월 $32부터
적합한 경우: 복잡한 웹앱, SaaS 서비스, 마켓플레이스
Glide
Glide는 Google Sheets나 Airtable을 데이터 소스로 사용해서 모바일 앱을 만듭니다. 스프레드시트에 데이터를 입력하면 그것이 곧 앱의 데이터베이스가 됩니다. 가장 직관적이고 빠르게 앱을 만들 수 있습니다.
장점: 매우 쉬움, 스프레드시트 기반, 빠른 프로토타이핑
단점: 복잡한 로직 제한, 디자인 자유도 낮음
가격: 무료 시작, 유료 플랜 월 $25부터
적합한 경우: 내부용 앱, 간단한 데이터 앱, 디렉토리 앱
Adalo
Adalo는 네이티브 모바일 앱을 만들 수 있는 플랫폼입니다. iOS와 Android 앱스토어에 실제로 출시할 수 있는 앱을 만듭니다. UI 컴포넌트가 풍부하고 디자인 자유도가 높습니다.
장점: 네이티브 앱 출시 가능, 아름다운 UI, 직관적인 인터페이스
단점: 복잡한 로직 제한, 무료 플랜 제한적
가격: 무료 시작, 유료 플랜 월 $45부터
적합한 경우: 모바일 중심 앱, 소비자용 앱, 커뮤니티 앱
FlutterFlow
FlutterFlow는 Google의 Flutter 프레임워크를 기반으로 합니다. 노코드로 앱을 만들면서도 필요시 Flutter 코드를 추출해서 개발자가 추가 개발할 수 있습니다. 노코드와 전통 개발의 장점을 결합했습니다.
장점: 코드 추출 가능, 고성능, 크로스플랫폼
단점: 약간의 기술 지식 필요, 비용이 높음
가격: 무료 시작, 유료 플랜 월 $30부터
적합한 경우: 확장 가능성이 필요한 앱, 성능이 중요한 앱
Softr
Softr는 Airtable을 백엔드로 사용하는 웹앱 빌더입니다. 회원제 사이트, 포털, 마켓플레이스를 빠르게 만들 수 있습니다. Airtable의 강력한 데이터 관리 기능과 결합됩니다.
장점: Airtable 완벽 연동, 빠른 구축, 깔끔한 템플릿
단점: Airtable 의존성, 복잡한 로직 제한
가격: 무료 시작, 유료 플랜 월 $49부터
적합한 경우: 회원제 사이트, 고객 포털, 내부 도구
노코드 앱 개발 5단계 프로세스
1단계: 앱 기획
코딩 여부와 관계없이 좋은 앱은 좋은 기획에서 시작합니다. 먼저 앱이 해결하려는 문제를 명확히 정의합니다.
핵심 질문:
– 이 앱은 누구를 위한 것인가? (타겟 사용자)
– 어떤 문제를 해결하는가? (핵심 가치)
– 사용자가 앱에서 할 수 있는 핵심 행동은 무엇인가? (핵심 기능)
– 비슷한 앱이 있는가? 차별점은? (경쟁 분석)
기능을 나열할 때는 MVP(최소 기능 제품) 관점에서 생각합니다. 처음부터 모든 기능을 넣으려 하지 말고, 핵심 가치를 전달하는 최소한의 기능만 선정합니다. 나머지는 출시 후 사용자 피드백을 받아 추가합니다.
사용자 흐름(User Flow)을 그려봅니다. 사용자가 앱에 들어와서 목표를 달성하기까지의 단계를 시각화합니다. 복잡한 도구 없이 종이에 그려도 됩니다.
2단계: 플랫폼 선택
기획이 완료되면 적합한 플랫폼을 선택합니다. 앞서 소개한 플랫폼들의 특성을 고려해서 선택합니다.
선택 기준:
– 웹앱 vs 모바일앱: 모바일 중심이면 Adalo/FlutterFlow, 웹 중심이면 Bubble/Softr
– 복잡도: 복잡한 로직이 필요하면 Bubble, 단순하면 Glide/Softr
– 데이터: Airtable을 이미 사용한다면 Softr/Glide, 새로 시작하면 Bubble
– 예산: 무료로 시작하려면 Glide, 투자할 여유가 있으면 Bubble
처음이라면 Glide로 시작하는 것을 추천합니다. 가장 쉽고 빠르게 결과를 볼 수 있어서 성취감을 느끼기 좋습니다. 노코드 개념을 익힌 후 더 복잡한 플랫폼으로 이동해도 됩니다.
3단계: 데이터 구조 설계
앱의 뼈대는 데이터 구조입니다. 어떤 정보를 저장하고, 정보 간의 관계는 어떻게 되는지 설계합니다.
예를 들어 음식 배달 앱이라면:
– 사용자 테이블: 이름, 이메일, 전화번호, 주소
– 음식점 테이블: 이름, 주소, 카테고리, 영업시간
– 메뉴 테이블: 이름, 가격, 설명, 이미지, 소속 음식점
– 주문 테이블: 주문자, 음식점, 메뉴 목록, 금액, 상태
테이블 간의 관계도 정의합니다. 한 음식점에 여러 메뉴가 있으므로 음식점과 메뉴는 1:N 관계입니다. 한 주문에 여러 메뉴가 포함될 수 있으므로 주문과 메뉴는 N:M 관계입니다.
대부분의 노코드 플랫폼은 이런 관계형 데이터를 지원합니다. Bubble은 자체 데이터베이스를, Glide와 Softr는 Airtable이나 Google Sheets를 사용합니다.
4단계: UI 디자인과 개발
데이터 구조가 준비되면 화면을 만듭니다. 대부분의 플랫폼은 템플릿을 제공하므로 처음부터 만들 필요 없습니다.
기본 화면 구성:
– 홈 화면: 앱의 메인 화면, 핵심 기능 접근
– 리스트 화면: 데이터 목록 표시 (상품 목록, 게시글 목록 등)
– 상세 화면: 개별 항목의 상세 정보
– 입력 화면: 데이터 입력/수정 폼
– 프로필 화면: 사용자 정보 및 설정
디자인 팁:
– 일관성 유지: 색상, 폰트, 버튼 스타일을 통일
– 여백 활용: 요소 사이에 충분한 공간
– 계층 구조: 중요한 정보를 더 크게, 눈에 띄게
– 터치 영역: 모바일에서 버튼은 충분히 크게 (최소 44px)
기능 구현은 노코드 플랫폼의 워크플로우나 액션 기능을 사용합니다. “버튼 클릭 시 → 데이터 저장 → 다음 화면으로 이동” 같은 흐름을 시각적으로 설정합니다.
5단계: 테스트와 출시
앱이 완성되면 철저히 테스트합니다.
테스트 항목:
– 모든 버튼과 링크가 작동하는가
– 데이터 입력과 저장이 정상적인가
– 다양한 화면 크기에서 레이아웃이 깨지지 않는가
– 에러 상황에서 적절한 메시지가 표시되는가
– 로딩 속도가 적절한가
가능하다면 실제 사용자에게 베타 테스트를 요청합니다. 직접 만든 사람은 발견하지 못하는 문제를 찾아줍니다.
출시 방법은 플랫폼에 따라 다릅니다:
– 웹앱: 플랫폼에서 제공하는 URL로 바로 접근 가능, 커스텀 도메인 연결 가능
– 모바일앱: Adalo, FlutterFlow는 앱스토어 출시 지원, 심사 과정 필요
노코드 앱 성공 사례
Teal – 구직 관리 앱
Teal은 구직 활동을 관리하는 앱으로, Bubble로 만들어졌습니다. 지원한 회사 추적, 이력서 관리, 면접 일정 관리 등의 기능을 제공합니다. 노코드로 시작해서 수백만 사용자를 확보했고, 이후 개발팀을 구성해서 확장했습니다.
Comet – 프리랜서 매칭 플랫폼
프랑스의 Comet은 Bubble로 MVP를 만들어 시장을 검증한 후 투자를 받았습니다. 초기 버전을 빠르게 출시해서 사용자 반응을 확인하고, 이를 바탕으로 투자자를 설득했습니다.
국내 사례들
국내에서도 노코드 앱이 늘어나고 있습니다. 소규모 커뮤니티 앱, 예약 시스템, 내부 업무 도구 등이 노코드로 만들어지고 있습니다. 특히 스타트업의 MVP 제작, 기업 내부 도구 개발에 활발히 사용됩니다.
노코드 앱의 한계와 대응
성능 한계
노코드 앱은 최적화된 네이티브 앱보다 성능이 떨어질 수 있습니다. 특히 복잡한 연산이나 대용량 데이터 처리에서 차이가 납니다.
대응: MVP 단계에서는 노코드로 충분합니다. 사용자가 늘어나고 성능이 중요해지면 그때 전통 개발로 전환을 고려합니다.
기능 제한
플랫폼이 제공하지 않는 기능은 구현하기 어렵습니다. 예를 들어 특수한 하드웨어 연동, 복잡한 알고리즘 등은 제한됩니다.
대응: 기획 단계에서 플랫폼의 한계를 파악하고, 구현 가능한 범위 내에서 설계합니다. 정말 필요한 기능이라면 API 연동이나 커스텀 플러그인을 검토합니다.
플랫폼 의존성
노코드 플랫폼에 종속됩니다. 플랫폼이 서비스를 중단하거나 가격을 올리면 영향을 받습니다.
대응: FlutterFlow처럼 코드 추출이 가능한 플랫폼을 선택하거나, 데이터를 정기적으로 백업합니다. 중요한 비즈니스라면 탈출 전략을 미리 계획합니다.
노코드 앱 개발 시작하기
지금 바로 시작할 수 있습니다. 추천하는 첫 프로젝트는 자신이 겪는 작은 불편함을 해결하는 앱입니다.
예시 프로젝트:
– 개인 습관 트래커: 매일 운동, 독서 등을 기록하고 통계 확인
– 간단한 가계부: 수입/지출 기록과 월별 리포트
– 북 리뷰 앱: 읽은 책 기록과 평점, 메모
– 레시피 저장 앱: 좋아하는 레시피 저장과 검색
복잡한 앱을 만들려고 하지 마세요. 작은 앱을 완성하는 경험이 중요합니다. 완성의 기쁨을 느끼고, 실제로 사용하면서 개선점을 찾고, 점점 더 복잡한 앱에 도전하세요.
노코드는 아이디어를 현실로 만드는 가장 빠른 방법입니다. 더 이상 “개발자가 없어서”, “예산이 없어서”라는 핑계는 통하지 않습니다. 오늘 첫 앱 만들기를 시작해보세요.
Google Sheets는 단순한 스프레드시트가 아닙니다. 데이터베이스, 대시보드, 자동화 허브로 활용할 수 있는 강력한 도구입니다. 특히 Make와 결합하면 그 가능성이 무한히 확장됩니다. 이 글에서는 Make와 Google Sheets를 연동해서 업무를 자동화하는 방법을 완벽하게 정리합니다.
왜 Google Sheets인가
자동화의 데이터 저장소로 Google Sheets를 선택하는 이유가 있습니다.
접근성: 웹 브라우저만 있으면 어디서든 접근할 수 있습니다. 팀원들과 실시간 공유가 가능하고, 권한 관리도 세밀하게 할 수 있습니다.
비용: 무료입니다. Google 계정만 있으면 충분한 용량을 무료로 사용할 수 있습니다.
유연성: 데이터 구조를 자유롭게 변경할 수 있습니다. 컬럼을 추가하거나 삭제하는 것이 데이터베이스보다 훨씬 간단합니다.
시각화: 기본 제공되는 차트와 피벗 테이블로 데이터를 쉽게 시각화할 수 있습니다.
수식: 강력한 수식 기능으로 데이터 가공이 가능합니다. VLOOKUP, QUERY, IMPORTRANGE 등의 함수로 복잡한 처리도 할 수 있습니다.
물론 한계도 있습니다. 대용량 데이터(수십만 행 이상)에서는 성능이 떨어지고, 동시 편집이 많으면 충돌이 발생할 수 있습니다. 이런 경우에는 전용 데이터베이스를 고려해야 합니다.
Make의 Google Sheets 모듈 완벽 가이드
연결 설정
Make에서 Google Sheets를 사용하려면 먼저 연결(Connection)을 설정해야 합니다.
1. Make에서 Google Sheets 모듈 추가
2. Connection에서 “Add” 클릭
3. Google 계정 로그인
4. Make에 권한 부여 (스프레드시트 읽기/쓰기 권한)
5. 연결 완료
여러 Google 계정의 시트를 사용한다면 각 계정별로 연결을 만듭니다. 연결 이름을 명확하게 지어서 구분합니다 (예: “회사 계정”, “개인 계정”).
Watch 모듈: 변경 감지 트리거
Watch Rows: 시트에 새 행이 추가되면 트리거됩니다. 가장 많이 사용되는 트리거입니다.
설정 옵션:
– Spreadsheet: 감시할 스프레드시트 선택
– Sheet: 감시할 시트(탭) 선택
– Table contains headers: 첫 행이 헤더인지 여부 (Yes 권장)
– Row with headers: 헤더가 있는 행 번호 (보통 1)
– Values render option: 값 표시 방식 (FORMATTED_VALUE 권장)
주의사항: Watch Rows는 새로 추가된 행만 감지합니다. 기존 행의 수정은 감지하지 않습니다. 수정을 감지하려면 Watch Changes 모듈이나 다른 방법을 사용해야 합니다.
Watch Changes: 시트의 모든 변경(추가, 수정, 삭제)을 감지합니다. 실시간에 가깝게 변경을 감지해야 할 때 사용합니다. 단, Google API 제한으로 인해 모든 변경을 완벽하게 잡지 못할 수 있습니다.
Search 모듈: 데이터 조회
Search Rows: 조건에 맞는 행을 검색합니다.
설정 옵션:
– Filter: 검색 조건 설정. 컬럼과 조건(equals, contains, greater than 등)을 지정합니다.
– Sort order: 정렬 기준
– Order by: 정렬 컬럼
– Limit: 최대 반환 행 수
필터 예시: “상태” 컬럼이 “대기중”인 모든 행 검색
Column: 상태, Condition: Text equals, Value: 대기중
Search Rows (Advanced): Google Sheets의 QUERY 함수와 유사한 고급 검색입니다. 더 복잡한 조건이나 여러 조건의 AND/OR 조합이 필요할 때 사용합니다.
필터 예시: “금액”이 10000 이상이고 “상태”가 “완료”인 행
Filter: A > 10000 AND B = ‘완료’ (A, B는 컬럼 레터)
Get a Cell: 특정 셀의 값을 가져옵니다. 행과 열을 지정해서 정확히 하나의 셀 값만 필요할 때 사용합니다.
Get Range Values: 지정된 범위의 모든 셀 값을 가져옵니다. 여러 셀을 한 번에 읽어야 할 때 사용합니다. A1:C10 형식으로 범위를 지정합니다.
Create/Add 모듈: 데이터 추가
Add a Row: 시트 맨 아래에 새 행을 추가합니다. 가장 많이 사용되는 액션입니다.
설정:
– Spreadsheet, Sheet 선택
– Table contains headers: Yes
– Values: 각 컬럼에 해당하는 값 입력
헤더가 설정되어 있으면 컬럼 이름으로 값을 매핑할 수 있어서 편리합니다. 헤더가 “이름”, “이메일”, “전화번호”라면 해당 필드에 값을 넣으면 됩니다.
Add Multiple Rows (Bulk Add Rows): 여러 행을 한 번에 추가합니다. 배열 데이터를 추가할 때 효율적입니다. 하나씩 추가하면 API 호출이 여러 번 발생하지만, 이 모듈을 사용하면 한 번의 호출로 처리됩니다.
주의: 입력 데이터는 2차원 배열 형태여야 합니다.
예: [[값1, 값2, 값3], [값4, 값5, 값6]]
Search Rows의 필터: Column “재고”, Condition “Number less than or equal”, Value “10”
Iterator는 검색 결과가 여러 행일 수 있으므로 각 행에 대해 알림을 보내기 위해 사용합니다.
추가: 같은 항목에 대해 반복 알림이 가지 않도록 “알림 발송 여부” 컬럼을 추가하고, 알림 후 체크합니다.
시나리오 5: 외부 API 데이터 시트에 기록
외부 서비스의 데이터를 정기적으로 가져와서 시트에 기록합니다.
예시: 날씨 API 데이터 수집
시나리오 구조:
Schedule(매 시간) → HTTP Get(날씨 API) → Parse JSON → Google Sheets Add a Row
HTTP 모듈 설정:
– URL: https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY
– Method: GET
Parse JSON으로 응답을 파싱하고, 필요한 데이터(온도, 습도, 날씨 상태 등)를 추출해서 시트에 기록합니다.
이런 방식으로 시간별 날씨 데이터를 축적하면 분석이나 시각화에 활용할 수 있습니다.
시나리오 6: 대시보드용 데이터 집계
여러 소스의 데이터를 집계해서 대시보드용 시트를 업데이트합니다.
시나리오 구조:
Schedule(매일 오전) → [여러 데이터 소스에서 데이터 수집] → Aggregate → Google Sheets Update Range
예시: 쇼핑몰 일별 매출 대시보드
1. Shopify API로 전일 주문 데이터 조회
2. 총 매출, 주문 수, 평균 주문 금액 계산
3. 대시보드 시트의 해당 날짜 행에 데이터 기록
대시보드 시트에 차트를 설정해두면 데이터가 업데이트될 때마다 자동으로 차트도 갱신됩니다.
고급 기법
배열 수식과 자동화의 조합
Google Sheets의 배열 수식(ARRAYFORMULA)과 Make 자동화를 조합하면 강력한 시스템을 만들 수 있습니다.
패턴: Make는 원본 데이터만 추가하고, 가공은 시트 수식이 처리
예를 들어:
– A열: 상품코드 (Make가 입력)
– B열: 수량 (Make가 입력)
– C열: 단가 (VLOOKUP으로 상품 마스터에서 자동 조회)
– D열: 금액 (=B*C 수식으로 자동 계산)
– E열: 상태 (조건부 수식으로 자동 분류)
Make는 A, B열 데이터만 추가하면 되고, 나머지는 시트 수식이 자동으로 채웁니다. 이렇게 하면 자동화 시나리오가 단순해지고, 계산 로직 변경도 시트에서만 하면 됩니다.
IMPORTRANGE로 시트 간 연결
IMPORTRANGE 함수로 다른 스프레드시트의 데이터를 참조할 수 있습니다. Make 없이도 시트 간 데이터 연결이 가능합니다.
=IMPORTRANGE(“스프레드시트_URL”, “시트명!A1:D100”)
Make와 IMPORTRANGE를 조합하면:
– Make: 원본 데이터 스프레드시트에 데이터 추가
– IMPORTRANGE: 대시보드 스프레드시트에서 원본 참조
– 결과: 대시보드가 자동으로 업데이트
주의: IMPORTRANGE는 실시간이 아니라 몇 분 간격으로 갱신됩니다.
Apps Script와의 연동
Google Apps Script로 시트에 커스텀 기능을 추가하고, Make의 Webhook으로 트리거할 수 있습니다.
Apps Script 예시 (Webhook 엔드포인트):
function doPost(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = JSON.parse(e.postData.contents);
// 데이터 처리 로직
sheet.appendRow([data.name, data.email, new Date()]);
return ContentService.createTextOutput("Success");
}
이 스크립트를 웹 앱으로 배포하면 URL이 생성됩니다. Make의 HTTP 모듈로 이 URL에 POST 요청을 보내면 Apps Script가 실행됩니다.
Apps Script가 유용한 경우:
– 복잡한 데이터 가공이 필요할 때
– 시트 서식을 동적으로 변경해야 할 때
– 여러 시트에 걸친 복잡한 작업이 필요할 때
조건부 서식 자동화
직접적인 조건부 서식 자동화는 Make로 어렵지만, 우회 방법이 있습니다.
방법 1: 상태 컬럼 추가
특정 조건을 만족하면 “상태” 컬럼에 값을 설정하고, 시트의 조건부 서식에서 이 컬럼을 기준으로 서식을 적용합니다.
방법 2: Apps Script 사용
Make에서 Apps Script를 호출하고, Apps Script에서 프로그래밍 방식으로 서식을 변경합니다.
성능 최적화
API 호출 최소화
Google Sheets API는 분당 읽기 60회, 쓰기 60회로 제한됩니다. 이 제한을 효율적으로 사용해야 합니다.
최적화 방법:
– Add Multiple Rows 사용: 여러 행을 한 번에 추가
– Get Range Values 사용: 여러 셀을 한 번에 읽기
– 불필요한 Watch 주기 줄이기: 실시간이 필요 없으면 간격 늘리기
대용량 데이터 처리
수만 행의 데이터를 처리해야 할 때:
1. 배치 처리: 한 번에 모든 데이터를 처리하지 않고, 나눠서 처리합니다. 예: 1000행씩 처리하고 다음 실행 때 이어서.
2. Data Store 활용: 마지막 처리 위치를 Data Store에 저장하고, 다음 실행 때 그 위치부터 시작합니다.
3. 전용 DB 고려: 정말 대용량이라면 Google Sheets 대신 Airtable, 또는 MySQL/PostgreSQL 같은 전용 데이터베이스를 고려합니다.
에러 방지
흔한 에러와 방지 방법:
“The requested entity was not found”
원인: 시트나 스프레드시트가 삭제되었거나, 이름이 변경됨
방지: 시트 ID 사용 (이름 대신), 변경 시 시나리오 업데이트
“Rate limit exceeded”
원인: API 호출 제한 초과
방지: Sleep 모듈로 호출 간격 조절, 배치 처리 활용
“Invalid value”
원인: 데이터 타입 불일치 (숫자 컬럼에 텍스트 등)
방지: 데이터 입력 전 타입 변환, 검증 로직 추가
보안 고려사항
접근 권한 관리
Make에 연결된 Google 계정은 해당 계정의 모든 스프레드시트에 접근할 수 있습니다. 민감한 데이터가 있다면:
1. 자동화 전용 Google 계정 생성
2. 필요한 스프레드시트만 해당 계정과 공유
3. Make는 전용 계정으로만 연결
민감 정보 처리
개인정보, 결제정보 등 민감한 데이터를 시트에 저장할 때:
– 꼭 필요한 정보만 저장
– 가능하면 식별 불가능하게 가공 (해시, 마스킹)
– 시트 접근 권한 최소화
– 보관 기간 설정하고 자동 삭제 시나리오 구축
공유 링크 주의
“링크가 있는 모든 사용자” 공유 설정은 편리하지만 위험합니다. URL이 유출되면 누구나 접근할 수 있습니다. 가능하면 특정 사용자에게만 공유하세요.
마무리: 시트를 넘어서
Google Sheets와 Make의 조합은 소규모 비즈니스나 개인의 업무 자동화에 최적입니다. 초기 비용 없이, 프로그래밍 지식 없이, 강력한 자동화 시스템을 구축할 수 있습니다.
하지만 규모가 커지면 한계가 있습니다. 데이터가 수십만 행을 넘어가거나, 동시 접속자가 많아지거나, 복잡한 관계형 데이터가 필요해지면 전용 데이터베이스로 이전을 고려해야 합니다.
중요한 것은 시작하는 것입니다. 완벽한 시스템을 처음부터 설계하려 하지 말고, Google Sheets로 시작해서 검증하고, 필요할 때 확장하세요. 지금 당장 반복하고 있는 업무를 자동화해보세요. 한 번의 설정으로 앞으로의 수많은 반복 작업이 사라집니다. 그 시간을 더 가치 있는 일에 사용하세요.
온라인 쇼핑몰을 운영하다 보면 반복적인 업무에 파묻히기 쉽습니다. 주문 확인, 재고 관리, 고객 응대, 배송 처리, 리뷰 요청… 이 모든 일을 수작업으로 하면 정작 중요한 일(상품 기획, 마케팅, 고객 경험 개선)에 시간을 쓸 수 없습니다. Make를 활용한 쇼핑몰 자동화로 운영 효율을 극대화하는 방법을 알아봅니다.
쇼핑몰 자동화의 핵심 영역
쇼핑몰 운영에서 자동화할 수 있는 영역은 크게 다섯 가지입니다: 주문 관리, 재고 관리, 고객 커뮤니케이션, 마케팅, 그리고 분석/리포팅입니다. 각 영역에서 가장 효과적인 자동화 시나리오를 살펴보겠습니다.
주문 관리 자동화
다중 채널 주문 통합
자사몰, 스마트스토어, 쿠팡, 11번가 등 여러 채널에서 판매하는 경우 주문 관리가 복잡해집니다. 각 채널의 관리자 페이지에 일일이 접속해서 주문을 확인하고 처리하는 것은 비효율적입니다.
Make로 모든 채널의 주문을 하나의 시스템(Google Sheets, Airtable, 또는 자체 DB)으로 통합할 수 있습니다. 각 채널의 API나 Webhook을 통해 새 주문이 발생하면 자동으로 통합 주문 시트에 기록됩니다.
시나리오 구조 예시:
Shopify New Order Webhook → Google Sheets Add Row
스마트스토어 API(HTTP Module) → Google Sheets Add Row
쿠팡 API(HTTP Module) → Google Sheets Add Row
각 채널별로 별도의 시나리오를 만들고, 모두 같은 Google Sheets에 데이터를 추가하도록 설정합니다. 주문 데이터 형식이 채널마다 다르므로, 공통 형식으로 변환하는 매핑이 필요합니다.
통합 주문 시트의 컬럼 예시: 주문일시, 채널, 주문번호, 고객명, 연락처, 배송지, 상품명, 수량, 결제금액, 상태
주문 상태 자동 업데이트
주문 처리 과정에서 상태가 변경되면 관련 시스템과 고객에게 자동으로 알림을 보낼 수 있습니다.
예를 들어 재고 시스템에서 출고 처리가 완료되면:
1. 주문 시트의 상태를 “배송중”으로 변경
2. 고객에게 배송 시작 알림 발송(이메일, 카카오 알림톡)
3. 해당 채널의 주문 상태 업데이트(API 호출)
4. 운영팀 Slack에 출고 완료 알림
이 모든 과정이 수동 개입 없이 자동으로 진행됩니다. 운영자는 출고 버튼만 누르면 나머지는 자동화가 처리합니다.
이상 주문 감지 및 알림
비정상적인 주문을 자동으로 감지해서 알림을 보내는 시나리오도 유용합니다. 예를 들어:
– 같은 고객이 단시간에 여러 건 주문(도배 주문 의심)
– 주문 금액이 평소 평균의 5배 이상(대량 주문)
– 새 계정으로 고가 상품 첫 주문(사기 주문 의심)
– 해외 IP에서 국내 배송 주문(VPN 사용 의심)
시나리오에서 이런 조건을 필터로 설정하고, 해당되는 주문이 발생하면 운영자에게 즉시 Slack 또는 이메일로 알림을 보냅니다. 운영자가 직접 검토하고 필요시 조치를 취합니다.
재고 관리 자동화
실시간 재고 동기화
여러 채널에서 판매하는 경우 재고 동기화가 핵심입니다. A 채널에서 판매가 일어나면 B, C 채널의 재고도 즉시 감소해야 합니다. 그렇지 않으면 재고가 없는데 주문이 들어오는 오버셀링이 발생합니다.
중앙 재고 관리 시스템을 두고, 각 채널의 재고를 이 시스템과 동기화합니다:
1. 어떤 채널에서든 주문이 발생하면 중앙 재고에서 차감
2. 중앙 재고가 변경되면 모든 채널의 재고 업데이트
3. 재고 수불이 발생하면(입고, 반품 등) 중앙 재고 조정
Make 시나리오 예시 (주문 발생 시):
Shopify New Order → Get Order Items → Iterator(각 상품별) → Data Store Update(재고 차감) → HTTP Module(스마트스토어 재고 업데이트) → HTTP Module(쿠팡 재고 업데이트)
Data Store를 중앙 재고 데이터베이스로 사용하면 Make 내에서 모든 재고 관리가 가능합니다. 더 복잡한 경우 외부 데이터베이스(MySQL, MongoDB 등)와 연동합니다.
재고 부족 알림
재고가 특정 수준 이하로 떨어지면 자동으로 알림을 보내는 시나리오입니다. 안전 재고(Safety Stock) 수준을 설정하고, 그 이하로 떨어지면 담당자에게 알립니다.
시나리오 구조:
Schedule(1시간마다) → Data Store Search(재고 < 안전재고) → Iterator → Slack/Email(재고 부족 알림)
알림에는 상품명, 현재 재고, 안전 재고, 일평균 판매량, 예상 소진일 등의 정보를 포함합니다. 담당자는 이 정보를 보고 발주 결정을 내립니다.
자동 발주 시스템
한 단계 더 나아가서 발주까지 자동화할 수 있습니다. 재고가 재주문점(Reorder Point) 이하로 떨어지면 자동으로 발주 요청을 생성합니다.
재주문점 계산: (일평균 판매량 × 리드타임) + 안전재고
예를 들어 일평균 10개 판매, 리드타임 7일, 안전재고 30개라면 재주문점은 100개입니다. 재고가 100개 이하로 떨어지면 발주를 시작합니다.
발주 수량 계산: 최대 재고 – 현재 재고
최대 재고를 200개로 설정했다면, 현재 재고가 95개일 때 105개를 발주합니다.
시나리오 구조:
Schedule(매일 오전) → Data Store Search(재고 <= 재주문점) → Iterator → 발주 수량 계산 → Google Sheets(발주 요청서 추가) → Email/Slack(발주 요청 알림)
완전 자동 발주가 부담스럽다면, 발주 “제안”만 자동으로 생성하고 담당자가 승인하면 발주가 나가도록 할 수 있습니다.
고객 커뮤니케이션 자동화
주문 확인 및 배송 알림
기본적인 트랜잭션 알림은 대부분의 쇼핑몰 플랫폼에서 제공합니다. 하지만 Make로 직접 구축하면 더 세밀한 커스터마이징이 가능합니다.
주문 확인 알림에 다음 내용을 추가할 수 있습니다:
– 예상 배송일(상품 재고 상황과 배송사 데이터 기반)
– 관련 상품 추천(크로스셀)
– 자주 묻는 질문 링크(교환/반품, 배송 조회 등)
– 담당자 연락처(문제 발생 시)
배송 알림도 단순히 “배송 시작”이 아니라 상세한 정보를 포함합니다:
– 택배사와 운송장 번호
– 실시간 배송 추적 링크
– 예상 도착 시간
– 부재 시 대응 방법
배송 완료 후 후속 시퀀스
배송 완료는 끝이 아니라 시작입니다. 배송 완료 후 적절한 타이밍에 후속 메시지를 보내면 고객 만족도와 재구매율을 높일 수 있습니다.
배송 완료 당일: “상품 잘 받으셨나요? 문제가 있으면 언제든 연락주세요.”
배송 완료 후 3일: 사용 가이드나 팁 발송. “이렇게 사용하면 더 좋아요!”
배송 완료 후 7일: 리뷰 요청. “후기를 남겨주시면 적립금을 드려요.”
배송 완료 후 30일: 재구매 유도. “다시 만나요! 재구매 고객 특별 할인”
각 메시지의 발송 시점과 내용은 상품 특성에 따라 조정합니다. 소모품은 예상 소진 시점에 맞춰서, 의류는 계절 변화에 맞춰서 메시지를 보냅니다.
고객 문의 자동 분류 및 라우팅
고객 문의가 들어오면 내용을 분석해서 적절한 담당자에게 자동으로 전달합니다.
문의 유형 분류:
– 배송 관련: “배송”, “언제”, “도착”, “추적” 등의 키워드
– 교환/반품: “교환”, “반품”, “환불”, “사이즈” 등의 키워드
– 상품 문의: “재고”, “입고”, “색상”, “소재” 등의 키워드
– 불만/클레임: “불만”, “실망”, “화나”, “사기” 등의 키워드
시나리오 구조:
Email/Form Webhook → Text Parser(키워드 분석) → Router
– Route 1(배송 관련): Slack #cs-delivery 채널로 전달
– Route 2(교환/반품): Slack #cs-return 채널로 전달
– Route 3(상품 문의): Slack #cs-product 채널로 전달
– Route 4(불만/클레임): 긴급 알림 + 관리자 DM
더 정교한 분류를 원하면 ChatGPT API를 활용할 수 있습니다. 문의 내용을 ChatGPT에 보내서 유형과 긴급도를 분류하고, 자동 응답 초안까지 생성하게 할 수 있습니다.
카카오 알림톡 연동
한국 쇼핑몰에서 카카오 알림톡은 필수입니다. 이메일보다 개봉률이 높고, 실시간으로 확인하는 고객이 많습니다.
카카오 알림톡은 NHN Cloud, 인포뱅크, 비즈엠 등의 서비스를 통해 API로 발송할 수 있습니다. Make의 HTTP 모듈로 이 API를 호출하면 됩니다.
알림톡 발송 시나리오:
트리거(주문/배송 등) → HTTP Module(알림톡 API 호출)
HTTP 설정 예시(NHN Cloud 기준):
– Method: POST
– URL: https://api-alimtalk.cloud.toast.com/alimtalk/v2.2/appkeys/{appKey}/messages
– Headers: Content-Type: application/json, X-Secret-Key: {secretKey}
– Body: JSON 형식의 발송 데이터(수신자, 템플릿 코드, 치환 변수 등)
알림톡 템플릿은 미리 카카오 검수를 받아야 합니다. 검수 통과된 템플릿 코드를 API 호출 시 사용합니다.
마케팅 자동화
고객 세그먼트 기반 마케팅
모든 고객에게 같은 마케팅 메시지를 보내는 것은 비효율적입니다. 고객을 세그먼트로 나누고 각 세그먼트에 맞는 메시지를 보내야 효과적입니다.
기본 세그먼트 예시:
– 신규 고객: 첫 구매 후 30일 이내
– 활성 고객: 최근 90일 내 2회 이상 구매
– 휴면 고객: 마지막 구매 후 90일 이상 경과
– VIP 고객: 누적 구매 금액 상위 10%
– 이탈 위험 고객: 구매 빈도 감소 추세
Make로 고객 데이터를 분석하고 세그먼트를 자동 업데이트합니다:
Schedule(매일) → Database/Sheets(고객 데이터 조회) → Aggregate(구매 통계 계산) → Router(세그먼트 분류) → Data Store/Sheets(세그먼트 태그 업데이트)
세그먼트 정보를 이메일 마케팅 도구(Mailchimp, Stibee 등)와 동기화하면 세그먼트별 타겟 캠페인이 가능합니다.
자동 쿠폰 발급
특정 조건을 만족하는 고객에게 자동으로 쿠폰을 발급합니다.
조건 예시:
– 첫 구매 고객: 다음 구매 시 10% 할인
– 3회 구매 달성: 감사 쿠폰 15% 할인
– 생일: 생일 축하 쿠폰 20% 할인
– 휴면 30일: 복귀 유도 쿠폰 25% 할인
– 리뷰 작성: 감사 쿠폰 5% 할인
시나리오 예시(첫 구매 고객):
New Order Webhook → Filter(첫 구매 여부 확인) → Generate Coupon Code → Send Coupon Email → Data Store(쿠폰 발급 기록)
쿠폰 코드는 고유해야 합니다. Make의 랜덤 함수나 UUID를 사용해서 생성하고, 사용 여부를 추적합니다. 쇼핑몰 플랫폼의 쿠폰 API가 있다면 직접 연동해서 시스템에 쿠폰을 등록합니다.
장바구니 이탈 복구
앞서 이메일 자동화에서 다뤘듯이, 장바구니 이탈 복구는 가장 효과적인 마케팅 자동화 중 하나입니다. 쇼핑몰 특성에 맞게 타이밍과 메시지를 조정합니다.
일반적인 타이밍:
– 1차 알림: 이탈 후 1시간 (단순 리마인더)
– 2차 알림: 이탈 후 24시간 (긴급성 강조 “품절 임박”)
– 3차 알림: 이탈 후 72시간 (할인 제안)
할인 제안 시 주의할 점: 모든 이탈 고객에게 할인을 제공하면 “기다리면 할인받을 수 있다”는 학습 효과가 생깁니다. 첫 구매 고객이나 오랜만에 방문한 고객에게만 할인을 제공하고, 활성 고객에게는 리마인더만 보내는 식으로 차별화합니다.
분석 및 리포팅 자동화
일일 매출 리포트
매일 아침 전날의 매출 데이터를 요약해서 이메일이나 Slack으로 받아봅니다.
리포트 내용:
– 전일 매출액, 주문 건수, 평균 주문 금액
– 전주 동일 대비 증감률
– 채널별 매출 비중
– 베스트셀러 상품 TOP 5
– 재고 부족 경고 상품
시나리오 구조:
Schedule(매일 오전 9시) → 각 채널 API 호출(전일 데이터) → Aggregate(통계 계산) → Format Report → Slack/Email 발송
더 시각적인 리포트를 원하면 Google Data Studio(Looker Studio)와 연동합니다. Make가 데이터를 Google Sheets에 기록하고, Data Studio가 이를 시각화해서 대시보드를 만듭니다.
주간/월간 종합 분석
주간이나 월간 단위로 더 심층적인 분석 리포트를 생성합니다.
분석 항목:
– 매출 추이 그래프
– 고객 코호트 분석(월별 신규 고객의 재구매율)
– 상품 카테고리별 성과
– 마케팅 채널별 ROI
– 고객 생애 가치(LTV) 추이
복잡한 분석은 Make만으로는 한계가 있습니다. Make는 데이터 수집과 전처리를 담당하고, 실제 분석은 Google Sheets의 피벗 테이블이나 Python 스크립트, 또는 BI 도구에서 수행합니다.
이상 징후 알림
평소와 다른 패턴이 감지되면 즉시 알림을 보냅니다.
모니터링 항목:
– 매출이 전주 대비 30% 이상 감소
– 특정 상품 반품률 급증
– 사이트 오류로 추정되는 주문 실패 급증
– 고객 문의량 평소 대비 2배 이상
시나리오에서 현재 수치와 기준값(이동 평균 등)을 비교하고, 임계값을 넘으면 알림을 보냅니다. 담당자가 빠르게 대응해서 문제를 최소화합니다.
플랫폼별 연동 가이드
Shopify 연동
Shopify는 Make와 공식 연동을 지원합니다. Make의 Shopify 모듈을 사용하면 별도 개발 없이 연동이 가능합니다.
주요 트리거:
– Watch Orders: 새 주문 감지
– Watch Products: 상품 변경 감지
– Watch Customers: 고객 정보 변경 감지
주요 액션:
– Create Order: 주문 생성
– Update Order: 주문 정보 업데이트
– Create Product: 상품 등록
– Update Inventory: 재고 업데이트
WooCommerce 연동
WooCommerce도 Make 공식 모듈을 제공합니다. WordPress 플러그인 형태로 설치된 WooCommerce와 연동합니다.
연동 설정:
1. WooCommerce → 설정 → 고급 → REST API에서 API 키 생성
2. Make에서 WooCommerce 연결 생성, API 키 입력
3. 시나리오에서 WooCommerce 모듈 사용
스마트스토어 연동
네이버 스마트스토어는 Make 공식 모듈이 없습니다. 커머스 API를 HTTP 모듈로 직접 호출해야 합니다.
연동 준비:
1. 네이버 개발자 센터에서 애플리케이션 등록
2. 커머스 API 사용 신청 및 승인
3. 클라이언트 ID, 시크릿 발급
인증 방식: OAuth 2.0
Make의 HTTP OAuth 2.0 연결을 설정하고, 네이버 커머스 API 엔드포인트를 호출합니다.
주요 API:
– 주문 목록 조회: GET /v1/pay-order/seller/orders
– 주문 상세 조회: GET /v1/pay-order/seller/orders/{orderId}
– 발송 처리: POST /v1/pay-order/seller/orders/{orderId}/ship
카페24 연동
카페24도 HTTP 모듈로 API 연동합니다.
연동 준비:
1. 카페24 개발자 센터에서 앱 등록
2. 필요한 권한(주문, 상품, 회원 등) 설정
3. 클라이언트 ID, 시크릿 발급
인증 방식: OAuth 2.0
액세스 토큰을 발급받아 API 요청 헤더에 포함합니다.
API 문서: developers.cafe24.com
자동화 구축 베스트 프랙티스
작게 시작하기
처음부터 완벽한 자동화를 구축하려 하지 마세요. 가장 시간이 많이 드는 작업 하나를 선택해서 자동화하고, 안정화된 후 다음 작업으로 넘어갑니다.
추천 시작점:
1. 주문 데이터 통합 (가장 기본적이면서 효과적)
2. 주문/배송 알림 자동화
3. 재고 부족 알림
4. 장바구니 이탈 복구
에러 처리 철저히
쇼핑몰 자동화는 실패하면 매출에 직접적인 영향이 있습니다. 모든 시나리오에 에러 핸들러를 추가하고, 에러 발생 시 즉시 알림을 받도록 설정합니다.
특히 결제, 재고, 배송 관련 자동화는 실패 시 대체 프로세스(폴백)를 마련해둡니다. 자동화가 실패해도 수동으로 처리할 수 있어야 합니다.
테스트 환경 활용
실제 주문 데이터로 테스트하지 마세요. 테스트용 쇼핑몰 환경을 구축하거나, 개발/스테이징 API를 사용합니다. Shopify, WooCommerce 등은 테스트 모드를 제공합니다.
테스트 시나리오를 별도로 만들어서 실제 시나리오에 영향 없이 테스트합니다. 검증이 끝나면 실제 시나리오에 적용합니다.
문서화
각 시나리오의 목적, 트리거 조건, 예상 동작, 에러 처리 방법을 문서화합니다. 담당자가 바뀌어도 자동화를 유지보수할 수 있어야 합니다.
Make의 시나리오 메모 기능을 활용하고, 별도의 문서(Notion, Google Docs 등)에 전체 자동화 아키텍처를 정리해둡니다.
마무리: 자동화로 성장에 집중하기
쇼핑몰 자동화의 궁극적인 목표는 운영자가 반복 업무에서 벗어나 비즈니스 성장에 집중하는 것입니다. 재고 확인, 주문 처리, 알림 발송 같은 일은 기계가 더 정확하고 빠르게 할 수 있습니다. 사람은 상품 기획, 고객 경험 개선, 마케팅 전략처럼 창의성과 판단이 필요한 일에 시간을 써야 합니다.
모든 것을 한 번에 자동화할 필요는 없습니다. 오늘 가장 불편한 작업 하나를 자동화해보세요. 그 작은 성공이 쌓이면 결국 전체 쇼핑몰 운영이 자동화됩니다. 자동화가 일하는 동안 당신은 비즈니스를 성장시키세요.
노코드 자동화 플랫폼을 선택할 때 가장 많이 비교되는 두 서비스가 Make(구 Integromat)와 Zapier입니다. 둘 다 수천 개의 앱을 연결하고 자동화할 수 있지만, 철학과 접근 방식에 상당한 차이가 있습니다. 어떤 플랫폼이 더 좋다고 단정짓기보다는, 각자의 상황과 필요에 맞는 선택을 하는 것이 중요합니다. 이 글에서 두 플랫폼을 심층 비교해보겠습니다.
기본 철학과 인터페이스
Zapier: 단순함의 미학
Zapier는 2011년에 출시되어 노코드 자동화 시장을 개척한 선구자입니다. Zapier의 핵심 철학은 “단순함”입니다. 프로그래밍 지식이 전혀 없는 사람도 몇 분 만에 자동화를 만들 수 있도록 설계되었습니다.
Zapier에서 자동화는 “Zap”이라고 부릅니다. 각 Zap은 하나의 트리거(Trigger)와 하나 이상의 액션(Action)으로 구성됩니다. 트리거는 자동화를 시작하는 이벤트이고, 액션은 그 결과로 수행되는 작업입니다. 예를 들어 “Gmail에 새 이메일이 오면(트리거) Slack에 메시지를 보낸다(액션)”는 식입니다.
인터페이스는 리스트 형태로, 위에서 아래로 단계가 순차적으로 나열됩니다. 각 단계를 클릭하면 설정 패널이 열리고, 앱 선택 → 이벤트 선택 → 계정 연결 → 필드 매핑 순서로 진행합니다. 직관적이고 학습 곡선이 완만해서 처음 접하는 사람도 쉽게 시작할 수 있습니다.
Make: 유연성의 극대화
Make(구 Integromat)는 2012년 체코에서 시작되었습니다. Make의 핵심 철학은 “유연성”입니다. 더 복잡한 로직도 구현할 수 있도록 설계되었고, 시각적 프로그래밍에 가까운 경험을 제공합니다.
Make에서 자동화는 “Scenario”라고 부릅니다. 각 시나리오는 모듈(Module)들로 구성되며, 모듈들은 연결선으로 이어집니다. 특징적인 것은 이 연결이 단순히 순차적이지 않다는 점입니다. 분기(Router), 반복(Iterator), 집계(Aggregator), 오류 처리(Error Handler) 등 다양한 흐름 제어가 가능합니다.
인터페이스는 캔버스 형태로, 모듈들을 자유롭게 배치하고 연결합니다. 마치 마인드맵이나 순서도를 그리는 것과 비슷합니다. 전체 흐름을 한눈에 볼 수 있어서 복잡한 로직도 시각적으로 이해하기 쉽습니다. 다만 처음에는 인터페이스에 익숙해지는 데 시간이 필요합니다.
기능 비교: 핵심 차이점
분기와 조건 처리
Zapier: Path라는 기능으로 조건 분기를 지원합니다. IF-THEN 조건을 설정해서 조건에 따라 다른 액션을 실행할 수 있습니다. 다만 Path는 유료 플랜에서만 사용 가능하고, 복잡한 분기는 구현하기 어렵습니다. 한 Zap 안에서 3개 이상의 분기를 만들면 관리가 복잡해집니다.
Make: Router 모듈로 무제한 분기가 가능합니다. 각 경로(Route)에 Filter를 설정해서 조건을 정의합니다. 여러 조건이 동시에 참인 경우 여러 경로가 동시에 실행되도록 할 수도 있고(병렬 처리), 첫 번째로 참인 경로만 실행되도록 할 수도 있습니다(Fallback). 복잡한 비즈니스 로직도 깔끔하게 구현할 수 있습니다.
반복과 배열 처리
Zapier: 배열 데이터를 처리할 때 제약이 있습니다. Looping by Zapier 앱을 사용하면 반복 처리가 가능하지만, 한 번에 처리할 수 있는 항목 수에 제한이 있습니다. 배열의 각 항목을 개별적으로 처리해야 할 때 여러 Zap을 조합해야 하는 경우가 있습니다.
Make: Iterator 모듈이 배열을 개별 항목으로 분해하고, Aggregator 모듈이 개별 항목들을 다시 배열로 합칩니다. 이 두 모듈을 조합하면 배열 데이터를 자유롭게 가공할 수 있습니다. 예를 들어 100개의 주문 데이터를 받아서 각각 처리한 후 결과를 다시 하나의 배열로 모으는 것이 자연스럽게 가능합니다.
에러 처리
Zapier: 에러가 발생하면 해당 실행이 실패로 기록되고, 이메일로 알림이 옵니다. 자동 재시도 기능이 있어서 일시적인 오류는 자동으로 복구됩니다. 하지만 에러 발생 시 대체 로직을 실행하는 등의 세밀한 제어는 어렵습니다.
Make: 각 모듈에 Error Handler를 추가할 수 있습니다. 에러가 발생하면 대체 경로를 실행하거나(Resume), 나중에 재시도하거나(Break), 무시하거나(Ignore), 롤백하거나(Rollback) 할 수 있습니다. 에러 유형에 따라 다른 처리를 하는 것도 가능합니다. 안정적인 자동화를 구축하는 데 큰 장점입니다.
데이터 변환과 함수
Zapier: Formatter 앱을 통해 텍스트, 숫자, 날짜 등의 변환이 가능합니다. 자주 사용되는 변환 작업은 대부분 지원합니다. 하지만 복잡한 변환이나 커스텀 로직은 Code 액션(JavaScript/Python)을 사용해야 합니다.
Make: 150개 이상의 내장 함수를 제공합니다. 텍스트, 숫자, 날짜, 배열, 객체 등 다양한 데이터 타입을 다루는 함수가 있습니다. 함수들을 조합해서 복잡한 변환도 코드 없이 구현할 수 있습니다. 예를 들어 {{lower(trim(split(1.email; “@”; 1)))}}처럼 함수를 중첩해서 사용할 수 있습니다.
HTTP 요청과 API 통합
Zapier: Webhooks by Zapier 앱으로 HTTP 요청을 보낼 수 있습니다. GET, POST 등 기본적인 메서드를 지원하고, 헤더와 바디를 설정할 수 있습니다. 공식 앱이 없는 서비스와 연동할 때 유용합니다.
Make: HTTP 모듈이 더 강력합니다. 모든 HTTP 메서드를 지원하고, 요청/응답 파싱, OAuth 2.0 인증, 인증서 관리, 프록시 설정 등 고급 기능을 제공합니다. GraphQL API도 지원합니다. API 문서만 있으면 어떤 서비스든 연동할 수 있습니다.
연동 앱 비교
앱 수량
Zapier: 6,000개 이상의 앱을 지원합니다(2024년 기준). 노코드 자동화 플랫폼 중 가장 많은 앱을 지원합니다. 대부분의 유명 SaaS 서비스는 Zapier 연동을 지원합니다. 일부 서비스는 Zapier 연동만 제공하는 경우도 있습니다.
Make: 1,500개 이상의 앱을 지원합니다. Zapier보다 적지만, 주요 서비스는 대부분 지원합니다. 그리고 HTTP 모듈이 강력해서 공식 앱이 없는 서비스도 API를 통해 연동할 수 있습니다.
앱 품질
앱 수량만큼 중요한 것이 앱 품질입니다. 각 앱이 제공하는 트리거와 액션의 종류, 그리고 상세 옵션에서 차이가 납니다.
Zapier: 앱마다 품질 차이가 있습니다. 인기 앱(Google, Slack, Notion 등)은 다양한 트리거와 액션을 제공하지만, 마이너한 앱은 기본적인 기능만 제공하는 경우가 많습니다.
Make: 지원하는 앱 수는 적지만, 각 앱의 기능이 더 상세합니다. 예를 들어 Google Sheets 앱을 비교하면, Make는 특정 셀 범위 읽기, 여러 행 한 번에 추가, 셀 서식 지정 등 더 세밀한 옵션을 제공합니다.
한국 서비스 지원
국내 서비스와의 연동은 두 플랫폼 모두 제한적입니다. 네이버, 카카오, 배달의민족 등 국내 서비스는 공식 앱이 없습니다. 하지만 HTTP 모듈/Webhook을 활용하면 API를 제공하는 서비스와는 연동이 가능합니다.
카카오 알림톡, NHN 문자 발송 등은 API 문서를 참고해서 HTTP 요청으로 구현할 수 있습니다. Make의 HTTP 모듈이 더 유연해서 복잡한 인증 방식도 처리하기 쉽습니다.
가격 비교
Zapier 가격 정책
Free: 월 100 Tasks, 5개 Zaps, 단일 단계 Zap만 가능 Starter: 월 $29.99(연간 결제 시 $19.99), 750 Tasks, 20개 Zaps Professional: 월 $73.50(연간 결제 시 $49), 2,000 Tasks, 무제한 Zaps, Paths, Formatter Team: 월 $598.50(연간 결제 시 $399), 50,000 Tasks, 무제한 사용자 Company: 월 $1,198.50(연간 결제 시 $799), 100,000 Tasks, 고급 보안 기능
Zapier의 과금 단위는 “Task”입니다. 하나의 Zap이 실행될 때 각 액션이 하나의 Task로 카운트됩니다. 트리거는 Task로 카운트되지 않습니다. 예를 들어 1개의 트리거와 3개의 액션으로 구성된 Zap이 실행되면 3 Tasks가 소비됩니다.
Make 가격 정책
Free: 월 1,000 Operations, 2개 시나리오, 5분 간격 스케줄 Core: 월 $10.59(연간 결제 시 $9), 10,000 Operations, 무제한 시나리오, 1분 간격 Pro: 월 $18.82(연간 결제 시 $16), 10,000 Operations, 풀 텍스트 검색, 커스텀 변수 Teams: 월 $34.12(연간 결제 시 $29), 10,000 Operations, 팀 협업 기능 Enterprise: 문의 필요, 맞춤형 구성
Make의 과금 단위는 “Operation”입니다. 각 모듈의 실행이 하나의 Operation으로 카운트됩니다. 트리거 모듈도 Operation으로 카운트됩니다. 예를 들어 5개의 모듈로 구성된 시나리오가 실행되면 5 Operations이 소비됩니다.
실제 비용 비교
단순 비교는 어렵지만, 대체로 Make가 더 경제적입니다. 특히 복잡한 자동화에서 차이가 큽니다.
예를 들어 10개의 단계로 구성된 자동화가 하루 100번 실행된다고 가정합니다:
Zapier: 100회 × 9 액션 = 900 Tasks/일 = 27,000 Tasks/월
→ Team 플랜 필요 (월 $399)