[일주일프/09] 법인카드 지출결의 처리 자동화 슬랙 봇

꾸준히 슬랙에서 사용하기만 하면 기업과 개인의 AX 리터러시를 측정해주고, 코칭해주고, 기업과 개인에 맞는 하네스/워크플로우가 자라나게 돕는 에이전트, 'Ceal'을 만들고 있습니다.
💡
'일주일프'나와 내 주변 사람을 위한 유용한 프로그램을 매주 1개씩 만들어서 소셜 미디어에 공유하는 프로젝트입니다. 2026년에 잡은 가장 중요한 목표이기도 합니다.

한줄 요약: 회사 법인카드 지출결의를 슬랙에서 처리해주는 에이전트를 추가했습니다.

계기

코르카에서는 팀원들끼리의 친목 도모를 장려하기 위해 매달 + 인당 n만원씩 주어지는 조직경비 제도가 있습니다. 사내 복지를 위한 제도이지만, 모두에게 지급되는 법인카드로 결제되는만큼 운영은 최대한 투명하게 기록되어야 했죠. 그래서 기존에는 아래와 같이 Flex를 통해 지출결의를 올리고 있었습니다. 올라온 정보를 오퍼레이션팀에서 개별 취합하고요.

그 외에도 몇 가지 세세한 규정이 존재했는데요.

  • 조직경비는 월마다 지급되되 분기별로는 누적되다가 다음 분기 시작시 리셋된다.
  • 조직경비의 목적상 2인 이상이 함께 써야 한다. 단, 타 팀의 팀원과 함께 썼으면 그 팀과 나눠서 각각 지출결의를 올려야 한다.
  • 팀 인원수에 변동이 생기면 그 달부터는 사용 가능한 조직경비 예산에도 반영되어야 한다.
  • 조직경비에 속하지 않아도 신규입사자-버디 간 커피챗 등 다양한 종류의 법인카드 지출이 존재한다.

이 프로세스는 지출결의를 올리는 사람과 취합하는 사람 모두에게 번거로웠고, 다음과 같은 이유로 자동화할 수 있는 여지가 충분했습니다.

  • 결의를 올리는 사람만 알면 부서, 법인카드 뒷자리를 알 수 있다.
  • 지출 일자와 금액은 영수증 파일로부터 알 수 있다.
  • 영수증과 더불어 지출 종류(조직경비냐 아니냐), 지출명(커피챗이냐 회식이냐 등), 사용 인원만 잘 주어지면 나머지 정보는 모두 포맷에 맞춰 입력 가능하다. 조직경비는 타 팀원과 같이 썼으면 그 팀과 자동 안분되게 하면 된다.
  • 조직별로 얼마 썼고 얼마 남았는지를 각자 기억할 필요 없고, 계산해서 알려주면 된다.

저는 이 모든 요구사항을 슬랙 봇 + 구글 스프레드시트로 충족시키는 게 가능하다고 생각했어요. AX Day 2회차의 개인 시간에 필요한 정보 수집 및 OpenClaw + GWS CLI 설정을 완료했고, 다음날 1차 버전이 나왔습니다.

구현

회사용으로 만들어둔 슬랙봇을 OpenClaw에 연결하여 사무적인 페르소나를 설정했습니다. 특정 채널에 정해진 키워드, 간단한 설명, 그리고 영수증 사진을 함께 올리면, 봇이 GWS CLI를 통해 스프레드시트에 새로운 행을 자동으로 추가하고 완료 메시지를 남겨주는 방식으로 구현했어요. 남은 예산도 알려주고, 이 결의에 대해 인지해야 하는 사람들도 자동으로 멘션해주고요.

구현하면서 염두에 뒀던 것들은 대략 다음과 같습니다.

  • 이 봇은 '지출결의 자동화'만을 위해 제작된 것은 아니다. 정말로 지출결의일 때만 맞게 반응하도록 키워드 매칭을 넣자.
  • 키워드 외의 정보에 대해서는 알아서 잘 추출하게 하자. 예를 들어 사람 이름을 멘션하지 않고, 성 없이 적어도 되게 하자. 이를 위해 [사람 이름-슬랙 핸들-슬랙 유저아이디-팀 조직도-카드번호]를 모두 매핑해둔 JSON 파일을 미리 만들어둔다.
  • 에이전트가 할 필요 없는 일은 하지 않는다. 예를 들어 스프레드시트에 데이터를 넣는 부분은 정규화되어야 하니 스크립트로 하고, 이번달 남은 예산은 매번 계산할 필요 없이 별도 탭에서 미리 수식을 다 작성해두고 그 행만 읽어도 되게 한다. (이 수식을 작성하는 건 OpenClaw가 GWS로 했지만)
  • 사용자가 준 정보가 충분한지(즉 GWS를 호출하는 스크립트를 안정적으로 호출할 수 있는가) 판단하는 건 에이전트의 몫이다. 지출결의인데 영수증이 없다거나, 조직경비인데 같이 쓴 사람이 없다거나 등. 이 때는 댓글로 추가 정보를 입력할 수 있다.

이렇게 사소하지만 조직 구성원들의 시간을 아껴주는 프로그램을 쌓아나가는 것 또한 좋은 AX라고 생각합니다. 이 과정에서 인간이 할 일, 에이전트가 할 일, 스크립트가 할 일을 구분해서 할당하는 역량도 쌓이고요.

맺으며 - 앞으로의 방향성 (feat. Ceal)

요즘 계속 슬랙을 인터페이스로 하는 프로그램을 만드는 이유는, 이게 기업에서의 AX 하방을 높이는 데 가장 손쉬운 방법이라고 생각해서입니다. 가장 빈번하게 사용하는 메신저에서 '조금만 다르게' 해도 원하는 결과가 나올 수 있다는 점, 그리고 비개발자도 별도의 설치과정 없이 작동시킬 수 있다는 점 때문이죠.

이번에는 당장의 효용을 위해 이 슬랙봇을 OpenClaw로 만들었는데요. 조만간 코르카에서 런칭할 '기업들을 위한, 안전하게 관리되는 OpenClaw'로 에이전트 런타임을 교체할 계획입니다.

슬랙봇의 메인 에이전트 이름이자, 이 안전한 OpenClaw의 제품명이 될 이름은 Ceal 이에요. 코르카(Corca)의 상징 동물인 범고래(Orca)에 착안해 짧고 적당한 해양생물 이름을 클로드로부터 추천받았습니다. 물범(Seal)의 S를 코르카의 C로 바꿔서 발음은 그대로 가면서 검색 용이성을 높이고, Seal은 '봉인'의 의미를 가지고 있으니 안전하다는 의미도 살렸습니다.

그동안 블로그 보신 분들은 아시겠지만 몇 달 전부터 코딩 에이전트에서 사용할 하네스를 열심히 깎았습니다. 노력의 결과로 상당히 그럴듯한 플러그인이 나오긴 했지만, 복잡도가 처음 계획보다 너무 높아지고 불만족스러운 것들이 아직 많아서 처음부터 다시 만들어야 하나 생각했었어요.

그런데 어차피 코딩 에이전트의 발전에 맞춰 계속 깎아나가야 하는 하네스만으로는 회사에서 실질적 매출을 내기는 어렵겠다는 판단이 들었습니다. 그래서 꾸준히 들어오는 AX 컨설팅 의뢰를 커버할 수 있는 기업용 AX 슬랙봇 에이전트를 만드는 쪽으로 틀었어요. 비전은 '꾸준히 슬랙에서 사용하기만 하면 기업과 개인의 AX 리터러시를 측정해주고, 코칭해주고, 기업과 개인에 맞는 하네스/워크플로우가 자라나게 돕는' 에이전트입니다.

당분간 이쪽으로 집중해서 열심히 개밥먹기 해보고, 알파 테스트할 때가 되면 그동안 컨설팅 의뢰 주셨던 기업 담당자분들께 연락 드리겠습니다. 기대해주시길!