구글 워크스페이스

구글 시트 + 구글 태스크 API로 팀별 할 일 리스트 대시보드 구축하기

linchpinist 2025. 7. 17. 15:26

 

목차

팀의 생산성을 측정하려면 먼저 ‘할 일’을 모아야 한다
Google Tasks의 기본 구조 이해와 API 활성화
Apps Script로 Google Tasks 데이터 Google Sheets에 자동 수집하기
시각화 대시보드 구성: 부서별, 기한별, 우선순위별 분석
자동화 확장: 주간 요약 리포트 발송 + 알림 연동
개인의 할 일을 팀의 실행력으로 전환하는 자동화 전략

 

 

팀의 생산성을 측정하려면 먼저 ‘할 일’을 모아야 한다

많은 구성원이 Google Tasks를 개인 일정 관리에 사용하고 있지만,
이 데이터는 팀 단위로 통합하거나 시각화되기 어렵다.
결과적으로 개인은 오늘 해야 할 일을 잘 관리하고 있지만,
관리자는 각 구성원이 어떤 일을 하고 있는지, 어떤 업무가 지연되고 있는지,
또 어떤 업무가 완료되었는지를 체계적으로 파악하기 어렵다.

Google Workspace 환경에서 Google Tasks는 강력한 개인 생산성 도구지만,
이 Tasks 데이터를 Google Sheets로 자동 수집하고, 팀 단위 대시보드로 시각화할 수 있다면
조직 전체의 업무 흐름을 훨씬 효율적으로 운영할 수 있다.

이 글에서는 Google Tasks API + Apps Script + Google Sheets를 연동해
개별 사용자 Tasks를 자동 수집하고,
완료 여부/기한/우선순위 기준으로 팀 단위 할 일 대시보드를 구성하는 방법을 설명한다.

 

 


Google Tasks의 기본 구조 이해와 API 활성화

Google Tasks는 Gmail 또는 Calendar 우측 패널을 통해 사용하는
Google의 기본 할 일 관리 기능이다.
Tasks는 사용자가 직접 할 일(Task)을 추가하고, 완료 체크하며, 기한과 노트를 설정할 수 있다.

Tasks API 주요 개념
개념 설명
Task Lists 사용자당 생성된 Task 목록 단위
Tasks 각 목록에 속한 개별 할 일 항목
Status needsAction(진행 중), completed(완료됨)
Due Date 할 일의 마감일
Notes 업무 설명 또는 메모

Tasks API는 Google Cloud에서 별도로 활성화해야 사용할 수 있으며,
Apps Script에서는 OAuth 인증을 통해 데이터에 접근할 수 있다.

 

 


Apps Script로 Google Tasks 데이터 Google Sheets에 자동 수집하기

1단계: Tasks API 사용 설정
Google Cloud Console 접속 → 새 프로젝트 생성

API 및 서비스 > 라이브러리 > Tasks API 검색 → 사용

OAuth 인증 동의 화면 설정 (내부 사용)

Apps Script에서 Services > Tasks 활성화

2단계: Tasks 데이터 수집 스크립트 예시
javascript
복사
편집
function fetchTasksToSheet() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tasks");
  sheet.clearContents();
  sheet.appendRow(["할 일", "상태", "기한", "설명", "작성자"]);

  const taskLists = Tasks.Tasklists.list().items;

  for (let i = 0; i < taskLists.length; i++) {
    const list = taskLists[i];
    const tasks = Tasks.Tasks.list(list.id).items;

    if (!tasks) continue;

    for (let j = 0; j < tasks.length; j++) {
      const task = tasks[j];
      const title = task.title || "";
      const status = task.status;
      const due = task.due ? new Date(task.due).toLocaleDateString() : "";
      const notes = task.notes || "";

      sheet.appendRow([title, status, due, notes, Session.getActiveUser().getEmail()]);
    }
  }
}


▶ 실행 결과는 시트에 자동 기록되고,
필터링, 정렬, 조건부 서식, 차트 분석에 활용할 수 있는 구조로 전환된다.

 

 

시각화 대시보드 구성: 부서별, 기한별, 우선순위별 분석

Google Sheets로 가져온 Tasks 데이터를 바탕으로
팀 업무 현황을 시각적으로 확인할 수 있는 대시보드를 구성한다.

필수 분석 구성 요소

항목구성 방법
완료율 =COUNTIF(B2:B, "completed") / COUNTA(B2:B)
기한 초과 항목 조건부 서식: =AND(B2="needsAction", C2<TODAY()) → 빨간색 강조
우선 처리 필요 항목 노트 또는 제목에 긴급, 우선 키워드 포함 시 필터
부서/팀별 분류 작성자 이메일 기준으로 구분하거나 Google Groups 기반 분류
 

시각화 예시

  • 스파크라인 차트: 개인별 주간 완료율
  • 파이차트: 완료/미완료 비율
  • 막대그래프: 구성원별 Task 건수
  • 필터보드: 마감일 임박 순 정렬

이 대시보드는 실시간 동기화가 가능하며,
팀장이 업무 분배 상황을 파악하거나, 구성원이 자신의 누락 업무를 확인하는 데 효과적이다.

 

 

 

자동화 확장: 주간 요약 리포트 발송 + 알림 연동

할 일 목록 수집만으로는 충분하지 않다.
실무에서는 다음과 같은 자동화 기능을 함께 구성해야 생산성이 높아진다.

 

 a. 주간 할 일 리포트 자동 이메일 발송

  • 매주 월요일 아침에 개인별 Tasks 요약을 Gmail로 전송
  • 우선순위 항목, 마감 임박 항목 하이라이트
javascript
 
 
function sendWeeklyTaskSummary() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tasks");
  const data = sheet.getDataRange().getValues();
  const email = Session.getActiveUser().getEmail();

  let message = "이번 주 할 일 요약:\n\n";
  for (let i = 1; i < data.length; i++) {
    const [title, status, due, note] = data[i];
    if (status === "needsAction") {
      message += `- ${title} (기한: ${due})\n`;
    }
  }

  MailApp.sendEmail({
    to: email,
    subject: "이번 주 Google Tasks 업무 요약",
    body: message
  });
}

 

b. Google Chat 알림 연동 (Webhook)

  • 마감일 하루 전 자동 알림 발송
  • Tasks 제목, 기한 포함 메시지 전달
  • 팀 채팅방 또는 개인 채널 선택 가능

개인 태스크 데이터를 통합하고 시각화하는 실전 협업 대시보드 자동화 전략

 

개인의 할 일을 팀의 실행력으로 전환하는 자동화 전략

 

Google Tasks는 개인 중심의 도구지만,
그 데이터를 구조화하고 시각화하면 팀 전체의 실행력을 측정하고 개선하는 도구로 확장할 수 있다.
Google Sheets와 Tasks API, Apps Script를 결합하면
별도의 프로젝트 관리 툴 없이도 실시간 할 일 관리 대시보드를 구축할 수 있다.

이 구조는 팀의 크기와 무관하게 적용할 수 있으며,
중소기업, 프로젝트 조직, 비개발 조직에서도 손쉽게 도입 가능하다.
지금까지 각자 따로 관리하던 할 일을 이제 하나의 대시보드로 통합해보자.
그것이 팀 운영의 효율성을 근본적으로 높이는 시작이 될 것이다.