# 통화 변수 (/docs/voice-agent/call-variables)

**통화 변수**는 한국AI통신이 통화마다 채워 주는 값입니다. 설정 없이 모든 매니지드 에이전트 통화에서 쓸 수 있습니다.

쓰는 곳은 둘입니다.

| 쓰는 곳                | 방법                                     |
| ---------------------- | ---------------------------------------- |
| **에이전트 지시문**    | `{{call.customer_number}}` 처럼 변수를 적습니다 |
| **외부 도구(MCP) 서버** | 요청마다 `X-ClawOps-*` 헤더로 받습니다   |

## 지시문 변수

- `{{call.id}}` (string, 필수): 통화 ID. CA 로 시작합니다.
- `{{call.direction}}` (string, 필수): inbound 또는 outbound
- `{{call.customer_number}}` (string, 필수): 상대방 번호. 착신이면 건 사람, 발신이면 받는 사람의 번호입니다. 착신 발신자가 번호 표시제한을 걸었으면 빈 문자열입니다.
- `{{call.agent_number}}` (string, 필수): 이 통화에 쓰인 우리 번호. 착신이면 걸려 온 번호, 발신이면 발신 번호입니다.
- `{{call.from}}` (string, 필수): 발신 번호. 착신 발신자가 번호 표시제한을 걸었으면 빈 문자열입니다.
- `{{call.to}}` (string, 필수): 수신 번호
- `{{call.forwarded_from}}` (string, 선택): 착신전환으로 들어온 통화에서 발신자가 원래 건 번호. 없으면 빈 문자열입니다.
- `{{call.caller_id_restricted}}` (string, 필수): 착신 통화의 발신자가 번호 표시제한을 걸었으면 true, 아니면 false
- `{{now}}` (string, 필수): 통화를 시작한 시각(한국 시간). 예: 2026-10-20(화) 15:42
- `{{today}}` (string, 필수): 통화를 시작한 날짜(한국 시간). 예: 2026-10-20(화)

번호는 하이픈 없는 숫자로 들어갑니다. 예: `01012345678`

번호 표시제한 통화의 번호는 지시문에 넣지 않습니다. 외부 도구(MCP) 헤더에는 실립니다.

### 예시

```text
지금 전화하신 분의 번호는 {{call.customer_number}} 입니다.
오늘은 {{today}} 입니다.
상담 예약을 받을 때는 "지금 거신 번호로 연락드려도 될까요?" 라고 먼저 여쭤 보세요.
```

통화가 시작될 때 모델에는 이렇게 전달됩니다.

```text
지금 전화하신 분의 번호는 01012345678 입니다.
오늘은 2026-10-20(화) 입니다.
상담 예약을 받을 때는 "지금 거신 번호로 연락드려도 될까요?" 라고 먼저 여쭤 보세요.
```

### 치환 규칙

- 위 표의 이름과 그 통화의 `Variables` 이름만 바꿉니다. 그 밖의 `{{...}}` 는 그대로 모델에 갑니다.
- [CallContext](/docs/webhooks/call-context) 의 `Variables` 도 `{{이름}}` 으로 치환됩니다. `[이번 통화의 데이터]` 로도 계속 덧붙습니다.
- `Variables` 에 `now`·`today` 를 넣어도 지시문에는 위 표의 값이 들어갑니다.
- 값은 통화가 시작될 때 한 번 정해집니다.
- 대시보드의 채팅·음성 테스트에서는 통화가 없어 `call.` 변수가 빈 문자열이 됩니다(`call.caller_id_restricted` 는 `false`). `Variables` 변수는 그대로 남습니다.

## 외부 도구(MCP) 헤더

[외부 도구 연결](/docs/voice-agent/managed)에 등록한 MCP 서버로 가는 요청에는 아래 헤더가 실립니다.

- `X-ClawOps-Call-Id` (string, 선택): 통화 ID
- `X-ClawOps-Direction` (string, 선택): inbound 또는 outbound
- `X-ClawOps-Customer-Number` (string, 선택): 상대방 번호
- `X-ClawOps-Agent-Number` (string, 선택): 이 통화에 쓰인 우리 번호
- `X-ClawOps-Agent-Id` (string, 필수): 에이전트 ID

값이 없는 헤더는 싣지 않습니다. 대시보드의 채팅·음성 테스트에서는 `X-ClawOps-Agent-Id` 만 실립니다.

`X-ClawOps-` 로 시작하는 헤더 이름은 한국AI통신이 씁니다. 연결에 같은 이름의 헤더를 등록할 수 없습니다.

헤더는 연결에 등록한 인증 헤더와 함께 실립니다.
