360 Secure SkillHub
360 安全技能中心

Dialogflow CX to CES Migration

核心功能:将Dialogflow CX v3beta1代理的流程、意图、测试用例等组件按规则映射迁移至谷歌CES对话代理格式,内置API自动重试机制,支持干跑预览。典型场景:企业需将现有Dialogflow CX智能客服迁移至谷歌CES平台时使用。输入为项目ID、代理UUID等参数,输出含可导入CES的配置文件、测试用例CSV、实体类型JSON及迁移报告,迁移后需少量手动补全配置。

yash-kavaiya
yash-kavaiya
热度 40.18
最近更新 2026-05-11 17:38:11
分类:开发依赖:代码执行 / 第三方 API / 读写文件应用场景:API 集成 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add dialogflow-cx-to-ces-migration
Metadata
name
dialogflow-cx-to-ces-migration
description
Full production-grade migration of a Dialogflow CX agent (v3beta1) to Google Customer Engagement Suite (CES) Conversational Agents. Migrates flows→sub-agents, pages→instructions, intents→routing hints, entity types, webhooks→tools, and test cases→golden evaluations CSV. Includes retry logic, dry-run mode, and a complete migration report.
metadata
{"openclaw":{"requires":{"bins":["python","gcloud"],"pip":["google-cloud-dialogflow-cx>=1.28.0","google-auth"]}}}

Dialogflow CX → CES Migration Skill

What This Skill Does

Migrates a Dialogflow CX v3beta1 agent to Google Customer Engagement Suite (CES) Conversational Agents format, producing:

Output File Contents
ces_agent.json CES agent definition (importable via Console or REST API)
golden_evals.csv CES batch evaluation CSV (golden test cases)
entity_types.json Entity type definitions for manual re-creation
migration_report.md Full migration summary with next steps

Migration Mapping

Dialogflow CX → CES Conversational Agents
Agent → Agent Application + Root Agent
Flow (non-default) → Sub-Agent
Pages + Routes → Agent Instructions (natural language)
Intent training phrases → Root agent routing hints
Entity Types → Exported JSON (manual import)
Webhook → Tool (OpenAPI schema)
Form Parameters → Instruction slot-filling steps
Test Cases → Golden Evaluations CSV

Prerequisites

  1. GCP Auth: gcloud auth application-default login
  2. Project access: Dialogflow CX API enabled on the project
  3. Python: 3.10+
  4. Packages: pip install google-cloud-dialogflow-cx google-auth

Usage

Run Migration

python migrate.py \
  --project YOUR_PROJECT_ID \
  --agent-id YOUR_AGENT_UUID \
  --output ./migration_output

Dry Run (fetch + preview, no files written)

python migrate.py \
  --project YOUR_PROJECT_ID \
  --agent-id YOUR_AGENT_UUID \
  --dry-run

Custom location (non-global agents)

python migrate.py \
  --project YOUR_PROJECT_ID \
  --agent-id YOUR_AGENT_UUID \
  --location us-central1 \
  --output ./migration_output

Example (carconnect agent)

python migrate.py \
  --project genaiguruyoutube \
  --agent-id 3736c564-5b3b-4f93-bbb2-367e7f04e4e8 \
  --output ./carconnect_ces

Expected output:

  • 14 flows → 13 sub-agents + root agent enrichment
  • 31 intents → root routing hints
  • 5 entity types → exported JSON
  • 2 webhooks → 2 OpenAPI tools
  • Test cases → golden_evals.csv

Post-Migration Steps

  1. Review ces_agent.json — check sub-agent instructions make sense, update tool endpoints
  2. Import into CES Console:
  3. Upload Golden Evals:
    • Evaluate tab → + Add test case → Golden → Upload file → select golden_evals.csv
  4. Re-create Entity Types from entity_types.json (CES uses them as tool parameters)
  5. Update webhook endpoints in the Tools section of your CES agent
  6. Run evaluation suite → review pass rates → iterate on instructions

Retry Logic

All Google API calls use exponential backoff (up to 4 attempts, base delay 1.5s × 2ⁿ). If the API is rate-limited or temporarily unavailable, the tool retries automatically.

Limitations & Known Gaps

  • Rich response types (carousels, chips, images) are converted to text messages. Update manually in CES.
  • Conditional routes using session parameter syntax ($session.params.X) are preserved as-is in instructions but may need updating for CES parameter syntax.
  • DTMF / telephony settings are not migrated (CES has different telephony config).
  • Entity type import: CES does not have a direct batch import API for entity types — use the exported JSON as reference to create them manually or via REST.
  • Webhook auth: OAuth and mTLS configs are noted but credentials must be re-configured in CES.

Autoresearch Evals (binary pass/fail)

When running autoresearch on this skill, use these evals:

  1. EVAL_FLOWS: All non-default flows appear as sub-agents in ces_agent.json?
  2. EVAL_TOOLS: All webhooks appear as tools with OpenAPI schemas in ces_agent.json?
  3. EVAL_ENTITIES: All entity types exported to entity_types.json?
  4. EVAL_EVALS_CSV: golden_evals.csv has correct header + at least one golden eval row?
  5. EVAL_INSTRUCTIONS: Each sub-agent has non-empty instructions?
  6. EVAL_REPORT: migration_report.md exists and contains a stats table?