General capability layer Skill, only encapsulates Volcengine Cloud Communication TOP cross-businessnumber status / authentication query APIs:
- Risk control blacklist:
QueryRiskDenyInfo - Comprehensive number callability status:
QueryCanCall - Caller authentication (Click2Call):
QueryAuth
No longer includesany TTS / recording / general resource (list_resource / list_usable / update_resource / delete_resource / get_upload_url / submit_upload) entry points, all have been migrated to
byted-vms-voice-notifyskill.
When to use
Call this skill directly when the user expresses the following:
- "Is this number on the risk control blacklist?" "Is the number blacklisted?"
- "Can this number be called now?" "Batch validate the callability of a batch of numbers"
- "Check the caller authentication status" "Click2Call caller authentication"
Do notuse this skill to handle TTS or recording/resources:
| User request | Skill / command to use |
|---|---|
| Create / delete / query TTS templates | byted-vms-voice-notify of open_create_tts / delete_tts / list_resource --type 1 (renaming/changing text is not supported, use the console) |
| Upload / delete / query recordings, direct recording upload | byted-vms-voice-notify of create_voice / query_voice / delete_voice / get_upload_url + submit_upload |
| List recordings / IVR / TTS, rename, general delete | byted-vms-voice-notify of list_resource / list_usable / update_resource / delete_resource |
Environment variables
Authentication is resolved in the following priority order (consistent with other vms-* skills):
ARK_SKILL_API_KEY+ARK_SKILL_API_BASE→ Volcengine arkclaw Enterprise Edition. Please first configure AK/SK on the Volcengine backend page, and arkclaw will inject these two environment variables (ARK_SKILL_API_KEYis the API key,ARK_SKILL_API_BASEis the API base URL), the script usesBearerauthentication to connect directly to the gateway, no local signing required;VOLC_ACCESS_KEY+VOLC_SECRET_KEY(compatible withVOLCENGINE_ACCESS_KEY/VOLCENGINE_SECRET_KEY) → personal edition arkclaw / openclaw / coco / aime / claudecode and other ordinary agents, the user directly tells the agent the AK/SK, and the script performs HMAC-SHA256 (Volc V4) signing locally;- Otherwise, report an error and prompt the user to fill in AK/SK.
Core commands
# 1. 查号码是否在平台风控黑名单 (默认明文)
python3 scripts/configure.py query_risk_deny --mobile 13800138000 \
[--account-request-id biz-uuid-xxx] [--encrypt-type 0|1]
# 2. 查号码当前是否可被呼叫 (综合状态), 多个用逗号分隔
python3 scripts/configure.py query_can_call --numbers 13800138000,13900139000 \
[--business-line-id 1] [--call-type 1]
# 3. 查主叫鉴权状态 (Click2Call 主叫必填鉴权), Phone 需 AES 加密后再传入
python3 scripts/configure.py query_auth --phone <AES_ENCRYPTED_PHONE>
Standard execution flow
Risk control/callability pre-check (recommended as a front step for downstream business)
query_risk_deny: If a single number hits the platform blacklist, directly return a rejection, and the business can remove it before persisting;query_can_call: Multi-number batch comprehensive validation (number attribution / blacklist / call restriction periods, etc.), suitable for batch filtering before outbound calling tasks;query_auth: Caller number authentication status validation in Click2Call scenarios.
Error fallback
OperationDenied: Voice service not activated → https://console.volcengine.com/cloud_vms.NOT_AUTH: Account not real-name verified → https://console.volcengine.com/user/authentication/enterprise/.BLACK_LIST_PHONE: Hit the platform blacklist → the business side needs to usequery_risk_deny/query_can_callfor pre-check before outbound calling.- Authentication failure: prompt to check AK/SK. For ordinary agents (personal edition arkclaw / openclaw / coco / aime / claudecode), check
VOLC_ACCESS_KEY/VOLC_SECRET_KEY; Volcengine arkclaw Enterprise Edition requires first configuring AK/SK on the Volcengine backend page, then confirming thatARK_SKILL_API_KEY/ARK_SKILL_API_BASEhas been injected.
The mapping from error codes to prompts is in scripts/_topclient.py of ERROR_MAP , and on failure the script outputs errorCode + suggest.
Reference APIs
📚 Basic knowledge / Parameter passing reference
query_auth 's Phone field requires AES encryption, query_can_call 's batch number format,
encrypt_type value taking and other general specifications are all documented in this skill's built-in local basic knowledge document:
references/vms-fundamentals.md
This document covers authentication / encryption and decryption / error codes / SubServiceType / number status mapping / egress IP whitelist, etc. All vms-* skills share the same content, loaded locally with no external network dependency. Feishu original text (optional): https://bytedance.sg.larkoffice.com/docx/Mv32dc0yooBn7txDxW8lsDdDgYb