系统变量是对话工作流内置的动态变量,无需手动赋值,可直接在话术、Prompt 或接口参数中引用。变量格式为:
${sys.变量名},运行时系统会自动替换为真实取值。变量列表
变量名称 | 变量标识 | 说明 | 格式示例 | 取值时机 |
会话 ID | ${sys.sessionId} | 本次通话/对话的唯一标识 | — | 通话开始时确定 |
主叫号码 | ${sys.caller} | 呼叫发起方号码 | — | 通话开始时确定 |
被叫号码 | ${sys.callee} | 呼叫接收方号码 | — | 通话开始时确定 |
通话开始时间 | ${sys.callStartTime} | 本次通话/对话实际开始的时间点 | 2019-02-12 12:00:00 | 通话开始时确定,之后固定不变 |
通话时长 | ${sys.callDuration} | 从通话开始到当前时刻已经过的时长(单位:秒) | 125 | 实时计算 |
当前日期 | ${sys.currentDate} | 变量被使用时刻的日期 | 2019-02-12 | 实时取值 |
当前时间 | ${sys.currentTime} | 变量被使用时刻的具体时间 | 2019-02-12 15:30:45 | 实时取值 |
使用方式
话术/Prompt 引用:在 智能体管理 > 对话节点 的话术编辑框中输入
$,即可唤起系统变量列表,选择需要的变量后自动插入 ${sys.变量名}。接口参数引用:在接口调用节点的参数中,可直接填写上述变量标识,运行时系统会自动替换为真实取值。
查看说明:话术编辑框下方提示“通过${变量名称}格式可引用变量”处,点击查看变量说明可查看本文档。
在话术编辑框中输入
$ 唤起系统变量列表:
向下滚动列表,可继续选择通话时长、当前日期、当前时间等变量:

时区说明
不指定时区时,通话开始时间、当前日期、当前时间均默认按北京时间(Asia/Shanghai,UTC+8)计算。
如需使用其他时区,可在变量标识后追加下划线和 IANA 时区名称,也可在变量列表中选择带指定时区的变量,例如:
${sys.currentTime_Asia/Shanghai}、${sys.currentTime_America/Los_Angeles}。时区名称遵循 IANA 标准,区分大小写,需严格按 Area/Location 格式填写:区域和城市名首字母大写,城市名中的空格用下划线 _ 代替。正确示例:
Asia/Shanghai、Europe/London、America/New_York。错误示例:
asia/shanghai、America/new_york、europe/london。大小写不符的时区名可能无法识别,导致变量取值为空或使用默认时区。通话时长以秒数表示,不受时区影响。
常见问题
问题 | 说明 |
通话未开始时引用「通话开始时间」「通话时长」会怎样? | 返回空值。 |
电话通话与在线文本对话的取值是否一致? | 一致,不区分通话类型,统一按同一套逻辑取值。 |
时间是否支持时区切换? | 支持。通过变量标识后缀指定时区,不提供全局时区配置,未指定时默认北京时间(UTC+8)。 |