API가 없어도 자동화는 된다 - 모두싸인 계약서 발송 부분자동화기

📝 한줄 요약

API가 없는 전자계약 서비스(모두싸인)에서 매달 20건 이상의 계약서를 수동 발송하던 작업을, Claude Code로 브라우저 자동화 스크립트를 만들어 클릭 한 번으로 줄였습니다.

🎯 이런 분들께 도움돼요

  • 계약서, 발주서, 청구서 등 반복적인 문서 작업을 수동으로 하고 계신 운영/관리 담당자

  • "이 서비스는 API가 없어서 자동화 못 해" 라고 포기한 적 있는 분

  • 처음부터 완벽한 자동화가 아닌, 가장 귀찮은 부분부터 부분자동화하고 싶은 분

😫 문제 상황 (Before)

매달 한 번, 20건이 넘는 계약서를 모두싸인에서 발송하는 날이 돌아옵니다.

프로세스는 이렇습니다:

  1. Airtable에서 이번 달 발송 대상 명단 확인

  2. 엑셀에 이름, 전화번호, 금액을 옮겨 적기

  3. 모두싸인에 접속해서 템플릿 열기

  4. 서명자 이름, 카카오톡 전화번호 입력

  5. 계약서 내용(금액 등) 수정

  6. 발송 버튼 클릭

  7. 다음 사람... 처음부터 반복

한 건당 2~3분. 20건이면 40분에서 1시간. 게다가 Airtable, 엑셀, 모두싸인 세 화면을 왔다갔다 하다 보면 금액을 잘못 넣거나, 대상자를 빠뜨리는 실수도 생깁니다. 단순 반복인데 실수 가능성은 높은, 전형적인 "자동화하고 싶은 업무"였습니다.

🛠️ 사용한 도구

  • Claude Code: AI 코딩 도구 (브라우저 자동화 스크립트 작성)

  • 모델: Claude Opus 4.5 / 4.6

  • 특이사항: 모두싸인 팀 플랜에는 API가 없어서 브라우저 자동화(Playwright) 방식으로 우회

🔧 작업 과정

"이거 자동화 될까?" 한마디로 시작

사실 처음엔 반신반의였습니다. 모두싸인 API 문서를 찾아봤더니 엔터프라이즈 플랜에서만 쓸 수 있었거든요. "API가 없으니까 못 하겠네" 하고 넘어갈 뻔했는데, 일단 Claude Code에 물어봤습니다.

모두싸인에서 계약서 작성하는 것 자동화 해볼 수 있을까?

Claude Code는 API가 안 된다는 걸 확인하더니, 바로 대안을 제시했습니다. Playwright라는 브라우저 자동화 도구를 쓰면 사람이 클릭하고 타이핑하는 걸 그대로 프로그램이 대신할 수 있다고요. API가 없어도 길은 있었습니다.

Airtable에서 명단 자동 추출

먼저 발송 대상 명단을 정리해야 합니다. 기존에는 Airtable을 보면서 엑셀에 수동으로 옮겨 적었는데, 이것부터 자동화했습니다.

Airtable에서 이번 달 발송 대상 명단 뽑아줘

Claude Code가 Airtable API로 명단을 조회하고, 발송 조건에 맞는 대상을 자동으로 구분해서 CSV 파일로 만들어줬습니다. 세 화면 왔다갔다 하면서 옮겨 적던 과정이 한 번에 끝났습니다.

로그인부터 서명자 입력까지 — 순조로운 출발

본격적으로 모두싸인 자동화에 들어갔습니다. 로그인하고, 템플릿 선택하고, 서명자 이름과 전화번호를 입력하는 것까지는 순조로웠습니다. 웹 페이지에서 버튼 클릭하고 입력란에 값 넣는 건 브라우저 자동화의 기본이니까요.

여기까지는 "역시 되는구나" 싶었습니다.

그런데 계약서 내용 수정이 안 된다

문제는 그 다음이었습니다. 계약서 문서 안에 있는 금액 같은 필드를 수정해야 하는데, 일반적인 방법으로는 값이 바뀌질 않았습니다.

값을 입력하면 2초 후에 원래대로 돌아가버리는 겁니다. 마치 유령처럼요.

Claude Code가 원인을 파악하기 시작했습니다. 모두싸인의 문서 편집기는 일반적인 웹 입력란이 아니라, PDF를 그림(Canvas)으로 보여주면서 그 위에 투명한 입력란을 올려놓는 특수한 구조였습니다. 게다가 그 입력란은 직접 클릭조차 안 되게 막혀 있었고요.

17번의 시행착오, 그래도 포기하지 않는 AI

여기서 인상적이었던 건 Claude Code의 끈기였습니다. 17개의 탐색 스크립트를 만들어가면서 편집기의 내부 구조를 하나씩 파헤쳤습니다.

  • 1번째 시도: 일반 입력 → 값이 되돌아감

  • 5번째 시도: 직접 값을 주입 → 역시 되돌아감

  • 10번째 시도: 전체선택 후 덮어쓰기 → 필드 자체가 삭제됨

  • 14번째 시도: 편집기 내부 구조 발견 → 실마리 포착

  • 17번째 시도: 최종 패턴 확립 → 성공!

사람이었으면 5번쯤에서 "이건 안 되는 거다" 하고 포기했을 겁니다. 근데 Claude Code는 실패할 때마다 왜 안 됐는지 분석하고, 다른 방법을 시도하고, 결국 작동하는 패턴을 찾아냈습니다.

최종적으로 찾아낸 방법은: 투명한 입력란을 보이게 만들고 → 기존 텍스트를 전체 선택한 뒤 → 새 값을 타이핑하고 → Escape 키로 값을 확정하는 것이었습니다. 특히 마지막 Escape 키가 핵심이었는데, 이게 없으면 2초 후에 값이 사라지는 현상이 있었거든요.

20건 자동 발송 스크립트 완성

이 패턴을 전체 흐름에 적용해서 최종 스크립트가 완성됐습니다:

  1. CSV에서 명단 읽기

  2. 모두싸인 로그인

  3. 각 건별로: 템플릿 선택 → 서명자 입력 → 계약서 내용 편집 → 발송

  4. 다음 건으로 자동 이동

안전장치도 넣었습니다. 기본은 DRY RUN 모드라서 실제 발송은 하지 않고 필드가 제대로 채워지는지만 확인합니다. 건별로 스크린샷도 저장되고, 한 건이 실패해도 다음 건은 계속 처리됩니다.

✅ 결과 (After)

Before vs After

항목

Before

After

소요 시간

40분~1시간 (20건 기준)

스크립트 실행 후 자동 처리

작업 방식

Airtable→엑셀→모두싸인 수동 입력

CSV 자동 생성 → 자동 발송

실수 가능성

금액 오입력, 대상자 누락 위험

데이터 기반 자동 입력, 검증 포함

화면 전환

3개 화면 왔다갔다

스크립트 실행 한 번

결과물

  • Airtable → CSV 자동 추출

  • 모두싸인 계약서 자동 발송 스크립트 (261줄)

  • DRY RUN 테스트 성공 (연속 발송 확인 완료)

💬 이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. 처음부터 전체 자동화를 목표로 하지 않았다 — 계약서 발송 부분만 먼저 자동화하고, 나머지(이체시트, 안내 메시지)는 다음 단계로 남겨뒀습니다. 가장 반복적인 부분부터 부분자동화하는 게 현실적입니다.

  2. 업무 프로세스를 그대로 설명했다 — "1번에서 이렇게 하고, 2번에서 저렇게 하고..." 식으로 평소 하던 방식을 그대로 알려줬더니, 기술적인 판단은 AI가 알아서 했습니다.

  3. AI가 대안을 제시하면 일단 믿어봤다 — API가 없다고 했을 때 "그럼 브라우저 자동화로 하자"는 제안을 받아들인 게 결과적으로 맞았습니다.

이렇게 하면 안 돼요

  1. "API 없으면 끝"이라고 단정짓기 — 공식 API가 없어도 브라우저 자동화라는 우회 방법이 있습니다. 먼저 AI에게 물어보세요.

  2. 중간에 포기하기 — 이번 작업에서 17번이나 실패했지만, AI는 매번 다른 접근법을 시도했습니다. 한 번 안 된다고 "안 되는 거다"라고 결론 내리지 마세요.

🌍 다른 업무에 적용한다면?

이 방법은 모두싸인에만 해당되는 게 아닙니다. API가 없는 웹 서비스에서 반복적인 수동 작업을 하고 있다면 같은 접근법을 쓸 수 있습니다:

  • 매달 거래처에 발주서 보내기 (전자서명 서비스)

  • 내부 시스템에 데이터 반복 입력 (ERP, 그룹웨어)

  • 여러 플랫폼에 같은 내용 등록하기 (구인구직, 부동산 등)

핵심은 "사람이 반복적으로 클릭하고 타이핑하는 작업"이라면, 브라우저 자동화로 대체할 수 있다는 겁니다.

🚀 앞으로의 계획

현재는 계약서 발송까지만 자동화된 상태입니다. 앞으로:

  1. 계약서 서명 완료 후 이체시트 자동 작성 — 서명이 완료되면 모두싸인에서 금액, 이름, 계좌 정보를 읽어서 이체시트에 자동으로 옮기는 것까지 연결할 예정입니다.

  2. 카카오톡/문자 안내 메시지 자동 발송 — 계약서를 보냈다는 안내 메시지도 자동화해서, 발송부터 안내까지 한 번에 처리되게 만들 계획입니다.

결국 목표는 "계약서 보내는 날"이 더 이상 1시간짜리 작업이 아니라, 버튼 하나로 끝나는 것입니다.

5
4개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요