
통화 전환은 전화 통화에서만 동작해요. 웹 통화 테스트에서는 실행되지 않아요.
언제 사용하나요
- 고객이 사람 상담사를 찾을 때: 에이전트가 안내를 마치고 상담사 번호로 넘겨요.
- 사람이 판단해야 하는 문의가 나올 때: 기술 문제나 장애 신고처럼 에이전트가 처리할 수 없는 문의를 담당 부서로 넘겨요.
- 문의마다 받을 곳이 다를 때: 대상을 여러 개 등록하고 전환 조건으로 나누면 에이전트가 대화에 맞는 곳을 골라요.
- 대기열이 있는 콜센터로 넘길 때: 즉시 전환으로 대표번호에 바로 연결해요.
전환 방식 고르기
전환 방식은 도구마다 하나로 정해요. 에이전트는 통화 중에 방식을 바꾸지 않고, 등록한 대상 가운데 하나만 골라요.
연결 속도가 가장 중요하거나 대기열이 있는 대표번호로 넘기면 즉시 전환을 고르세요. 상담사가 상황을 알고 받아야 하거나, 상담사가 자리를 비웠을 때 에이전트가 다시 응대해야 하거나, 전환 뒤 대화까지 기록해야 하면 안내 후 전환을 고르세요. 금액과 과금 구간은 요금에 있어요.

통화 전환 도구 추가하기
1
도구 추가하기
에이전트 설정의 도구에서 추가를 누르고 통화 전환을 고르세요. 함수 이름은
transfer_to_support처럼 넘길 곳이 드러나게 짓고, 함수 설명에는 언제 전환할지 적으세요. 예: 고객이 사람 상담사와 통화를 원하거나 에이전트가 처리할 수 없는 문의를 하는 경우2
전환 대상 넣기
전환 설정에서 타입을 고르고 대상을 넣으세요. 전화에는 국내 전화번호를 적고(예:
02-6123-4567, 붙임표가 있어도 돼요), SIP에는 SIP URI를 적으세요(예: sip:support@company.com). 대상에도 {{변수명}} 꼴의 동적 변수를 쓸 수 있어요. 대상이 둘 이상이면 대상마다 전환 조건을 겹치지 않게 적으세요.SIP 대상이 있으면 SIP 헤더가 나타나요. 고객 ID나 부서 코드처럼 PBX가 라우팅에 쓸 값을 10개까지 실어 보낼 수 있어요. 헤더 이름은 X-로 시작하고, 값에는 {{customer_id}} 같은 동적 변수를 쓸 수 있어요. PBX 연동은 SIP 연동에 있어요.3
전환 타입과 발신표기번호 고르기
전환 타입에서 즉시 전환이나 안내 후 전환을 고르세요. 발신표기번호는 상담사 전화기에 뜰 번호예요. 상담사가 발신자를 바로 고객으로 알아봐야 하면 사용자 번호를, 대표번호를 띄우려면 vox 에이전트 번호를 고르세요.안내 후 전환이면 상담사에게 전할 안내 메시지를 정하세요. 동적은 에이전트가 통화마다 대화를 세 문장 이내로 요약해 전하고, 입력창에는 요약 방식을 적어요. 정적은 적어 둔 문장을 통화마다 그대로 읽어요.
4
고객에게 할 안내 넣기
실행 전 말하기를 켜고 “담당 상담사에게 연결해 드리겠습니다. 잠시만 기다려 주세요.” 같은 안내를 넣으세요. 기본으로 꺼져 있어서 켜지 않으면 에이전트가 아무 말 없이 전환해요. 안내 중 고객 말을 받을지는 도구 실행 중 끼어들기 허용으로 정해요. 공통 설정은 도구 개요에 있어요.
5
프롬프트에 전환 조건 적기
프롬프트에도 어떤 상황에서 전환할지 함수 이름으로 적으세요. 함수 설명과 같은 조건을 적어야 에이전트가 헷갈리지 않아요.
통화에서 일어나는 일
- 안내를 마친 뒤 전환을 시작해요. 상담사 전화가 울리기까지 몇 초가 걸려요. 안내 중에 고객이 “아니요, 그냥 여기서 물어볼게요”처럼 말을 바꾸면, 도구 실행 중 끼어들기 허용이 켜져 있을 때 전환을 취소하고 대화를 이어가요. 꺼 두면 전환을 끝까지 진행해요.
- 안내 후 전환은 상담사에게 먼저 상황을 전해요. 상담사가 받으면 에이전트가 상담사에게만 안내 메시지를 읽고, 그동안 고객은 연결음을 들어요. 안내가 끝나면 고객과 상담사가 연결되고 에이전트는 빠져요.
- 안내 후 전환에서 상담사가 30초 안에 받지 않으면 에이전트가 돌아와요. 받지 않거나 거절하면 에이전트가 고객 응대를 이어가요. 즉시 전환은 넘기는 순간 에이전트가 빠져서, 상담사가 받지 않으면 통화가 끊겨요.
- 음성사서함이 받아도 연결된 것으로 봐요. 전화가 연결됐는지만 보기 때문에 자동응답이 받아도 안내 뒤 고객과 연결해요.
- 전환 대상의 변수가 채워지지 않으면 전환하지 않아요.
- 통화 기록에 종료 사유가 남아요. 연결 종료 사유는
call_transfer예요. 안내 후 전환이면 상담사와 나눈 대화까지 통화 기록에서 이어 들을 수 있어요.

API로 진행 중 통화 넘기기
CRM이나 PBX 같은 외부 시스템에서 진행 중인 통화를 상담사에게 바로 넘길 수 있어요. 에이전트에 통화 전환 도구가 없어도 돼요. 에이전트는 고객에게 “상담원을 연결해 드리겠습니다. 잠시만 기다려 주세요.”라고 안내한 뒤 전환을 시작해요.cURL
Idempotency-Key 헤더는 필수예요. 같은 키와 같은 본문으로 다시 보내면 24시간 동안 처음 결과를 그대로 돌려주고 전환을 다시 실행하지 않아요. 같은 키에 다른 본문을 보내면 409 IDEMPOTENCY_KEY_CONFLICT, 앞 요청이 아직 처리 중이면 409 IDEMPOTENCY_KEY_IN_PROGRESS가 와요.
HTTP 202는 요청을 진행 중인 통화에 전달했다는 뜻이에요. 통화 기록의 종료 사유나 call_ended 웹훅에 담긴 call_transfer는 에이전트가 통화를 넘겼다는 뜻이에요. 즉시 전환에서는 이 값만으로 상담사가 전화를 받았는지 확인할 수 없어요. 상담사의 실제 수신 여부는 전환 대상 쪽에서 확인하세요.
전환이 거절되면 주로 아래 코드가 와요.
CALL_NOT_ACTIVE: 진행 중(ongoing)인 통화가 아니에요.TRANSFER_NOT_SUPPORTED: 웹 통화처럼 전환할 수 없는 통화예요.INVALID_TRANSFER_REQUEST: 요청 본문이 전환 규칙에 맞지 않아요.TRANSFER_COMMAND_UNAVAILABLE: 에이전트에 명령을 전달하지 못했어요.503이면details.retryable을 보세요.true면 전달되지 않은 게 확실하니 같은 키로 다시 보내세요.false면 전달됐는지 알 수 없는 상태라 새 키를 만들지 마세요. 새 키로 보내면 전환이 두 번 실행될 수 있어요.
문제가 생겼을 때
에이전트가 아무 말 없이 전환해요
에이전트가 아무 말 없이 전환해요
실행 전 말하기를 켜고 안내를 넣으세요. 이 설정은 기본으로 꺼져 있어요. 플로우 에이전트에서는 통화 전환 노드의 프롬프트가 같은 역할을 해요.
상담사가 받지 않았는데 통화가 끊겼어요
상담사가 받지 않았는데 통화가 끊겼어요
상담사가 자주 자리를 비우는 번호라면 안내 후 전환으로 바꾸세요. 즉시 전환은 넘기는 순간 에이전트가 빠져서 상담사가 받지 않아도 돌아오지 않아요.
안내 후 전환인데 음성사서함이 받았어요
안내 후 전환인데 음성사서함이 받았어요
응답기가 꺼진 번호나 사람이 받는 대표번호를 전환 대상으로 쓰세요. 전화가 연결되는 순간을 응답으로 보기 때문에 음성사서함이 받아도 안내 뒤 고객과 연결돼요.
API로 에이전트를 고친 뒤 전환 설정이 바뀌었어요
API로 에이전트를 고친 뒤 전환 설정이 바뀌었어요
API, MCP, CLI로 에이전트를 고칠 때는 기존
builtInTools 값을 그대로 보내세요. 프롬프트만 바꾸면서 도구 목록을 새로 만들면 전환 타입은 cold, 안내 메시지 방식은 static, 발신표기번호는 agent로 돌아가요. 필드 정의는 v3 API 참조의 에이전트 API에서 TransferCallTool을 보세요.