ChatGPT는 우리 브랜드를 뭐라고 말할까 — GEO 모니터링 자동화 구축기 (with Workato)

세오니·2026년 7월 27일
post-thumbnail

지난 CIS 2026 후기에서 다음 글로 워카토 샌드박스를 직접 만져본 첫 자동화 도전기를 예고했었는데요.
그 결과를 들고 왔습니다.
"잘 될지는 저도 궁금합니다"라고 써놓고 내심 조마조마했는데, 결론부터 말하면.. 기대 이상으로 잘 됐어요!


무엇을 만들었나

첫 자동화 주제로 고른 건 GEO(Generative Engine Optimization) 모니터링 파이프라인입니다.

요즘 뭘 사거나 도입할 때, 검색창보다 ChatGPT나 Perplexity한테 먼저 물어보게 되잖아요. 그러다 보니 "AI가 답변 속에서 우리 브랜드를 얼마나 자주, 몇 번째로, 어떤 맥락으로 언급하는가"가 새로운 가시성 지표로 떠오르고 있어요. 사실 이 주제는 CIS 2026에서 'AI 검색 시대의 브랜드 가시성' 이야기를 접한 뒤로 계속 붙잡고 공부하던 영역이기도 합니다. 파고들수록 재미있어서, 첫 자동화 주제로 도전해보고 싶었습니다.

그런데 공부해 보니 GEO 측정, 생각보다 층이 깊더라고요. 언급 여부와 인용 비율을 세는 건 시작일 뿐이고, 제대로 하려면 어떤 맥락에서 어떤 표현으로 언급됐는지, AI가 말한 내용이 사실과 맞는지(정확도), 인용된 출처는 어디인지까지 평가해야 해요. 다만 이걸 전부 첫 시도에 담는 건 욕심이다 싶어서 이번엔 범위를 좁혔습니다. 반복 질의를 통한 언급 '비율' 집계와 주간 리포트 자동화까지. 맥락·정확도 평가는 이 뼈대 위에 다음 단계로 얹어볼 계획이에요.

비율 집계만 해도 자동화가 필수였습니다. LLM 응답은 물어볼 때마다 달라지기 때문에, 한 번 질의하고 "언급됐다/안 됐다"로 판단하는 것이 아니라 같은 질문을 여러 번 반복해서 던진 뒤 비율로 집계해야 의미 있는 숫자가 나옵니다. 근데 이걸 사람이 매주 손으로 한다? 상상만 해도 아득합니다...

그래서 레시피를 역할별로 세 개로 나눠 설계했습니다.

한 곳에서 문제가 생겨도 나머지는 살아 있어야 하고, 중간 단계부터 다시 실행하기도 쉬워야 하기 때문에 하나의 레시피에 전부 담지 않고 나눴습니다.

흐름을 조금 더 풀어보면 이렇습니다.

  1. Recipe 1 (수집) — 데이터 테이블에 등록해 둔 질의 프롬프트를 불러와, 엔진별로 × 반복 횟수만큼 HTTP로 API를 호출하고 응답 원문을 결과 테이블에 적재합니다. 호출 사이에는 8초씩 지연을 넣어 레이트 리밋을 피했습니다.
  2. Recipe 2 (분석) — 쌓인 원문을 하나씩 꺼내 "브랜드가 언급됐는지, 몇 번째로 추천됐는지, 어떤 경쟁사가 함께 등장했는지"를 AI에게 JSON 형식으로만 출력하게 한 뒤, 파싱해서 같은 행에 업데이트합니다.
  3. Recipe 3 (리포트) — 주 단위로 집계해 흡율(언급 건수 ÷ 총 호출 수)을 계산하고, 워카토 내에 만든 데이터 테이블에 적재해 갱신한 뒤 요약 리포트를 Gmail로 발송합니다.

트리거 하나로 이 세 레시피가 연쇄적으로 실행된 결과를 Workato 내의 데이터베이스 탭에서 처음 확인했을 때가 이번 도전의 가장 기억에 남는 순간이었습니다. 월요일 아침, 제가 무엇을 하고 있든 이 파이프라인은 스스로 돌아가고 있는 셈이니까요.


직접 써보니 좋았던 점

지난 글에서 워카토 발표를 듣고 "비어 있던 실행 구조를 메우는 도구"라고 정리했었는데, 이번에는 그 말을 제 손으로 검증해 본 셈입니다. 인상 깊었던 지점을 중심으로 정리해 보겠습니다.

1. 커넥션 — 없으면 만들 수 있고, 만들어도 안전합니다

워카토에는 사전 구축된 커넥터가 이미 방대하게 준비되어 있습니다. Gmail, Google Sheets는 검색해서 OAuth 로그인 한 번이면 연결이 끝납니다. 그런데 제가 더 좋게 본 것은 목록에 없는 서비스도 문제가 되지 않는다는 점이었습니다.

이번 파이프라인은 OpenAI·Anthropic·Perplexity API를 직접 호출해야 했는데, 범용 HTTP 커넥터에 Base URL과 인증 헤더(API 키)만 입력하면 커넥션이 바로 만들어집니다. "커넥터가 없어서 못 한다"는 상황 자체가 성립하지 않는 구조입니다.

그리고 이 부분이 은근히 중요한데, API 키를 레시피 본문에 하드코딩하는 것이 아니라 커넥션이라는 별도의 공간에 보관하는 구조라서, 레시피를 아무리 열어봐도 키가 노출되지 않습니다.
공식 문서를 찾아보니 근거도 명확했습니다. 워카토에 저장되는 모든 데이터(레시피, 커넥션 포함)는 전송 중이든 저장 중이든 AES-256으로 암호화되고, 외부 시스템 연결에는 가능한 경우 OAuth 2.0을 사용해 자격 증명을 아예 저장하지 않으며, 저장이 불가피한 자격 증명은 256비트 키로 암호화된다고 합니다. 커넥션 데이터에는 커넥션별 고유 암호화 키가 별도로 적용되고, 엔터프라이즈 환경이라면 AWS Secrets Manager 같은 외부 시크릿 관리자를 연동해 자격 증명을 워카토 바깥에서 관리하는 옵션까지 마련되어 있습니다.

개인 프로젝트에서 .env 파일 관리에 늘 신경을 곤두세워야 했던 입장에서는, 구조 자체가 그 실수를 원천적으로 막아준다는 점이 인상 깊었습니다.

2. 스키마를 '붙여넣으면' 알아서 만들어줍니다

API 연동에서 가장 번거로운 작업 중 하나는 request/response의 필드 구조를 도구에게 하나하나 알려주는 일입니다. 필드 추가, 타입 지정, 중첩 구조 정의까지 클릭이 끝없이 이어지곤 합니다.

워카토에서도 물론 필드를 하나씩 지정할 수 있지만, 그보다 편한 방법이 있었습니다. 공식 API 문서에 있는 예시 request/response JSON을 그대로 복사해 붙여넣으면, 스키마를 자동으로 분석해 만들어줍니다. OpenAI 문서의 응답 예시를 붙여넣었더니 choices[0].message.content까지 데이터필(앞 단계의 출력값을 뒤 단계로 끌어다 쓰는 변수)로 전부 생성되는 것을 보고 감탄했습니다.

이렇게 생긴 데이터필을 다음 액션에 드래그해서 꽂으면 매핑이 끝나요. 데이터가 어디에서 와서 어디로 흘러가는지가 눈에 보인다는 것. 이게 생각보다 큰 안심을 줍니다.

데이터필이 좋았던 이유가 하나 더 있어요. 스텝이 많아지면 content 처럼 같은 이름의 필드가 여기저기서 튀어나와서, 매핑할 때 어느 스텝에서 온 값인지 헷갈리기 쉽거든요. 그런데 워카토는 데이터필을 스텝 단위로 묶어서 보여주고 태그도 달아줍니다. 이름이 겹쳐도 출처를 바로 알 수 있으니, 스텝이 열 개를 넘어가도 헷갈릴 일이 없었어요.

3. 디버깅 — 단계별 output이 전부 보입니다

자동화가 두려운 이유는 "어디서 문제가 생겼는지 모른 채 조용히 멈추는 것"입니다. 워카토는 오류가 발생하면 어느 스텝의 어떤 부분이 문제인지 에러 메시지를 상당히 구체적으로 보여줍니다.

더 좋았던 것은 Job 상세 화면입니다. 실행이 끝나면 스텝 하나하나의 input/output을 클릭해서 모두 확인할 수 있습니다. "HTTP 호출까지는 정상인데 파싱 단계에서 깨졌다" 같은 판단을 로그를 뒤질 필요 없이 화면에서 바로 내릴 수 있습니다. 반복 호출이 많은 레시피라 중간에 몇 차례 문제가 생겼는데, 그때마다 원인을 찾는 시간이 짧아서 스트레스가 크게 줄었습니다.


하나 더 ! AI가 이미 안에 들어 있습니다

참고로 워카토 안에는 AI by Workato라는 내장 AI 기능이 있어서, 간단한 텍스트 분석이나 요약 정도는 외부 API 연결 없이 액션 하나로 처리할 수 있어요. 별도의 API 키 발급도, 커넥션 설정도 필요 없으니 가벼운 AI 작업이라면 이쪽을 먼저 쓰는 것이 훨씬 간편합니다. 아래엔 AI in Workato 커넥션에서 제공하는 기능 리스트입니다!

다만 저는 이번에 쓰지 못했습니다. 응답 원문 수백 건을 하나씩 분석시켜야 하는, 반복 호출이 유난히 많은 레시피이다 보니 분당 AI 호출 횟수 제한에 걸렸기 때문입니다. 그래서 OpenAI 커넥션과 Perplexity HTTP 커넥션을 만들어 전환했는데, 바로 이런 상황에서 앞서 말한 첫 번째 장점이 빛났습니다. 내장 기능이 한계에 부딪혀도, 외부로 우회할 길이 항상 열려 있다는 점입니다.


개발을 공부하는 사람에게도 좋은 교재입니다

만들다가 문득 든 생각인데요. 트리거, 배치 작업, 반복문, 에러 핸들링, 데이터 매핑, 레이트 리밋 대응. 이것들은 전부 실무 자동화와 백엔드에서 마주치는 개념들이잖아요. 워카토는 이를 코드가 아니라 블록으로 조립하게 해주기 때문에, 개념의 뼈대가 시각적으로 잡힙니다.

"재시도는 왜 필요한가" 같은 질문도 레시피를 돌리다 429 에러를 한 번 만나보면 몸으로 이해됩니다. 코드부터 배우면 문법에 치여 놓치기 쉬운 '흐름 설계' 감각을 먼저 기를 수 있다는 점에서, 개발을 공부하는 분들이 사이드로 다뤄봐도 얻는 것이 많은 도구라고 느꼈습니다.


마치며

지난 글을 "진짜 효율은 흐름을 제대로 쥐는 것"이라는 문장으로 맺었는데, 이번에 그 흐름을 처음으로 제 손으로 쥐어봤습니다.

물론 이번에 만든 것은 GEO 측정의 전체 그림에서 보면 첫 조각에 해당합니다. 언급 맥락 분석이나 답변 내용의 정확도 평가처럼 더 어려운 층은 아직 손대지 못했고, 그만큼 공부할 것도 남아 있습니다. 다만 비율 집계라는 뼈대가 자동으로 돌아가기 시작했으니, 그 위에 하나씩 얹어갈 발판은 마련된 것 같습니다.

다음엔 실험을 해보고 싶기도 합니다. 시중에 GEO 분석을 해주는 솔루션들이 이미 있는 걸로 아는데, 그 구독비 vs 제가 직접 AI API로 돌리는 자동화 비용, 어느 쪽이 이득인지 가격 비교를 해보고 싶습니다.

다만 이 비교가 공정하려면 실무의 기준을 알아야 해요. 실제 현장에서는 최소 몇 개의 질문을, 몇 개의 AI 모델로 돌려서 측정하는지, 언급률 말고 또 어떤 평가 기준을 쓰는지. 이건 책만 파서는 안 나오고 전문가에게 여쭤볼 기회가 필요하겠더라고요. 혹시 GEO 실무를 아시는 분, 혹은 비용 계산이 머릿속에 그려지는 분이 계시다면 댓글 부탁드립니다. 열심히 배우겠습니다 🙇

직접 만져보고 싶은 분들은 아래 링크에서 샌드박스를 신청할 수 있습니다. 비개발자도 충분히 다룰 수 있게 열려 있으니 부담 없이 시작해 보시길 권합니다.

👉 체험(샌드박스) 신청: https://app.trial.workato.com/users/sign_up_trial?utm_source=ambassador_1gi&utm_medium=content&utm_campaign=kr_2026&utm_content=lsw
👉 데모/상담 신청: https://www.workato.com/ko-KR/request_demo?utm_source=ambassador_1gi&utm_medium=content&utm_campaign=kr_2026&utm_content=lsw

끝까지 읽어주셔서 감사합니다. 오늘도 건강하세요 🫶


#WorkatoKorea #워카토 #워카토코리아 #기업자동화 #워크플로우자동화 #노코드자동화 #GEO #AI검색최적화 #자동화레시피 #iPaaS #AI에이전트 #개발공부 #첫자동화 @WorkatoKorea

profile
From 🎨 애니메이터 to 💻 AI 백엔드 개발자

0개의 댓글