← 블로그 목록
유즈케이스2026-06-01

부동산 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(webhookUrl="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 — 내방 일정 잡기 + 중개사 연결

from clawops.agent.tools import tool

@tool
def schedule_visit(visitor_name: str, visitor_phone: str, 
                   preferred_date: str, preferred_time: str) -> dict:
    """내방 일정 등록. 중개사한테 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 {"scheduled": True}

@tool
def transfer_to_agent() -> dict:
    """중개사한테 즉시 연결 (warm transfer)."""
    return {"action": "transfer", "to": prop['agent_phone'], "mode": "warm",
            "context": f"매물 {prop_id} 문의자 연결"}

4. serve

from clawops.agent import ClawOpsAgent, OpenAIRealtime

ClawOpsAgent(
    from_=number.phone_number,
    session=OpenAIRealtime(
        system_prompt=build_property_prompt(prop),
        language="ko-KR",
        voice="alloy",
        tools=[schedule_visit, transfer_to_agent],
    ),
).serve()

5. 통화 흐름 예시

문의자: "여보세요, 이 매물 방 몇 개에요?"
AI: "안녕하세요, 이 매물은 25평 투룸이고요, 침실 2개 + 거실 + 주방 구조입니다. 
    옵션은 빌트인 에어컨, 세탁기, 인덕션 포함되어 있고요."
문의자: "월세가 얼마예요?"
AI: "보증금 1000만원 / 월세 80만원이고요, 관리비 별도 7만원입니다."
문의자: "강아지 키워도 되나요?"
AI: "네 반려동물 가능한 매물이에요. 소형견 1마리까지 가능합니다."
문의자: "내일 오후 보러 갈 수 있을까요?"
AI: "성함과 연락처, 원하시는 시간 알려주시면 일정 등록해드릴게요."
문의자: "박OOO, 010-1234-5678, 내일 오후 3시요."
AI: "네 등록해드렸고요, 중개사가 1시간 안에 연락드릴 거예요. 감사합니다."
[hang_up]

6. 개인정보 보호

  • 임대인·중개인 개인 휴대폰 번호가 외부 광고·문의자에게 노출되지 않는다. AI 070 이 앞단에서 받고, 필요할 때만 transfer_to_agent 로 담당자에게 연결한다.
  • 문의자 연락처는 내방 예약 시점에만 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(
    webhookUrl="https://your-app.com/inbound",
    note="중개인 김OO 본인명의 070",
    ttlSeconds=86400,
)
print(link.url)  # 중개인이 열어 본인인증 → 070 발급

관리번호 Add-on 은 Business 전용 ₩990,000/월. 발급된 회선과 미사용 pending 링크 합이 요금제 한도를 넘으면 발급이 막힌다.

다음 단계

관련 글 더 보기

ClawOps AI 전화 API로 시작하기

070 번호 발급부터 AI 음성 통화까지, REST API 몇 줄이면 됩니다.