Easy Welfare Lab.

Apps Script 트리거로 자동 실행 만들기

트리거(Trigger)를 걸면 사람이 ▶ 버튼을 누르지 않아도 폼 응답·정해진 시각에 스크립트가 스스로 실행됩니다. if 조건을 더하면 "긴급일 때만 처리" 같은 분기도 만들 수 있습니다.


트리거가 왜 필요할까요?

첫 자동화에서는 우리가 직접 ▶ 실행 버튼을 눌렀습니다. 하지만 진짜 자동화는 사람이 누르지 않아도 알아서 도는 것입니다.

  • 구글 폼에 신청이 들어오면 → 즉시 스크립트 실행
  • 매주 월요일 오전 9시가 되면 → 이번 주 일정 집계
  • 시트가 수정될 때마다 → 자동 정리

이걸 가능하게 하는 것이 트리거(Trigger) 입니다. “이런 일이 생기면 이 함수를 실행해줘”라고 미리 약속을 걸어두는 것입니다.

폼 응답이나 정해진 시각이 트리거가 되어 함수를 실행하고 조건에 따라 분기하는 흐름도
폼 응답·정해진 시각이 '트리거'가 되어 함수를 자동 실행하고, if 조건으로 처리할지 말지를 가릅니다.

트리거의 두 가지 종류

종류 언제 실행 예시
이벤트 트리거 어떤 일이 생길 때 폼 응답 접수, 시트 편집
시간 트리거 정해진 시각마다 매일 아침 8시, 매주 월요일

이벤트 트리거 — 폼 응답이 들어오면 실행

구글 폼 응답이 연결된 시트에서, 새 응답이 들어올 때마다 함수가 실행되게 만들어봅니다.

먼저 실행할 함수를 작성합니다. 편집기에 아래를 붙여넣습니다.

function 응답처리(e) {
  const 시트 = SpreadsheetApp.getActiveSheet();
  const 마지막행 = 시트.getLastRow();
  시트.getRange(마지막행, 10).setValue('접수됨 · ' + new Date());
}

새 응답이 들어오면, 그 행의 10번째 칸(J열)에 “접수됨”과 시각을 적는 코드입니다. 이제 이 함수를 폼 응답 트리거 에 연결합니다.

  1. 편집기 왼쪽 메뉴에서 시계 모양(트리거) 아이콘을 클릭합니다.

  2. 오른쪽 아래 + 트리거 추가 를 누릅니다.

  3. 설정을 고릅니다.

    • 실행할 함수: 응답처리
    • 이벤트 소스: 스프레드시트에서
    • 이벤트 유형: 양식 제출 시
  4. 저장 을 누르고 권한을 승인합니다.

  5. 연결된 구글 폼에 테스트 응답을 보내보세요. 시트에 새 행이 생기면서 J열에 “접수됨”이 자동으로 찍힙니다.


조건 분기 — “특정 경우에만” 처리하기

모든 응답을 똑같이 처리하는 대신, 조건에 맞을 때만 다르게 처리하고 싶을 때가 많습니다.

  • 긴급도가 “긴급”일 때만 별도 표시
  • 특정 지역 주민만 따로 분류

if 한 줄이면 됩니다. 앞 함수를 이렇게 고쳐봅니다.

function 응답처리(e) {
  const 시트 = SpreadsheetApp.getActiveSheet();
  const 마지막행 = 시트.getLastRow();
  const 긴급도 = 시트.getRange(마지막행, 3).getValue(); // C열에 긴급도가 있다고 가정

  if (긴급도 === '긴급') {
    시트.getRange(마지막행, 10).setValue('🔴 긴급 — 즉시 확인');
  } else {
    시트.getRange(마지막행, 10).setValue('접수됨');
  }
}

C열 값이 “긴급”이면 빨간 표시를, 아니면 그냥 “접수됨”을 적습니다. 자기 시트의 열 위치(여기선 3 = C열, 10 = J열)에 맞춰 숫자만 바꾸면 됩니다.


시간 트리거 — 매주 월요일에 자동 실행

정해진 시각마다 실행하려면 시간 트리거를 씁니다.

  1. 실행할 함수(예: 주간 집계 함수)를 먼저 작성해둡니다.

  2. 트리거 추가 에서 이벤트 소스를 시간 기반 으로 고릅니다.

  3. 트리거 유형: 주 단위 타이머 → 요일 월요일, 시간 오전 8~9시 선택.

  4. 저장하면 매주 월요일 그 시간대에 함수가 자동으로 돕니다. (정확히 9시 0분이 아니라 그 시간대 안에서 실행됩니다.)


다음 단계

트리거와 조건 분기를 익혔다면, 다음 스킬에서 자동 이메일 발송을 배워 “긴급 신청이 들어오면 담당자에게 즉시 메일” 같은 알림 자동화를 완성해보세요.