사용자 지정 채널
사용자 지정 채널
웹훅으로 외부 텍스트 채널을 ElevenLabs 에이전트에 연결
개요
Custom Channel은 외부 메시징 시스템을 ElevenLabs 에이전트에 연결합니다. 사용자 메시지를 ElevenLabs 웹훅으로 전송한 후, 자체 HTTPS 엔드포인트에서 에이전트 응답을 받으세요.
기능
설정
메시지 전송
생성된 웹훅 URL에 POST 요청을 보냅니다.
ElevenLabs는 턴을 처리하기 전에 202 Accepted를 반환합니다.
대화를 계속하려면 해당 conversation_id와 새 user_message_id를 포함해 다른 요청을 보냅니다.
응답 수신
ElevenLabs는 각 턴이 끝난 후 응답 웹훅 URL에 POST 요청을 보냅니다.
처리에 실패하면 status는 failed이고, data는 []이며, error에 설명이 포함됩니다.
data는 턴 순서대로 이벤트를 나열합니다. 각 항목에는 type과 event가 있습니다.
agent_response에는 에이전트 발화 1개가 포함됩니다.response_id는 발화를 고유하게 식별하고,event_id는 이를 턴에 연결합니다. 채널에서 턴당 하나의 텍스트 버블을 표시한다면agent_response값을 결합하세요.agent_tool_response는 도구 결과를 보고하며 해당 턴의event_id를 공유합니다.status는success,error,blocked,skipped중 하나입니다.tool_type: "system",tool_name: "end_call",status: "success"인 응답은 에이전트가 대화를 종료했음을 의미합니다.
여러 인바운드 메시지가 하나의 턴으로 병합될 수 있습니다. user_message_ids에는 이 응답이 답변하는 사용자 메시지 ID가 나열됩니다.
응답 서명 확인
각 응답에는 ElevenLabs-Signature 헤더가 포함됩니다.
다이제스트는 아웃바운드 서명 시크릿을 사용하여 {timestamp}.{raw_request_body}에 대해 생성한 HMAC-SHA256 서명입니다. JSON을 파싱하기 전에 원시 본문을 확인하고 오래된 타임스탬프는 거부하세요.
전송 동작
ElevenLabs는 약 0초, 0.5초, 2초에 총 3회의 프로세스 내 전송을 시도합니다. 2xx 응답을 받으면 전송이 성공한 것으로 처리합니다.
요청 본문은 최대 256 KiB로 제한됩니다.