← 블로그 목록

ChatGPT custom action 으로 한국 070 발신 — webhook 안 만들고 5분 셋업

ChatGPT GPTs custom action 으로 한국 070 번호 전화를 거는 방법. OpenAPI schema + ClawOps REST API 연동 + 권한 설정.

ChatGPT custom action 으로 한국 070 발신 — webhook 안 만들고 5분 셋업

ChatGPT GPTs 의 custom action 으로 한국 070 번호 발신을 붙일 수 있다. 자체 백엔드/webhook 서버 없이 ClawOps REST API 를 GPTs 가 직접 호출.

0. 사전 준비

  • ChatGPT Plus/Business (custom GPT 만들기 권한)
  • ClawOps 계정 + API 키

1. ClawOps API 키 + 070 번호 발급

curl -X POST https://api.claw-ops.com/v1/accounts/{accountId}/numbers \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{"webhookUrl": ""}'

응답:

{ "id": "num_abc...", "phone_number": "07052358010" }

2. Custom GPT 만들기

ChatGPT → My GPTs → Create → Configure.

Instructions (system prompt)

당신은 한국 070 번호로 전화를 걸 수 있는 비서입니다.
사용자가 "OOO 에게 전화해서 XXX" 라고 요청하면:
1. make_call action 호출
2. To: 사용자가 말한 번호 (010, 02, 070 등)
3. From: 미리 설정된 070 번호 (07052358010)
4. AI.Provider=openai, AI.Model=gpt-realtime, AI.ApiKey=OpenAI 키
5. AI.Messages 의 system 메시지에 사용자 요청을 짧고 명확하게 변환해서 넣기
끝나면 결과를 한국어로 요약.

Actions

Add action → OpenAPI schema:

openapi: 3.0.0
info:
  title: ClawOps Voice API
  version: "1.0"
servers:
  - url: https://api.claw-ops.com/v1
paths:
  /accounts/{accountId}/calls:
    post:
      operationId: make_call
      summary: 한국 070 번호로 전화 걸기 (AI 응답)
      parameters:
        - name: accountId
          in: path
          required: true
          schema: { type: string }
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [To, From]
              properties:
                To:
                  type: string
                  description: "01012345678 형식, 한국 번호만"
                From:
                  type: string
                  description: "발신 070 번호"
                AI:
                  type: object
                  description: "이 필드를 넣으면 AI가 통화를 처리 (Url 생략 시 Agent 모드). Provider/Model/ApiKey 필수"
                  required: [Provider, Model, ApiKey]
                  properties:
                    Provider:
                      type: string
                      enum: [openai, gemini]
                    Model:
                      type: string
                      description: "예: gpt-realtime"
                    ApiKey:
                      type: string
                      description: "AI 제공자(OpenAI/Gemini) API 키"
                    Voice: { type: string }
                    Language: { type: string, default: "ko" }
                    Messages:
                      type: array
                      description: "초기 메시지(system prompt 등). OpenAI Chat Completions 형식"
                      items:
                        type: object
                        properties:
                          role: { type: string, enum: [system, user] }
                          content: { type: string }
                    Greeting:
                      type: boolean
                      description: "통화 시작 시 AI가 먼저 인사할지 여부"
      responses:
        "200":
          description: 발신 시작
          content:
            application/json:
              schema:
                type: object
                properties:
                  id: { type: string }
                  status: { type: string }
  /accounts/{accountId}/calls/{callId}:
    get:
      operationId: get_call
      summary: 통화 결과·요약 조회
      parameters:
        - name: accountId
          in: path
          required: true
          schema: { type: string }
        - name: callId
          in: path
          required: true
          schema: { type: string }
      responses:
        "200":
          description: 통화 결과
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
security:
  - bearerAuth: []

Authentication

Custom action → Authentication → API Key → Bearer:

  • API Key: sk_...
  • Auth Type: Bearer

Privacy policy URL

ChatGPT 가 외부 API 호출시 요구. https://claw-ops.com/privacy 사용 가능.

3. 테스트

GPT 저장 후 채팅:

010-1234-5678 한테 전화해서 "내일 미팅 5시로 옮긴다고 전해줘"

GPT 가 make_call action 호출 → ClawOps 070 발신 → AI 가 메시지 read out → 결과 채팅창 반환.

4. 한계

  • ChatGPT custom action 은 모든 회사·개인이 같은 GPT 사용시 같은 API key 공유 (per-user 분리 어려움). 일 cap 필요시 ClawOps Console 에서 발신 단가 cap 설정.
  • 통화 시간 길어지면 GPT 요청이 timeout (30초). 비동기 패턴 권장: make_call 으로 발신만 → call_id 받음 → 사용자가 "결과 알려줘" 하면 get_call 호출.

5. 보안 권장

  • ChatGPT GPT 가 public 이면 API key 가 cap 안 두면 위험. 다음 박을 것:
    • 발신 가능 prefix 화이트리스트 (010, 02, 031, ... 만)
    • 일 발신 cap (MAX_CALLS_PER_DAY=20)
    • 야간 발신 차단 (서버측에서)

6. 비용

  • ChatGPT Plus: $20/월
  • ClawOps Trial 무료, Individual ₩19,000/월

다음 단계

이전 글

MCP 음성 서버 직접 만들기 — Stdio + HTTP 양쪽 지원, 코드 50줄

ClawOps AI 전화 API로 시작하기

070 번호 발급부터 AI 음성 통화까지, REST API 몇 줄이면 됩니다.