이메일에서 리드를 자동으로 읽어 데이터베이스에 넣으면 일이 크게 줄어들 줄 알았습니다. 실제로 입력 시간은 줄었습니다. 그런데 며칠 써보니 더 중요한 문제가 남아 있었습니다. 저장된 사람이 누구인지, 이전에 무슨 이야기를 했는지, 지금 무엇을 해야 하는지가 한 화면에서 이어지지 않았습니다.
리드는 들어왔는데, 그다음 행동이 보이지 않았다
앞선 개발에서는 BizBuySell과 BizBen의 이메일을 읽어 이름, 이메일, 전화번호, 문의 내용과 관심 리스팅을 자동으로 저장했습니다. Google Sheets에 손으로 옮기던 시절과 비교하면 분명 큰 진전이었습니다. 적어도 새 문의가 어느 이메일 속에 묻혀 있는지는 덜 걱정해도 됐습니다.
하지만 리드가 쌓이기 시작하자 다른 종류의 불편이 나타났습니다. 같은 사람이 몇 달 전 다른 리스팅에도 문의했는지, 전화로 어떤 이야기를 나눴는지, NDA를 보냈는지, 다음 연락은 언제 해야 하는지를 확인하려면 여전히 이메일과 메모를 번갈아 열어야 했습니다.
예를 들어 John이라는 바이어가 이메일로 한 번 문의하고, 며칠 뒤 사무실로 전화한 다음, 다른 리스팅에 다시 관심을 보였다고 해보겠습니다. 이 세 번의 접점이 각각 다른 기록으로 남으면 시스템에는 세 명처럼 보일 수 있습니다. 브로커 입장에서는 한 사람과 이어진 대화인데, 프로그램이 그 관계를 이해하지 못하는 것입니다.
그래서 다음 작업을 NDA 자동 발송 버튼부터 만드는 대신 Client Management로 정했습니다. 발송 기능이 빨라도 대상이 중복되어 있거나 과거 이력을 찾을 수 없다면 결국 사람이 다시 확인해야 하기 때문입니다.
연락처가 아니라 ‘업무의 맥락’을 저장하는 구조
처음에는 메뉴에 Buyer라는 이름을 사용했습니다. 그러나 실제 업무에서는 모든 사람이 당장 구매자인 것은 아닙니다. 매도인일 수도 있고, 공동 브로커나 소개자일 수도 있으며, 지금은 단순 문의자지만 나중에 중요한 고객이 될 수도 있습니다. 그래서 더 넓은 개념인 Client로 바꾸었습니다.
Lead와 Client를 억지로 같은 것으로 만들지 않기
Lead는 아직 확인이 필요한 문의이고 Client는 계속 관계를 관리할 사람입니다. 두 개념은 연결되지만 같지는 않습니다. 이메일에서 자동 수집된 Lead를 검토한 뒤 기존 Client에 연결하거나 새 Client로 전환할 수 있어야 합니다. 잘못 인식된 이메일이나 중복 문의까지 자동으로 고객 명단에 들어가면 데이터는 금방 지저분해집니다.
| 구분 | Lead | Client |
|---|---|---|
| 의미 | 새로 들어온 문의 또는 확인 전 접점 | 지속적으로 관계와 이력을 관리할 사람 |
| 생성 방식 | 이메일 자동 수집 또는 수동 입력 | 검토 후 신규 생성 또는 기존 Client 연결 |
| 중요 정보 | 문의 출처, 관심 리스팅, 수신 시각 | 연락처, 관련 리스팅, 메모, 활동 이력 |
| 다음 행동 | 중복 확인, 연락, Client 전환 | NDA, OM, 후속 연락, 관계 관리 |
이메일과 전화 통화를 Event로 남기기
고객 정보만 저장해서는 “마지막으로 무엇을 했는가”를 알 수 없습니다. 그래서 이메일 thread, 전화 통화, 미팅, 메모, NDA 발송과 같은 행동을 Event 또는 Activity로 남기는 구조가 필요했습니다. Client 화면을 열면 최신 기록부터 시간순으로 볼 수 있게 하는 것입니다.
이 구조가 있으면 나중에 전용 이메일 기능을 붙일 때도 이메일을 별도의 섬으로 만들 필요가 없습니다. 이메일에서 바로 Lead를 만들고, 기존 Client를 연결하고, 해당 대화를 Event로 저장할 수 있습니다. NDA나 OM을 보낸 기록도 같은 흐름 안에 들어갑니다.
메모 내용으로도 사람을 찾을 수 있게 하기
이름을 기억하지 못해도 대화 내용은 기억나는 경우가 많습니다. “샌디에이고에서 세탁소를 찾던 사람”, “배우자와 다시 상의한다고 했던 바이어”처럼 말입니다. 그래서 이름, 이메일, 전화번호뿐 아니라 Memo와 Note의 본문까지 검색 대상에 포함했습니다.
이 기능은 화려하지 않지만 실제 사용에서는 중요합니다. 정확한 이름을 입력해야만 찾을 수 있는 CRM보다, 사람이 기억하는 단서를 이용해 다시 찾을 수 있는 시스템이 현장에서 훨씬 유용하기 때문입니다.
PC에서는 정리하고, 휴대폰에서는 바로 기록한다
별도의 모바일 앱을 만들 계획은 없습니다. 앱과 웹을 동시에 관리하면 작은 프로젝트가 감당해야 할 유지보수 범위가 너무 커집니다. 대신 하나의 반응형 Web 서비스를 PC와 휴대폰에서 함께 사용하는 방향을 택했습니다.
PC에서는 Client의 상세 정보, 관련 리스팅과 긴 메모를 정리합니다. 휴대폰에서는 전화가 끝난 직후 새 Client를 등록하거나 기존 Client를 검색하고, 짧은 메모와 다음 행동을 남기는 데 집중합니다. 모든 기능을 작은 화면에 억지로 넣기보다 현장에서 자주 쓰는 행동을 먼저 보이게 하는 방식입니다.
며칠 동안 직접 사용하면서 메뉴 앞에서 “이건 어디서 해야 하지?” 하고 잠깐 멈춘 순간도 있었습니다. 개발자가 만든 화면에서 개발자인 저 자신이 망설였다면 용어와 동선이 아직 충분히 자연스럽지 않다는 뜻입니다. 이 경험 때문에 Home, Lead, Client, Event와 같은 메뉴도 프로그램 기능이 아니라 실제 브로커의 업무 순서에 맞춰 계속 다듬고 있습니다.
Client Management 실무 체크리스트
이번 단계에서 반드시 확인한 항목
- Client 신규 등록과 기존 정보 수정이 가능한가?
- 이메일 Lead를 신규 또는 기존 Client에 연결할 수 있는가?
- 한 Client가 여러 Listing에 관심을 보인 이력을 유지하는가?
- 이메일, 전화, 미팅과 메모를 시간순으로 볼 수 있는가?
- 이름·이메일·전화번호와 Memo/Note 내용으로 검색할 수 있는가?
- 중복 Client를 만들기 전에 확인할 단서가 충분한가?
- 휴대폰에서 전화 직후 기본정보와 메모를 입력할 수 있는가?
- 향후 NDA·OM·Follow-up 기록을 같은 History에 연결할 수 있는가?
다음 개발에서 중요한 것은 버튼을 더 많이 만드는 일이 아닙니다. 한 행동이 끝났을 때 상태가 바뀌고, 그 결과가 Client History에 남고, 다음 해야 할 일이 다시 화면에 나타나는지를 확인해야 합니다. 그래야 자동화가 단순한 발송 도구가 아니라 업무 누락을 막는 시스템이 됩니다.
자주 묻는 질문
Lead와 Client를 꼭 분리해야 하나요?
문의량이 적다면 하나의 목록으로도 관리할 수 있습니다. 하지만 자동 수집이 시작되면 광고성 메일, 중복 문의, 잘못 인식된 정보도 들어올 수 있습니다. 확인 전 Lead와 관계를 유지할 Client를 분리해야 고객 데이터의 품질을 지키기 쉽습니다.
기존 CRM의 Contact 기능과 무엇이 다른가요?
연락처 저장 자체는 크게 다르지 않습니다. SmartNexus가 지향하는 차이는 Client를 Listing, Lead, 이메일 thread, Event, NDA, OM과 같은 실제 거래 흐름에 연결하는 데 있습니다. 사람의 이름보다 그 사람과 이어진 업무 맥락을 함께 보여주는 것이 목적입니다.
이메일 내용을 전부 데이터베이스에 복사하나요?
반드시 그럴 필요는 없습니다. 이메일 서비스의 원본 메시지와 SmartNexus의 업무 기록을 어떻게 나눌지는 보안, 검색, 보관정책을 함께 고려해야 합니다. 초기에는 필요한 메타데이터와 연결정보를 중심으로 저장하고, 원문 보관 범위는 실제 사용과 개인정보 보호 기준에 맞춰 결정하는 편이 안전합니다.
Client Management 다음 개발 단계는 무엇인가요?
저장된 Lead와 Client를 기준으로 NDA 대상자를 전체·리스팅별·개별로 선택하고, 발송 가능 여부와 중복 발송 여부를 확인하는 작업 큐입니다. 이후 전자서명 완료 확인, OM 전달과 Follow-up이 같은 History로 이어져야 합니다.
공식 자료
- Google for Developers: Gmail API 가이드
- Microsoft Learn: Outlook Mail API 개요
- PostgreSQL 공식 문서: Full Text Search
- OWASP: Logging Cheat Sheet
관련 글
SmartNexus 개발 과정을 계속 기록합니다
SmartNexus는 비즈니스 브로커의 실제 업무에서 출발한 개인 개발 프로젝트입니다. 반복 업무를 줄이면서도 중요한 고객 관계와 후속 조치를 놓치지 않는 방법을 직접 사용하고 수정하며 기록하고 있습니다.
비슷한 업무에서 반복적으로 막히는 지점이 있다면 Active95로 알려주세요.
