고객 데이터를 Airtable로 — Claude Code로 자동화한 관리 시스템 구축기 + 대시보드까지!

소개

안녕하세요. 21기 소셜임팩트에서 활동중인 임현철입니다.

보안을 위해서 관련 내용들을 최대한 피하도록 처리해보고 사례를 올려봐요.

회사에서 데이터 관리를 하면서 기존 전산 시스템에서 Excel로 내려받아 수동으로 관리하고 있었습니다.

불편했던 점:

  • 고객 데이터를 Excel 필터로 일일이 확인해야 함

  • 이슈 발생 대상을 별도 추적하는 체계 없음

  • 팀원들과 실시간 데이터 공유 불가

  • Excel 수정 시 Airtable에 수동 재입력 필요

이를 해결하기 위해 Claude Code + Airtable MCP 조합으로 자동화 파이프라인을 구축했습니다. 코딩 경험이 많지 않아도 Claude Code에 자연어로 요청하는 것만으로 전체 시스템을 구성할 수 있었습니다.


진행 방법

사용 도구

도구

역할

Claude Code (CLI)

전체 자동화 코드 작성 및 실행

Airtable MCP

Claude에서 Airtable API 직접 연동

Python (openpyxl, watchdog)

Excel 읽기 및 파일 변경 감지

HTML / Chart.js

웹 대시보드 구현

Windows VBScript + 시작폴더

부팅 시 자동 실행 등록


Step 1 — Airtable MCP 연결

claude mcp add --transport http airtable https://mcp.airtable.com/mcp \
  --header "Authorization: Bearer [YOUR_API_TOKEN]"

claude mcp list로 연결 상태를 확인합니다.


Step 2 — Excel → Airtable 자동 업로드

사용 프롬프트:

회사의 데이터를 체계적으로 관리하고 싶은데
기존 전산서비스에서 추출한 자료가 있는데 이걸 에어테이블에 적용하려면 어떻게 해야하나요?
→ data.xlsx 파일로 넣어두었어요
→ a로 진행해주세요 (MCP 자동 업로드 선택)

Claude가 Excel 구조를 분석해 Airtable 테이블 스키마를 자동 생성하고 전체 데이터를 일괄 업로드합니다.

# 올바른 컬럼 매핑 (22컬럼 구조)
fields = {
    'A.':              row[0],
    'B':          row[1],
    'C':            row[3],
    'D':          fmt_date(row[4]),
    'E':            row[5],
    'F':          row[13],   # ← 누락 주의
    'G':              row[14],   # ← a/ b
    'H':              row[15],
    'I':   fmt_date(row[16]),
    ...
}

⚠️ 시행착오: Excel 헤더 행과 실제 데이터 사이에 숨겨진 컬럼이 있어 컬럼이 한 칸씩 밀려 업로드됨. Claude가 raw 데이터를 재분석해 올바른 매핑으로 수정 후 재업로드.


Step 3 — 웹 대시보드 구현

사용 프롬프트:

웹으로도 한번 구현해주세요
→ 전체 데이터에서 정렬 기능이 있으면 좋겠어. No.가 차례대로 안되어있어
→ 현황에는 유효데이터만 넣어주세요. A는 A 항목을 새로 만들어주세요

[대시보드 전체 화면]

[통계 카드 — A, B, C 등 핵심 지표 한눈에]

다채로운 선이 있는 캘린더 앱의 스크린샷

[차트 — A(막대), B(파이), C(막대)]

파란색, 주황색, 노란색 선이 있는 그래프 세트

[A + B]

다양한 색상의 선이 있는 흰색 화면

[A — B]

다양한 색상이 표시된 달력의 스크린샷

[A — B + C]


다양한 색상을 보여주는 화면의 스크린샷

Step 4 — Excel 수정 시 Airtable 자동 동기화

사용 프롬프트:

data의 엑셀자료를 업데이트하면 자동으로 Airtable에 업데이트가 가능하나요?
→ 설정해주시고 원리도 알려주세요
→ 재부팅 시 자동 실행도 설정해주세요
# airtable_sync.py 핵심 로직
class ExcelChangeHandler(FileSystemEventHandler):
    def on_modified(self, event):
        if not event.src_path.endswith('data.xlsx'):
            return
        if time.time() - self._last_sync < 3:  # 중복 이벤트 방지
            return
        sync_to_airtable()

자동 실행 흐름:

Windows 로그인
    ↓
Startup 폴더의 .vbs 자동 실행
    ↓
pythonw.exe로 airtable_sync.py 실행 (창 없이)
    ↓
watchdog이 data.xlsx 상시 감시
    ↓
파일 저장 감지 → Airtable 자동 반영

왜 .py 직접 실행이 안 되나? .py → 콘솔 창 계속 떠 있음 / .bat → 동일 문제 / .vbs → 창 없이 백그라운드 실행 가능. pythonw.exe(windowless Python)와 조합해서 해결.


자동화 구현

시작 프로그램 등록

  • VBScript가 Startup 폴더에 등록되므로, 해당 파일을 통해 자동으로 변화를 감지해 airtable로 업데이트를 실행


결과와 배운 점

결과

  • Excel 전체 데이터를 Airtable에 완전 이전 및 자동 동기화 완료

  • A / B를 즉시 파악 가능한 대시보드 구축

  • Excel 저장만 하면 Airtable 자동 반영 — 수동 작업 완전 제거

배운 점

  • MCP 연결만으로 Claude가 Airtable을 직접 조작할 수 있어 별도 개발 없이 데이터 파이프라인 구성 가능

  • Excel 컬럼 구조를 정확히 파악하는 것이 중요 — 헤더와 실제 데이터 간 불일치(숨겨진 컬럼)가 생길 수 있음

  • .vbs + pythonw.exe 조합으로 서버 없이 Windows 백그라운드 자동화 구현 가능

시행착오

  • 컬럼 매핑 오류로 A/B가 뒤바뀌어 업로드됨 → 재분석 후 수정

  • 중복 레코드 생성 (2배) → No. 기준 중복 삭제 후 재동기화

  • .bat 파일 시작 프로그램 등록 시 콘솔 창 계속 노출 → .vbs + pythonw.exe 조합으로 해결

앞으로의 계획

  • 자동 문자/이메일 발송 서비스 연동

  • 이력 관리 테이블 추가

  • 대시보드를 서버에 배포해 팀원 전체 접근 가능하도록 구성







업무중에 데이터 관리를 위해 airtable을 어떻게 붙여볼까 하다가 클로드 코드를 활용한 자동화를 구축하게 되었네요.

소셜임팩트의 구상에 맞게 적용하기 위해서 추가로 LMS를 구현하기 위한 MVP구성과 PRD를 작성하고 있습니다.

사이드격으로 단숨에 데이터를 자동화시켜버린 클로드 코드의 저력을 새삼 느낍니다.

사내 메인 업무를 이렇게 활용 가능하다는 것과 함께 21기 소셜임팩트의 본업무를 진행하려는 LMS 프로젝트를 얼른 구축해보고싶네요.

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요