동적 변수
에이전트에게 개인화된 정보를 제공하는 방법에 대해 안내합니다.
동적 변수는 특정 통화에서 에이전트에 데이터를 삽입할 수 있도록 해주는 특수 문법입니다.
이를 통해 대화의 핵심 흐름을 유지하면서도 에이전트의 응답을 개인화할 수 있습니다. 동적 변수는 인사말을 맞춤화하거나, 특정 정보를 참조하거나, 상황에 따라 응답을 조정하는 데 적합합니다.
1. 사용 가능한 영역
동적 변수는 다음과 같은 영역에서 사용할 수 있습니다:
- 프롬프트
- 첫 메시지
2. 동적 변수 추가 및 테스트
프롬프트에 동적 변수 추가
동적 변수는 중괄호({{ }}
)로 둘러싸인 자리 표시자입니다. 예를 들어:
동적 변수 테스트
배포 전에 대시보드에서 동적 변수를 테스트합니다. 테스트를 통해 동적 변수의 올바른 작동을 확인할 수 있습니다.
테스트 프리셋에서 설정한 동적 변수는 웹에서 테스트 용도로만 사용됩니다. 실제 인바운드 콜의 경우 다음 스텝을 참조하여 인바운드 웹훅 서버를 구성하시기 바랍니다.
프로덕션에 구현
대시보드에서 [웹훅 설정] 탭의 인바운드 웹훅 URL
필드를 사용하여 웹훅 URL을 설정합니다.
웹훅은 다음과 같은 payload로 POST 요청을 처리하도록 구성합니다:
응답 json에 동적 변수를 반환합니다:
- dynamic_variables: 인바운드 콜에 대한 동적 변수를 설정하고자 할 때 사용합니다.
- metadata: 인바운드 콜에 대한 메타데이터를 설정하고자 할 때 사용합니다. 통화와 관련된 내부 고객 ID와 같은 정보를 저장할 수 있습니다. 이 데이터는 통화 데이터 웹훅(webhook)에서 그대로 반환됩니다.
Tip: payload는 고정값으로 변경할 수 없으며, 응답 json은 사용하는 동적변수에 맞게 수정 가능합니다. 응답 json의 key값이 프롬프트의 동적변수와 일치하면 자동으로 채워집니다.
3. 예외 상황
동적 변수에 값이 할당되지 않은 경우, 출력에서 변수가 그대로 유지됩니다.
이는 누락된 변수가 빈 문자열로 대체되거나 오류가 발생하는 대신 원래 형태({{변수이름}}
)로 표시됨을 의미합니다.
4. 웹훅 서버 설정 방법
자체 서버를 구축하여 웹훅을 처리할 수 있습니다. Python FastAPI나 Node.js 등을 사용할 수 있습니다.
[ Whitelist IP 주소 = 34.123.198.226 ] VoxAI IP 주소를 확인하고 허용 목록에 추가하여 보안을 강화할 수 있습니다.
자체 서버를 구축하여 웹훅을 처리할 수 있습니다. Python FastAPI나 Node.js 등을 사용할 수 있습니다.
[ Whitelist IP 주소 = 34.123.198.226 ] VoxAI IP 주소를 확인하고 허용 목록에 추가하여 보안을 강화할 수 있습니다.
Make.com은 코드 작성 없이 웹훅을 설정할 수 있는 노코드 플랫폼입니다.
주요 장점
- 코드 없이 직관적인 웹훅 설정 가능
- 외부 서비스와의 손쉬운 통합
- 실시간 모니터링 및 확장성
구현 예시
아래는 Make.com을 활용한 웹훅 구현 예시입니다:
Make.com 웹훅 시나리오 구성
구글 스프레드시트를 활용한 데이터 관리
위 시나리오는 발신번호(call_from)를 기준으로 사용자 정보를 조회하여 webhook 응답을 생성하는 과정을 보여줍니다.
설정 단계
- 새로운 시나리오 생성
- Webhooks 트리거 설정
- 발신번호 기반 조건부 라우팅 구성
- 응답 JSON 포맷 설정
- Webhooks 응답 처리