앱스크립트는 구글이 제공하는 서버리스 자동화 도구다. Next.js 앱을 새로 짓는 바이브코딩과 달리, 이미 쓰고 있는 구글 스프레드시트·문서·지메일·드라이브를 그대로 연결하고 붙여서 자동화 라인을 만드는 방식이다.
이 글은 바이브코딩이 뜨거운 지금, 왜 1인 운영자가 앱스크립트를 먼저 배워야 하는지, OAuth 인증이 어떻게 모든 구글 서비스를 글루해 주는지, 그리고 실전 예제 한 개로 어떻게 시작할 수 있는지를 정리한다.
바이브코딩이 인기지만 앱스크립트가 숨은 강자다
요즘 누구나 Cursor와 Claude로 Next.js 앱을 만든다. 그러나 앱을 만드는 것과 앱을 운영하는 것은 다른 문제다. VPS 요금, 도메인, SSL, DB 백업, Nginx 설정 같은 운영 비용이 끝없이 쌓인다.
앱스크립트는 이 운영 부담이 0에 가깝다. 실행 환경이 구글 인프라 안에 있고, 코드도 구글 서버에서 돌며, 인증은 본인의 구글 계정 권한을 그대로 상속한다. 1인 운영자가 “혼자 돌리는 자동화”를 붙일 때 가장 적은 비용으로 가장 많이 얻는 도구가 여기에 있다.
바이브코딩과 앱스크립트는 역할이 다르다
두 접근은 경쟁이 아니라 역할 분담 관계다. 외부 고객이 로그인해서 쓰는 SaaS, 결제, 복잡한 UI는 바이브코딩이 맞다. 반대로 내부 운영 자동화, 리포트, 알림, 콘텐츠 발행 파이프라인은 앱스크립트가 이긴다.
운영 비용을 거의 0원으로 만든다
앱스크립트는 무료 지메일 계정에서도 동작하고, 하루 수십 번의 실행과 수 MB 수준의 API 호출은 무료 할당량 안에서 충분히 처리된다. 별도 서버비, 모니터링 도구, 장애 알림 채널이 필요 없다는 점이 바이브코딩과 결정적으로 다른 지점이다.
앱스크립트가 가진 3가지 결정적 강점
앱스크립트의 본질은 “구글 서비스를 글루(glue)하는 언어”라는 점이다. 세 가지 강점이 이 정체성을 만든다.
강점 1 – OAuth 인증이 사실상 자동이다
일반적인 외부 자동화 도구는 각 서비스마다 API 키를 발급받고 토큰을 관리해야 한다. 앱스크립트는 스크립트가 실행되는 구글 계정의 권한을 그대로 사용하므로, 최초 실행 시 동의 화면 한 번만 통과하면 이후 모든 호출이 인증된 상태로 나간다.
강점 2 – 서비스 간 연결이 한 줄 코드로 끝난다
SpreadsheetApp, DocumentApp, GmailApp, DriveApp, CalendarApp 같은 내장 서비스가 전역 객체로 이미 노출되어 있다. 별도 SDK 설치, 인증 설정, 환경 변수 관리가 필요 없이 SpreadsheetApp.getActiveSheet() 한 줄로 시트를 읽고, GmailApp.sendEmail() 한 줄로 메일을 보낸다.
OAuth 인증 한 번으로 구글 서비스를 글루하는 법
앱스크립트의 가장 강력한 부분은 인증 구조가 단순하다는 점이다. 개발자는 토큰 저장소, 리프레시 로직, 스코프 관리 같은 번거로운 작업을 거의 건드리지 않는다.

인증이 작동하는 원리
스크립트 파일 상단의 주석이나 appsscript.json에 사용할 스코프를 선언하면, 최초 실행 시 사용자에게 동의 화면이 뜨고, 승인 후에는 해당 스크립트가 그 구글 계정의 권한으로 영구 실행된다. 내가 내 계정에 대해 허가를 주는 구조라서 외부 키 관리가 필요 없다.
외부 API는 스크립트 속성에 따로 저장한다
Claude나 OpenAI처럼 구글 외부 API 키가 필요한 경우에는 PropertiesService의 스크립트 속성에 저장한다. 이렇게 하면 코드에는 키가 노출되지 않고, 협업자에게 코드를 공유해도 안전하다. 공식 가이드는 Google Apps Script Properties 문서를 참고하면 정확하다.
실전 예제 – 스프레드시트 편집하면 메일이 자동 발송되는 구조
앱스크립트의 진짜 힘은 코드로 설명하는 것보다 실제 한 번 돌려 보는 것이 빠르다. 가장 작은 단위의 글루 예제를 보면 감이 온다.
시나리오 – 스프레드시트 A열에 고객 이메일, B열에 발송 여부 체크박스. 체크박스를 켜면 해당 이메일로 자동 발송되고 C열에 발송 시각이 기록된다.
코드 구조
- onEdit(e) 트리거 – 시트가 수정될 때마다 자동 실행
- 편집된 셀이 B열 체크박스인지 확인
- 같은 행의 A열 이메일 주소 읽기
- GmailApp.sendEmail로 메일 발송
- 같은 행 C열에 현재 시각 기록
이 전체 로직이 앱스크립트로 작성하면 20줄이 채 되지 않는다. 동일한 기능을 바이브코딩으로 Next.js 앱으로 만들면 프로젝트 세팅부터 배포까지 최소 반나절이 걸린다. 스프레드시트 편집을 트리거로 삼는 구조는 바이브코딩으로는 오히려 재현하기 까다롭다.
앱스크립트를 언제 쓰고 언제 쓰지 말아야 하는가
모든 도구가 그렇듯 앱스크립트도 만능은 아니다. 쓰임새의 경계를 이해하는 것이 도구를 오래 쓰는 비결이다.
앱스크립트가 이기는 경우
- 구글 생태계 안에서 도는 자동화 (시트·문서·지메일·드라이브·캘린더 조합)
- 외부 UI가 필요 없는 내부 운영 스크립트
- 1인 또는 소규모 팀의 반복 작업 자동화
- 콘텐츠 발행 파이프라인의 백엔드 역할
반대로 복잡한 UI가 필요하거나, 동시에 수백 명이 접속하는 서비스거나, 실시간 성능이 중요한 경우에는 바이브코딩으로 Next.js 앱을 짜는 것이 맞다. 앱스크립트는 하루 실행 시간 한도 같은 플랫폼 제약이 있어 트래픽 많은 서비스에는 부적합하다.
결론은 단순하다. 바이브코딩이 “앱을 짓는 망치”라면 앱스크립트는 “이미 있는 구글 집을 글루로 이어 붙이는 본드”다. 두 도구를 구분해서 쓰는 1인 운영자가 결국 가장 효율적인 자동화 체계를 갖게 된다.
내부 링크: 닥터모두의 콘텐츠 자동화 구축 사례
외부 참고: Google Apps Script 공식 문서
내부 링크: 앱스크립트 SEO 자동화 7단계 워크플로우 (바이브코딩보다 나은 이유)
함께 보면 좋은 의사 운영 사이트
교육, 개원 준비, 홈페이지 제작, 의사 커뮤니티까지 운영에 도움이 되는 사이트를 모았습니다.
-
의사를 위한 통증교육
doctormodu.com → -
의사를 위한 모든 교육
academy.doctormodu.com → -
개원 전 필수패키지
감잡, 통증, 피부, IVNT 모든 족보모음
doctornote.kr → -
의사를 위한 홈페이지 제작
doctorbrand.kr → -
의사들을 위한 소통공간
doctorlounge.kr →