← Back to Skills Marketplace
yash-kavaiya

Dialogflow CX to CES Migration

by Yash Kavaiya · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
106
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install 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...
README (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?
Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dialogflow-cx-to-ces-migration
  3. After installation, invoke the skill by name or use /dialogflow-cx-to-ces-migration
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug dialogflow-cx-to-ces-migration
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

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.

💬 Comments