요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

오늘날 빠르게 변화하는 업무 환경에 따라 효율성을 극대화하고 반복 작업을 줄이는 자동화가 점점 더 중요해지고 있습니다. 특히, 개발자와 비개발자 모두 쉽게 접근할 수 있는 도구를 활용한 자동화는 생산성을 크게 올려줍니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

챗GPT API X 구글 앱스 스크립트로 업무 자동화하기

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

오늘날 빠르게 변화하는 업무 환경에 따라 효율성을 극대화하고 반복 작업을 줄이는 자동화가 점점 더 중요해지고 있습니다. 특히, 개발자와 비개발자 모두 쉽게 접근할 수 있는 도구를 활용한 자동화는 생산성을 크게 올려줍니다.

 

한편 자동화와 함께 콘텐츠의 생산과 분석의 관점에서 생성형 AI가 활용되기 시작했습니다. 대표적으로 문맥을 이해하며 이를 바탕으로 부가적인 텍스트 형태의 정보를 생산하는 대규모 언어 모델(LLM) 기술이 떠올랐죠. 이 도구 또한 개발자들이 쉽게 사용할 수준으로 발전했습니다.

 

이런 변화에 맞춰 이번 글에서는 GPT 모델을 사용하는 챗GPT API와 구글 앱스 스크립트(Google Apps Script, 이하 앱스 스크립트)를 결합한 자동화 예제를 다루려고 합니다. 예제에서 사용할 두 가지 기술 모두 비교적 쉽게 구현할 수 있지만, 강력한 자동화 도구입니다. 기업이나 조직, 커뮤니티 등에서 구글이 제공하는 서비스 기반으로 업무를 자동화하는 방법을 소개하겠습니다.

 

챗GPT API

챗GPT API는 개발자가 OpenAI에서 만든 강력한 언어 모델(GPT-4, GPT-4o, GPT-4o mini 등)을 자신의 애플리케이션, 제품 또는 서비스에 통합할 수 있는 클라우드 기반 API 서비스입니다. RESTful API로 HTTP 요청을 통해 OpenAI의 모델과 상호작용하며 텍스트 기반 입력을 전달하고 출력 결과를 받아옵니다.

 

이 API는 OpenAI 개발자 플랫폼을 통해 제공됩니다. 해당 플랫폼에서는 챗GPT API를 비롯한 여러 개발자 도구와 리소스를 함께 제공합니다. API 문서, 샘플 코드, 튜토리얼, 베스트 프랙티스, SDK 등 개발자가 OpenAI의 서비스를 쉽게 이해하고 활용하도록 돕는 다양한 환경이 존재합니다. 플랫폼에서 키를 발급받고, 사용량을 모니터링하며, 다양한 학습 자료로 API를 더 효과적으로 사용할 수 있습니다.

 

OpenAI 개발자 플랫폼 <출처: OpenAI>

 

OpenAI의 AI 모델들은 데이터를 입력받아 인간처럼 자연스러운 텍스트를 이해하고 생성하도록 설계되었습니다. 따라서 챗봇, 콘텐츠 생성, 번역, 요약 등 다양한 자연어 처리(NLP) 애플리케이션에 쓰일 수 있습니다.

 

 

앱스 스크립트

앱스 스크립트는 구글에서 개발한 클라우드 환경에서의 스크립트 언어입니다. 구글 스프레드시트, 구글 문서, 구글 드라이브, 지메일(Gmail)과 같은 구글 워크스페이스(전 G Suite) 앱들의 기능을 확장하고 작업을 자동화하도록 도와줍니다. 자바스크립트 기반으로 동작하며, 구글 서버에서 실행되므로 별도 설치 없이 사용할 수 있습니다.

 

앱스 스크립트의 주요 기능은 다음과 같습니다.

 

  • 이메일 발송, 보고서 생성, 구글 스프레드시트 간 데이터 갱신처럼 자주 반복하는 작업을 자동화할 수 있습니다.
  • 구글 스프레드시트에서 기본 제공하는 함수를 넘어, 특정 계산이나 작업을 수행하는 사용자 정의 함수를 작성할 수 있습니다.
  • 구글 워크스페이스의 앱과 구글 지도, 유튜브, 구글 캘린더 등 다른 구글 서비스, 또는 서드파티 API까지 통합한 강력한 사용자 정의 워크플로를 만들 수 있습니다.
  • 특정 시간이나 이벤트 발생에 맞춰 스크립트가 자동으로 실행되도록 트리거를 설정할 수도 있습니다.
  • 구글 워크스페이스 앱에 추가 기능을 제공하는 사용자 정의 애드온을 만들어 배포할 수 있습니다.

 

즉, 모든 구글 서비스와 상호작용하는 웹 애플리케이션을 구축하고 배포할 수 있습니다.

 

 

챗GPT API와 앱스 스크립트가 만난다면?

그렇다면 이처럼 강력한 챗GPT API와 앱스 스크립트를 결합하면 어떨까요? 구글 스프레드시트, 구글 문서, 지메일 등 업무에 자주 활용하는 구글 워크스페이스 서비스에 강력한 자동화와 AI 기반 기능을 추가할 수 있을 것입니다. OpenAI 모델의 자연어 처리 능력을 구글 워크스페이스 환경에서 직접 활용할 수 있다는 뜻입니다.

 

자동화 예제 알아보기

이 글에서는 다양한 구글의 서비스 가운데 스프레드시트를 활용하려고 합니다. 예제의 작동 방식은 세 단계로 이뤄집니다.

 

1단계. 구글 스프레드시트 문서 및 데이터 준비

구글 드라이브 환경을 사용하는 기업에게 필요한 구글 스프레드시트 문서를 제작합니다. 이번에는 기상청에서 제공한 정보를 토대로 최근 1년간 서울 시내의 최고, 최저 기온 데이터가 담긴 구글 시트를 준비했습니다.

 

구글 스프레드시트: 원본 데이터 <데이터 출처: 기상청, 작가 캡처>

 

2단계. 앱스 스크립트로 OpenAI API에 요청하기

곧바로 앱스 스크립트로 이동하겠습니다. 구글 시트의 확장 프로그램 탭을 눌러 앱스 스크립트를 실행합니다.

 

구글 스프레드시트: 확장 프로그램에서 앱스 스크립트 실행하기 <출처: 작가>

 

이제 구글 스프레드시트에 있는 데이터를 앱스 스크립트로 읽어와야 합니다. 아래 자바스크립트 코드를 활용해 데이터를 불러올 수 있습니다.

 

앱스 스크립트: 구글 스프레드시트의 데이터를 읽어오기 <출처: 작가>
function getWeatherDataAndSendToOpenAI() {
  // 구글 스프레드시트에서 기온 데이터를 가져옵니다.
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('시트1');
  var dataRange = sheet.getDataRange();
  var data = dataRange.getValues();

 

위 코드는 현재 사용 중인 스프레드시트를 가져오는 역할을 합니다. ‘시트1’이라는 이름을 가진 시트에서 데이터가 존재하는 범위를 먼저 가져오죠. 예를 들어, 시트에 A1부터 C10까지 데이터가 있다면, 이를 포함해 데이터 범위가 선택된다는 뜻입니다. 그 다음, getValues() 메서드를 활용해 데이터 범위 내 모든 셀의 값을 2차원 배열 형태로 가져옵니다. 이 배열은 시트의 각 행과 열을 포함하며 첫 번째 행은 배열의 첫 번째 요소로, 두 번째 행은 두 번째 요소로 나타납니다.

 

이렇게 가져온 데이터를 활용해 작업자가 필요한 질문을 추가한 다음, 챗GPT API로 HTTP 요청을 보냅니다. 챗GPT 사용을 위해, 미리 구입한 라이선스를 통해 발급받은 API 키로 인증을 처리해야 합니다. 앱 스크립트에서 외부에 있는 챗GPT API에 요청을 보내고 응답을 받아야 하는데 앱스 스크립트의 UrlFetchApp 함수를 사용합니다. 그 코드는 아래와 같습니다.

 

앱스 스크립트: OpenAI API 호출하고 응답받아오기 <출처: 작가>

 

챗GPT API를 활용하고자 만든 이 코드는 다음 세 가지 작업을 수행합니다.

 

  • 챗GPT API를 호출하기 전에 프롬프트를 준비합니다.
  • 챗GPT API의 설정과 호출: API 키와 요청 옵션을 설정하고, GPT-4 모델에 데이터를 보내기 위해 POST 요청을 보냅니다.
  • 응답 처리: OpenAI의 응답을 받아 JSON 형식으로 변환합니다.

 

3단계. 챗GPT API 응답 결과 활용하기

챗GPT API는 데이터를 분석하고 사용자가 요청한 대로 API 응답을 반환합니다. 앱스 스크립트는 다시 이 응답을 사용하여 원래의 문서를 업데이트하거나 응답 내용을 본문으로 담당자나 부서에 이메일을 보내는 등 작업을 수행합니다.

 

예제에서는 구글 스프레드시트의 새로운 시트에 이 결과를 추가할 수 있게 만들었습니다. 사용한 코드는 아래와 같습니다.

 

// OpenAI 응답을 시트에 출력
  var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Output');
  if (!outputSheet) {
    outputSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Output');
  }
  outputSheet.clear();
  outputSheet.getRange(1, 1).setValue('OpenAI의 분석 결과:');
  outputSheet.getRange(2, 1).setValue(result.choices[0].message.content.trim());

 

코드는 아래 세 가지 작업 수행에 쓰입니다.

 

  • 현재 활성화된 스프레드시트에서 이름이 ‘Output’인 시트를 가져옵니다.
  • getRange(1, 1).setValue() 메서드로 ‘Output’ 시트의 A1 셀에 “OpenAI의 분석 결과:”라는 제목을 입력합니다.
  • getRange(2, 1).setValue() 메서드로 A2 셀에 챗GPT API의 응답 내용을 입력합니다.

 

결과적으로 다음과 같은 새로운 시트가 생성됩니다.

 

구글 스프레드시트: OpenAI API 분석 결과를 앱스 스크립트로 자동 추가하기 <출처: 작가>

 

지금까지 두 가지 도구를 조합하여 구글 워크스페이스 생태계 내에서 자동화된 프로세스를 구현해 보았습니다. 소개한 예제는 기업과 개인이 활용하기 아주 쉬운 자동화 구현 방법 예시입니다. 시트를 수정할 때마다 해당 이벤트에 맞춰 부서의 메일링 리스트로 이메일을 발송하는 sendEmail 기능 등도 활용해도 좋습니다. 이를 활용하면 부서 구성원에게 알림(notification) 형태의 메일을 보내는 것 외에 슬랙 채널로 메시지를 발송할 수도 있습니다.

 

다만 이렇게 구글 앱스 스크립트를 활용하려면 코딩이 필요합니다. 앱스 스크립트 개발 방법과 문법 등은 구글이 만든 공식 사이트에서 도움을 받을 수 있습니다. 만약 앱스 스크립트 개발이 처음이라면, 챗GPT에 샘플 코드를 확보해 달라고 요청한 다음 이를 수정하여 사용할 수도 있습니다. 오늘 소개한 예제의 코드는 깃허브 링크를 참고해 주세요.

 

 

자동화 서비스를 사용할 때 주의할 것은?

이처럼 OpenAI 및 구글 등 외부 업체의 서비스를 사용할 때는 업무 데이터가 어디로 전송되는지 주의해야 합니다. 데이터를 안전하게 처리하기 위한 몇 가지 주의사항을 정리했습니다.

 

첫 번째, OpenAI API로 데이터를 보내면 해당 데이터는 인터넷을 거쳐 OpenAI 서버로 전송되어 처리됩니다. 물론 OpenAI도 보안 조치를 구현하고 있지만, 서버로 전송된 모든 데이터는 기록되거나 서비스 개선에 쓰일 수 있습니다. 이를 충분히 이해하고 업무에 활용하는 것이 중요합니다(설정한 정책에 따라 다를 수 있습니다). 따라서 OpenAI API로는 민감하지 않으며 꼭 필요한 데이터만 보내야 합니다. 예를 들어, 개인 식별 정보, 금융 데이터 또는 독점 정보들은 꼭 필요하지 않다면, 전송하지 않도록 주의해야 합니다. 또한, 데이터를 익명화하거나 집계해 활용하며 위험을 최소화하는 것이 좋습니다.

 

두 번째, 구글과 OpenAI의 개인정보 보호 정책 및 데이터 처리 방식을 숙지해야 합니다. 나아가 이를 신뢰해도 좋을지 점검해야 합니다. 이를 위해서는 서비스가 데이터를 어떻게 사용하거나 저장할 수 있는지에 대해 이해할 필요가 있습니다.

 

세 번째, API 키를 스크립트에 직접 하드코딩하지 않아야 합니다. 대신 앱스 스크립트의 PropertiesService 등 서비스를 사용하면, API 키를 안전하게 저장할 수 있습니다. 

 

특히 데이터 보안이나 프라이버시가 주요한 문제라면, 클라우드 기반 자동화 서비스가 아닌 다른 방법을 고려해야 합니다. 조금 난이도가 있지만, 직접 해당 AI 모델을 로컬 환경에서 실행하거나, 프라이빗 클라우드처럼 제어할 수 있는 안전한 환경 내에서 운영하는 것이 선택지가 됩니다.

 

 

마치며

AI와 자동화 기술의 결합은 기업의 생산성을 비약적으로 올려줄 잠재력을 가지고 있습니다. 이 글에서 예제로 사용한 챗GPT API와 앱스 스크립트는 비단 단순한 하나의 예제입니다. 시장의 다양한 생성형 AI 서비스, 자연어 이해(NLU) 또는 자연어 처리(NLP) 및 머신러닝 모델을 사용하면 복잡한 작업을 손쉽게 자동화할 수 있습니다. 창의적인 업무에도 AI의 힘을 더할 수 있죠.

 

이러한 기술 도입은 수동적이던 기업과 부서, 조직의 프로세스에 활력을 만들어 줍니다. 자동화가 주는 시간 절약과 효율성 향상 효과는 업무 생산성에 직접적인 영향을 미칠 뿐만 아니라, 구성원들이 더 창의적이고 전략적인 업무에 집중할 수 있는 환경을 조성해 줍니다. 특히, 예제처럼 사람의 손을 타는 반복 작업에 할애하던 시간을 절감하면 더 중요한 비즈니스 결정에 집중할 수 있습니다.

 

이처럼 AI와 자동화는 조직의 경쟁력을 강화하는 핵심 요소로 자리 잡고 있습니다. 새로운 기술을 도입한 기업들 모두 혁신의 물결을 경험하고 있습니다. 다만, 이런 환경이 널리 퍼질수록 기업은 데이터 보안과 프라이버시 관리에 대해 철저히 대비해야 합니다. AI가 제공하는 이점을 최대한 활용하면서도, 데이터 보호와 윤리적 책임을 고려한 신중한 접근이 요구될 것입니다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
작가
93
명 알림 받는 중

작가 홈

작가
93
명 알림 받는 중
테크유람(https://blog.naver.com/techtrip) 블로그를 운영하고 있으며 클라우드, 오픈 소스, 웹 성능과 선진적인 DevOps 적용에 관심이 많은 블로거입니다.

삼성SDS에서 웹 개발자로 IT 경력을 시작하였고 이후 마이크로소프트에서는 Xbox 게임 타이틀 개발을, 현재는 클라우드 서비스를 제공하는 IT 기업에서 아시아 지역의 기술 컨설팅을 담당하고 있습니다.

12권의 IT 도서의 저자이기도 하며 글과 콘퍼런스, 교육을 통해 다양한 IT 기술을 많은 이에게 전달하고 공유하며, 상호 작용하는 IT 엔지니어의 삶을 즐기고 있습니다.

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login