{ "webhook": "my-assistant", "cases": [ { "name": "user 없이 IT 질문", "body": { "message": "VPN이 계속 끊겨요" }, "expect": { "equals": { "results.0.route": "입력 필요" } } }, { "name": "남의 접수 건이 섞인 복합 요청", "body": { "message": "T-1002 처리 상태 알려주고 프린터도 안 돼요", "user": "이준호" }, "expect": { "equals": { "count": 2, "results.0.route": "담당자 연결", "results.1.route": "자동 답변" }, "not_contains": { "reply": [ "정우성", "인증서 발급" ] } } }, { "name": "회의록은 붙였지만 IT 질문만", "body": { "message": "VPN이 계속 끊겨요", "user": "이준호", "title": "주간 회의", "notes": "참석: 김민지, 이준호, 박서연. 1) 신규 고객 문의 응답 템플릿을 이준호가 금요일까지 정리한다. 2) 박서연은 다음 주 월요일까지 VPN 장애 보고서를 작성한다. 3) 서버 점검 일정은 김민지가 오늘 중 공지한다. 4) 회의실 예약 규칙 개선은 담당자를 다음 회의에서 정한다. 다음 회의는 10월 23일." }, "expect": { "equals": { "count": 1, "results.0.agent": "it-agent" } } }, { "name": "업무 4개", "body": { "message": "VPN이 끊겨요. 프린터도 안 돼요. 회의록 할 일 정리해 주세요. 회식 장소도 추천해 주세요.", "user": "이준호", "title": "주간 회의", "notes": "참석: 김민지, 이준호, 박서연. 1) 신규 고객 문의 응답 템플릿을 이준호가 금요일까지 정리한다. 2) 박서연은 다음 주 월요일까지 VPN 장애 보고서를 작성한다. 3) 서버 점검 일정은 김민지가 오늘 중 공지한다. 4) 회의실 예약 규칙 개선은 담당자를 다음 회의에서 정한다. 다음 회의는 10월 23일." }, "expect": { "equals": { "count": 4, "results.2.agent": "meeting-agent", "results.3.route": "담당자 연결" } } }, { "name": "소문자 접수 번호", "body": { "message": "t1002 어떻게 되고 있나요?", "user": "박서연" }, "expect": { "contains": { "results.0.answer": [ "처리 중" ] } } }, { "name": "공백만 보냄", "body": { "message": " ", "user": "이준호" }, "expect": { "status": 400 } }, { "name": "영어로 질문", "body": { "message": "My VPN keeps disconnecting. What should I do?", "user": "이준호" }, "expect": { "equals": { "results.0.agent": "it-agent", "results.0.route": "자동 답변" } } } ] }