부동산 AI 매물 문의 응대 만들기 — 24시간 매물 안내 + 내방 예약
부동산 AI 매물 문의 응대 만들기 — 24시간 매물 안내 + 내방 예약
부동산은 야간·주말에 매물 문의가 폭주하는데 사람이 다 못 받는다. ClawOps 070 + AI 로 대표번호(또는 지점·중개인별 070)를 두고, 한 번호에서 AI 가 24시간 매물 문의를 받아 안내·내방 예약을 처리한다. 임대인·중개인 개인 휴대폰 번호는 외부에 노출하지 않고, 필요할 때만 담당자에게 연결한다.
0. 사전 준비
- ClawOps Business 가입 (070 10개·동시 10통)
- 대표 070 1개 또는 지점·중개인별 070 발급 (
client.numbers.create) - 매물 데이터 (매물 코드 + 위치/면적/가격/조건)
- 한 070 으로 여러 매물을 받으므로, 호출자가 매물을 식별할 수단을 정한다 — 매물 광고에 표기한 매물 코드(통화 중 음성 입력)나 광고별 내선 등.
from clawops import ClawOps
client = ClawOps()
number = client.numbers.create(webhook_url="https://your-app.com/inbound")
print(number.phone_number) # 발급된 070 번호
1. 매물 식별 — 한 070, 여러 매물
대표 070 하나로 받되, 통화 시작 시 매물을 특정한다. 매물 광고에 표기한 매물 코드를 음성으로 받거나, 광고마다 다른 070(또는 내선)을 쓴다.
def resolve_property(call):
# 광고별 070 을 따로 발급한 경우: 착신 번호로 매물 매핑
prop_id = PROPERTY_BY_NUMBER.get(call.to)
if prop_id:
return load_property(prop_id)
# 대표 070 공용: 통화 중 매물 코드 입력을 받아 식별
return None # 코드 미확인 시 AI 가 매물 코드를 먼저 물어봄
2. system prompt — 매물 컨텍스트 fill-in
def build_property_prompt(prop):
return f"""
당신은 {prop['agent_name']} 중개사무소의 매물 안내 직원입니다.
# 매물 정보
- 주소: {prop['address']}
- 유형: {prop['type']} ({prop['area']}㎡, {prop['rooms']}룸)
- 가격: {prop['price_summary']}
- 옵션: {prop['options']}
- 입주 가능일: {prop['move_in_date']}
- 주차: {prop['parking']}
- 반려동물: {'가능' if prop['pet_friendly'] else '불가'}
- 특이사항: {prop['notes']}
# 행동 규칙
- 한국어, 짧게, 5분 이내
- 매물 코드가 확인 안 됐으면 먼저 어느 매물인지 물어본다
- 매물 기본 정보 (위치/면적/가격/옵션) 질문에 답변
- 내방·실측·계약 요청은 schedule_visit_tool 사용
- 가격 흥정은 "직접 협의 필요"라 답하고 schedule_visit
- 답 모르는 질문 (등기·세금·중개수수료 세부 등) 은 schedule_visit + 메모
# 절대 금지
- 등기·근저당·임대인 신상 정보 답변
- 가격 흥정·할인 약속
# 첫 발화
"{prop['type']} 매물 문의 주셔서 감사합니다. 무엇을 알려드릴까요?"
"""
3. tool — 내방 일정 잡기 + 중개사 연결
tool 은 @agent.tool 로 등록한다 (아래 4번에서 만든 agent 인스턴스 기준). 함수는 async 여야 하고 문자열을 반환하며, docstring 이 AI 에게 함수 설명으로 전달된다. 통화 중 전환(warm transfer)은 빌트인 BuiltinTool.TRANSFER_CALL 로 처리한다.
@agent.tool
async def schedule_visit(visitor_name: str, visitor_phone: str,
preferred_date: str, preferred_time: str) -> str:
"""내방 일정 등록. 중개사한테 SMS 알림."""
db.execute(
"INSERT INTO visits (prop_id, visitor_name, visitor_phone, date, time) "
"VALUES (?, ?, ?, ?, ?)",
(prop_id, visitor_name, visitor_phone, preferred_date, preferred_time),
)
# 중개사한테 알림
client.messages.create(
to=prop['agent_phone'], from_=number.phone_number,
body=f"[매물 {prop_id}] 내방 요청: {visitor_name}({visitor_phone}), "
f"{preferred_date} {preferred_time}",
)
return "내방 일정을 등록하고 중개사에게 알림을 보냈습니다."
4. serve
agent 를 먼저 만들고(위 3번의 @agent.tool 데코레이터가 이 인스턴스를 참조한다), serve() 로 인바운드 수신을 시작한다. 통화 전환은 빌트인 TRANSFER_CALL 로 활성화한다.
import asyncio
from clawops.agent import ClawOpsAgent, OpenAIRealtime, BuiltinTool
agent = ClawOpsAgent(
from_=number.phone_number,
session=OpenAIRealtime(
system_prompt=build_property_prompt(prop),
language="ko",
voice="marin",
),
builtin_tools=[BuiltinTool.HANG_UP, BuiltinTool.TRANSFER_CALL],
)
# (여기에서 위 3번의 @agent.tool 함수들을 등록)
asyncio.run(agent.serve()) # Ctrl+C로 종료
5. 통화 흐름 예시
문의자: "여보세요, 이 매물 방 몇 개에요?"
AI: "안녕하세요, 이 매물은 25평 투룸이고요, 침실 2개 + 거실 + 주방 구조입니다.
옵션은 빌트인 에어컨, 세탁기, 인덕션 포함되어 있고요."
문의자: "월세가 얼마예요?"
AI: "보증금 1000만원 / 월세 80만원이고요, 관리비 별도 7만원입니다."
문의자: "강아지 키워도 되나요?"
AI: "네 반려동물 가능한 매물이에요. 소형견 1마리까지 가능합니다."
문의자: "내일 오후 보러 갈 수 있을까요?"
AI: "성함과 연락처, 원하시는 시간 알려주시면 일정 등록해드릴게요."
문의자: "박OOO, 010-1234-5678, 내일 오후 3시요."
AI: "네 등록해드렸고요, 중개사가 1시간 안에 연락드릴 거예요. 감사합니다."
[hang_up]
6. 개인정보 보호
- 임대인·중개인 개인 휴대폰 번호가 외부 광고·문의자에게 노출되지 않는다. AI 070 이 앞단에서 받고, 필요할 때만 빌트인 통화 전환(
BuiltinTool.TRANSFER_CALL)으로 담당자에게 연결한다. - 문의자 연락처는 내방 예약 시점에만
schedule_visit으로 수집·저장하고, 중개사 알림(client.messages.create)에만 사용한다. - 통화 녹음 (자동) 은 GCP 서울 리전 내 보관.
- 개인정보보호법 — 수집한 문의자 연락처·통화 기록은 보유 기간을 정해 두고 기간 경과 후 폐기한다.
7. 비용
- ClawOps Business ₩99,000/월 (070 10개·동시 10통)
- Transcription ₩10/분, Summary ₩10/분 (통화 요약·기록이 필요하면)
- 매물 100건 × 월 평균 50통화 = 5,000분 규모도 070 10개·동시 10통 안에서 처리
월 임대료·중개수수료 단가 대비 무시 가능한 비용이다.
8. 중개인이 많을 때 — 관리번호로 본인명의 070 발급
중개인이 많아 각자 본인 070 이 필요하면 관리번호(External Assignment) Add-on 을 쓴다. 중개법인이 파트너 관리계정을 열고, 각 중개인에게 발급 링크를 보내면 중개인이 본인인증을 거쳐 본인명의 070 을 받는다. (매물별 임시 발급이 아니라, 중개인 1명당 본인명의 회선 1개를 정식 계약하는 모델이다.)
# 중개법인(파트너) 관리계정에서 각 중개인에게 발급 링크 생성
link = client.assignment_links.create(
webhook_url="https://your-app.com/inbound",
note="중개인 김OO 본인명의 070",
)
print(link.url) # 중개인이 열어 본인인증 → 070 발급
관리번호 Add-on 은 Business 전용 ₩990,000/월. 발급된 회선과 미사용 pending 링크 합이 요금제 한도를 넘으면 발급이 막힌다.
다음 단계
관련 글 더 보기
견적 문의 전화 자동 응대 AI — 인바운드 lead qualification 자동화
광고/마케팅으로 들어오는 견적 문의 전화를 AI 가 1차 응대해서 회사명·연락처·예산·일정 받아 영업팀 lead 큐로. 영업 시간외 100% 응대.
유즈케이스부재중 전화 자동 응대 AI — 영업시간 외 24시간 메모·콜백 자동화
영업시간 외 전화에 AI 가 응답하고 용건·연락처 받아 다음 영업일에 자동 callback 큐로 처리. 부재중 손실 0.
유즈케이스본인인증 받는 AI 전화 만들기 — DTMF + 음성 동의로 ARS 대체
한국 070 인바운드 + DTMF + 음성 동의로 본인인증을 한 통화에 끝내는 가이드. 기존 ARS 대비 자연스러움 + 자동 동의 수집 + 컴플라이언스.
유즈케이스정기 확인 전화 자동화 — 구독·결제·예약 리마인더 AI 통화
구독 갱신·결제 예정·예약 D-1 같은 정기 알림을 ClawOps 070 + AI 자동 전화로 처리. 이메일·SMS 보다 도달률 높고 대화형 confirm 가능.
유즈케이스학원 AI 상담 전화 만들기 — 학기·시간·비용 안내 + 상담 예약 자동화
어학원·입시학원·취미학원 — 070 + AI 로 커리큘럼·반편성·수강료·상담 일정 자동 응대. 카운셀러 인건비 절감 + 24시간 응답률 100%.