자동화 스케줄이 읽는 시계는 도구마다 다르다 — n8n의 뉴욕과 Zapier의 UTC가 갈리는 5곳
n8n·GitHub Actions·Google Apps Script·Zapier·Make 다섯 도구의 스케줄 트리거가 어느 시계를 읽는지 공식 문서 원문으로 맞대어 봤어요. 손대지 않았을 때의 기본값, 재지정이 걸리는 층, 실행 시각과 표시 시각이 갈리는 자리를 문서 문장 그대로 정리했어요.
AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.
스프레드시트에 데이터 1,000줄 쌓아놓고 카테고리 분류하느라 반나절 날려본 적, 다들 있으시죠?
저도 처음엔 매주 월요일마다 고객 문의 데이터를 손으로 분류하다가 미쳐가는 줄 알았거든요.
그러다 Google Sheets에 Gemini API를 붙여서 자동화한 뒤로는 손이 거의 안 가요. 무료 티어 안에서만 돌리면 추가 비용도 들지 않고요.
오늘은 그 5가지 자동화 패턴을 실제 코드와 함께 공유할게요.
Google Sheets는 Apps Script라는 내장 스크립트 환경을 제공해요. 자바스크립트만 알면 누구나 사용할 수 있거든요.
여기에 Gemini API를 연결하면 시트 함수처럼 AI를 호출할 수 있어요.
설정은 3단계면 끝나요:
=GEMINI(...) 형태로 호출API 키는 Gemini AI 사용법 요금제 가이드에서 발급 방법을 확인하세요.
가장 많이 쓰는 패턴이에요. 고객 문의나 제품 리뷰를 카테고리별로 자동 분류해줘요.
예를 들어 고객 문의 100건이 있으면 "환불 / 배송 / 제품 문제 / 기타"로 자동 분류해요.
핵심 프롬프트는 이래요:
이렇게 하면 응답이 깔끔하게 한 단어로 나와서 시트에 바로 들어가거든요.
비정형 텍스트에서 구조화된 데이터를 뽑아낼 때 유용해요.
예를 들어 명함 사진을 OCR로 텍스트화한 후, AI에게 "이름, 회사, 이메일, 전화번호" 4개 필드로 추출하라고 시키면 돼요.
영수증이나 청구서처럼 양식이 제각각인 문서를 정기적으로 정리해야 한다면 이 패턴이 특히 잘 맞아요. 손으로 옮겨 적을 때 생기는 오타도 함께 줄어들거든요.
긴 회의록이나 고객 리뷰를 한 줄로 요약할 때 써요.
프롬프트 예시: "다음 고객 리뷰를 한 문장으로 요약. 긍정/부정 감정도 함께 표시."
이 패턴은 AI 회의록 자동화 도구 비교에서 다룬 회의록 요약과도 연결돼요.
해외 자료를 일괄 번역할 때 편해요. 여러 행을 묶어서 한 번에 넘기면 한 줄씩 복사해 붙여 넣는 것보다 훨씬 빠르거든요.
DeepL API나 Google Translate API보다 Gemini가 무료 한도가 넉넉해요. 다만 전문 용어가 많은 분야는 DeepL이 더 정확할 수 있어요.
고객 리뷰의 긍정/부정 비율을 자동 집계할 때 강력해요.
주 1회 자동 트리거로 지난주 리뷰를 모아 분석하고, 부정 리뷰만 슬랙으로 알림을 보내도록 묶어두면 쓸모가 커져요. 불만 글을 뒤늦게 발견하는 일이 줄어드니 대응 속도도 자연스럽게 빨라지거든요.
Apps Script 편집기에 이 함수를 붙여 넣으면 돼요.
함수 구조:
함수가 등록되면 시트 셀에 =GEMINI("이 리뷰의 감정을 한 단어로 분류해줘", B2) 처럼 입력하면 끝이에요.
처음 호출 시 권한 승인 창이 뜨는데, 본인 계정 데이터만 접근하니까 안전해요.
Gemini API 무료 티어는 세 가지 축으로 한도가 나뉘어요.
셋 중 하나라도 걸리면 호출이 거절되기 때문에, 시트를 돌리기 전에 어느 한도부터 닿을지 가늠해두면 좋아요. 행이 많고 텍스트가 짧으면 요청 수가 먼저 막히고, 긴 문서를 통째로 넣으면 토큰 쪽이 먼저 막히거든요.
구체적인 수치는 모델마다 다르고 정책도 자주 바뀌니, Google AI Studio의 공식 요금·한도 안내에서 지금 기준을 확인하는 게 정확해요. 개인이 시트 몇백 행을 정리하는 수준이면 무료 티어로 해결되는 경우가 많고, 매일 대량으로 돌릴 계획이라면 유료 플랜을 함께 검토하세요.
한도에 자주 걸린다면 호출 자체를 줄이는 쪽이 답이에요. 이미 처리한 행은 건너뛰도록 조건을 걸고, 비슷한 행은 묶어서 한 번에 보내고, 실패한 호출만 다시 시도하는 구조로 짜면 같은 한도로도 훨씬 많은 데이터를 처리할 수 있어요.
=GEMINI(...) 함수를 그대로 두면 시트 편집할 때마다 재계산돼요. API 한도가 빠르게 소진될 수 있거든요.
해결책: 결과를 받은 후 값으로 변환(복사 → 값으로 붙여넣기)하세요.
AI는 가끔 친절한 설명을 덧붙이려고 해요. "분류: 환불"처럼요. 시트에 "환불"만 들어가야 하니까 "이유 설명 없이 카테고리 이름만 반환" 같은 지시를 명시적으로 넣으세요.
API 호출 실패 시 빈 셀이 되면 다음 자동화가 깨져요. try-catch로 감싸고 실패 시 "ERROR" 같은 기본값을 반환하세요. 실패한 행만 따로 걸러내서 다시 돌릴 수 있으니 처음부터 전부 재실행할 필요도 없어집니다.
고객 문의나 주문 데이터에는 이름, 연락처, 주소가 그대로 들어 있는 경우가 많아요. 분류나 요약에는 그 정보가 필요 없는데도 통째로 API에 넘기게 되기 쉽습니다. 보내기 전에 필요한 열만 골라내고, 식별 정보가 꼭 필요하다면 마스킹한 값으로 바꿔서 넘기세요. 회사 자료라면 사내 보안 정책에서 외부 API 사용이 허용되는지 먼저 확인하는 게 순서고요.
모든 시트 작업에 AI를 붙일 필요는 없어요. 오히려 안 맞는 곳에 억지로 넣으면 손이 더 갑니다.
잘 맞는 쪽은 이런 작업이에요.
반대로 이런 작업은 굳이 AI를 쓸 이유가 없어요.
특히 숫자 계산을 AI에게 맡기는 실수가 잦아요. 언어 모델은 그럴듯한 숫자를 만들어내는 데 능하지, 계산을 보장하지는 않거든요. 계산은 수식으로, 분류와 요약은 AI로 나누는 게 안전합니다.
첫 시도에서 결과가 지저분하게 나오는 이유는 대개 세 가지예요.
첫째, 카테고리 목록을 정하지 않고 "알아서 분류해줘"라고 맡기는 경우입니다. 이렇게 하면 행마다 다른 이름이 튀어나와서 나중에 집계가 안 돼요. 쓸 카테고리를 프롬프트에 직접 나열해두고, "목록에 없으면 기타로 반환"까지 못 박아야 결과가 한 벌로 정리됩니다.
둘째, 처음부터 전체 행에 함수를 걸어버리는 경우예요. 프롬프트가 다듬어지지 않은 상태로 수백 번 호출되면 한도만 태우고 결과는 다시 지워야 합니다. 10행 정도로 먼저 돌려보고 출력이 원하는 모양인지 확인한 뒤 범위를 넓히세요.
셋째, 원본 열에 결과를 덮어쓰는 경우입니다. 결과는 반드시 새 열에 받아두세요. 프롬프트를 고쳐가며 여러 번 돌리게 되는데, 원본이 남아 있어야 언제든 다시 시작할 수 있어요.
복잡해 보이지만 첫 단계는 5분이면 돼요.
작은 자동화 하나가 매주 몇 시간을 돌려줘요. 한번 맛보면 다른 데이터 작업도 다 자동화하고 싶어질 거예요.
처음부터 완벽한 워크플로우를 설계하려 하지 마세요. 가장 자주 반복하는 작업 하나를 골라 열 몇 줄만 돌려보고, 결과가 쓸 만하다면 그때 범위를 넓히는 편이 훨씬 빠릅니다.
지금 당장 시도해 보세요.
Gemini API가 무료 티어를 제공해서 소규모 자료 정리는 무료로 가능해요. 다만 호출 한도는 모델과 정책에 따라 자주 바뀌니 Google AI Studio의 공식 요금 안내에서 지금 기준을 확인하세요.
Apps Script 코드 5줄만 복사해서 붙이면 돼요. 함수 호출은 일반 시트 함수처럼 =GEMINI("정리해줘", A1) 형태로 사용해요.
엑셀은 Power Automate나 Office 스크립트로 비슷하게 구현할 수 있어요. 다만 무료 한도는 Google이 더 넉넉해요.
민감 자료는 마스킹 후 보내거나 사내 LLM을 사용하세요. Gemini 무료 티어는 학습에 활용될 수 있어요.
한 번에 여러 행을 묶어서 호출하면 체감 속도가 확 좋아져요. 배치 크기를 조금씩 늘려가며 한도에 걸리지 않는 선을 찾아보세요.
트리거 메뉴에서 시간 기반 또는 편집 시 자동 실행을 설정할 수 있어요. 매일 아침 9시 자동 분류 같은 작업에 적합해요.