← 返回 Skills 市场
yash-kavaiya

Dialogflow CX to CES Migration

作者 Yash Kavaiya · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
106
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install dialogflow-cx-to-ces-migration
功能描述
Full production-grade migration of a Dialogflow CX agent (v3beta1) to Google Customer Engagement Suite (CES) Conversational Agents. Migrates flows→sub-agents...
使用说明 (SKILL.md)

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?
安全使用建议
This tool is coherent with its stated purpose. Before running it: (1) authenticate with gcloud application-default login in a secure context (it will use those credentials to read your Dialogflow CX agent), (2) run the --dry-run first to preview outputs, (3) be aware that the exported files include webhook endpoints and full agent configuration—treat migration_output as sensitive and don't share it publicly, and (4) review and reconfigure webhook auth (OAuth/mTLS) in CES after import because credentials are not migrated.
功能分析
Type: OpenClaw Skill Name: dialogflow-cx-to-ces-migration Version: 1.0.0 The skill bundle provides a legitimate utility for migrating Dialogflow CX agents to Google Customer Engagement Suite (CES). The primary script, `migrate.py`, uses official Google Cloud client libraries (`google-cloud-dialogflow-cx`) and standard authentication methods to perform data transformation and export. There is no evidence of data exfiltration, unauthorized network calls, or malicious execution patterns like `eval()` or `os.system()`. The instructions in `SKILL.md` are consistent with the code's functionality, and the provided evaluation suite in `evals.py` correctly validates the migration outputs.
能力评估
Purpose & Capability
Name/description match the included code and outputs. The code uses the Dialogflow CX client libraries to list agents, flows, pages, intents, entity types, webhooks and test cases and produces CES-formatted JSON/CSV reports. Requiring Python, the google-cloud-dialogflow-cx libraries, and gcloud (for ADC auth) is proportionate.
Instruction Scope
SKILL.md instructs running migrate.py with a GCP project and agent ID and to authenticate via gcloud application-default login — which matches the code's use of google.auth.default(). The tool writes full agent exports to disk (ces_agent.json, entity_types.json, golden_evals.csv, migration_report.md) and will therefore surface webhook URIs and other agent configuration; this is expected for a migration but may disclose sensitive endpoints/config to whoever has access to the output directory.
Install Mechanism
No install spec or network downloads are present. The skill bundles Python source files and migration output artifacts; runtime dependencies are standard Python packages (declared in SKILL.md) and no external arbitrary downloads or extraction steps occur.
Credentials
The tool requires Google application-default credentials (gcloud ADC), which is appropriate for reading Dialogflow CX resources. It does not request unrelated credentials or extra environment variables. There are no hidden env-var accesses in the code review.
Persistence & Privilege
The skill is not always-enabled and does not request persistent platform privileges or modify other skills. It runs as a one-off migration tool using provided GCP credentials; that level of access is appropriate for its purpose.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install dialogflow-cx-to-ces-migration
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /dialogflow-cx-to-ces-migration 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Full production migration v1.0: Flows to SubAgents, Intents, Entity Types, Webhooks to Tools, Test Cases to Golden Evals CSV. Retry logic, dry-run, 6-eval binary suite at 100 percent pass.
元数据
Slug dialogflow-cx-to-ces-migration
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Dialogflow CX to CES Migration 是什么?

Full production-grade migration of a Dialogflow CX agent (v3beta1) to Google Customer Engagement Suite (CES) Conversational Agents. Migrates flows→sub-agents... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 106 次。

如何安装 Dialogflow CX to CES Migration?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install dialogflow-cx-to-ces-migration」即可一键安装,无需额外配置。

Dialogflow CX to CES Migration 是免费的吗?

是的,Dialogflow CX to CES Migration 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Dialogflow CX to CES Migration 支持哪些平台?

Dialogflow CX to CES Migration 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Dialogflow CX to CES Migration?

由 Yash Kavaiya(@yash-kavaiya)开发并维护,当前版本 v1.0.0。

💬 留言讨论