Dialogflow CX to CES Migration
/install dialogflow-cx-to-ces-migration
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
- GCP Auth:
gcloud auth application-default login - Project access: Dialogflow CX API enabled on the project
- Python: 3.10+
- 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
- Review
ces_agent.json— check sub-agent instructions make sense, update tool endpoints - Import into CES Console:
- Go to ces.cloud.google.com
- Select project → Import Agent → Upload
ces_agent.json
- Upload Golden Evals:
- Evaluate tab → + Add test case → Golden → Upload file → select
golden_evals.csv
- Evaluate tab → + Add test case → Golden → Upload file → select
- Re-create Entity Types from
entity_types.json(CES uses them as tool parameters) - Update webhook endpoints in the Tools section of your CES agent
- 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:
- EVAL_FLOWS: All non-default flows appear as sub-agents in
ces_agent.json? - EVAL_TOOLS: All webhooks appear as tools with OpenAPI schemas in
ces_agent.json? - EVAL_ENTITIES: All entity types exported to
entity_types.json? - EVAL_EVALS_CSV:
golden_evals.csvhas correct header + at least one golden eval row? - EVAL_INSTRUCTIONS: Each sub-agent has non-empty instructions?
- EVAL_REPORT:
migration_report.mdexists and contains a stats table?
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dialogflow-cx-to-ces-migration - After installation, invoke the skill by name or use
/dialogflow-cx-to-ces-migration - Provide required inputs per the skill's parameter spec and get structured output
What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 106 downloads so far.
How do I install Dialogflow CX to CES Migration?
Run "/install dialogflow-cx-to-ces-migration" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Dialogflow CX to CES Migration free?
Yes, Dialogflow CX to CES Migration is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Dialogflow CX to CES Migration support?
Dialogflow CX to CES Migration is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Dialogflow CX to CES Migration?
It is built and maintained by Yash Kavaiya (@yash-kavaiya); the current version is v1.0.0.