Dialogflow Cx Conversations
v1.0.0Manage conversations and sessions in Google Dialogflow CX via REST API. Use for testing intents, handling user interactions, and managing conversation state....
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name, description, SKILL.md, reference doc, and included CLI script all align: they implement Dialogflow CX session, detectIntent, matchIntent and test case operations. Minor inconsistency: the skill metadata lists no required env vars or primary credential, but the SKILL.md explicitly documents the need for Google credentials (gcloud auth or GOOGLE_APPLICATION_CREDENTIALS). This is expected for Dialogflow usage but the metadata omission is a bookkeeping gap.
Instruction Scope
Runtime instructions are narrowly scoped to Dialogflow CX API calls (curl examples) and using the provided CLI wrapper. The SKILL.md instructs how to obtain a bearer token or use a service account; it does not instruct reading unrelated files, contacting unexpected endpoints, or exfiltrating data.
Install Mechanism
No install spec is included (instruction-only). The Python script recommends installing google-cloud-dialogflow-cx and google-auth via pip, which is appropriate for the functionality. There are no downloads from unknown hosts or archive extraction steps.
Credentials
The skill requires Google authentication (gcloud ADC or a service account JSON). That is proportionate to Dialogflow access. However, the skill metadata does not declare these env vars/credentials (e.g., GOOGLE_APPLICATION_CREDENTIALS or a TOKEN) — the SKILL.md documents them but the registry metadata omitted them, which could confuse non-technical users about what secrets are needed.
Persistence & Privilege
The skill is not always-enabled and does not request elevated or persistent system privileges. It does not modify other skills or agent-wide configs. Autonomous invocation remains allowed (platform default) but that is normal here and not otherwise concerning.
Assessment
This skill appears to do exactly what it claims: call Dialogflow CX APIs and provide a small CLI wrapper. Before installing, ensure you supply appropriate Google credentials (use a service account with least-privilege Dialogflow roles or gcloud ADC). Be aware the registry metadata doesn't list required env vars — follow SKILL.md to authenticate. If you plan to run the included Python script, install the recommended pip packages in a virtual environment and review the script to confirm it fits your usage and permission model. Avoid providing broad Google project credentials; prefer a service account scoped only to Dialogflow. If you require higher assurance, validate the code in scripts/conversations.py and test in a non-production project first.Like a lobster shell, security has layers — review code before you run it.
latest
Dialogflow CX Conversations
Manage conversations and sessions in Google Dialogflow CX via REST API for testing and interaction handling.
Prerequisites
- Google Cloud project with Dialogflow CX API enabled
- Service account or OAuth credentials with Dialogflow API access
gcloudCLI authenticated OR bearer token
Authentication
Option 1: gcloud CLI (recommended)
gcloud auth application-default login
TOKEN=$(gcloud auth print-access-token)
Option 2: Service Account
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
TOKEN=$(gcloud auth application-default print-access-token)
API Base URL
https://dialogflow.googleapis.com/v3beta1
Regional endpoints available:
https://{region}-dialogflow.googleapis.com(e.g.,us-central1,europe-west1)
Common Operations
Detect Intent
curl -X POST \
"https://dialogflow.googleapis.com/v3beta1/projects/${PROJECT_ID}/locations/${LOCATION}/agents/${AGENT_ID}/sessions/${SESSION_ID}:detectIntent" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"queryInput": {
"text": {
"text": "Hello"
},
"languageCode": "en"
}
}'
Match Intent (no state change)
curl -X POST \
"https://dialogflow.googleapis.com/v3beta1/projects/${PROJECT_ID}/locations/${LOCATION}/agents/${AGENT_ID}/sessions/${SESSION_ID}:matchIntent" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"queryInput": {
"text": {
"text": "Hello"
},
"languageCode": "en"
}
}'
Create Test Case
curl -X POST \
"https://dialogflow.googleapis.com/v3beta1/projects/${PROJECT_ID}/locations/${LOCATION}/agents/${AGENT_ID}/testCases" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Greeting Test",
"testCaseConversationTurns": [
{
"userInput": {
"input": {
"text": {
"text": "Hi"
}
}
},
"virtualAgentOutput": {
"textResponses": [
{
"text": ["Hello!"]
}
]
}
}
]
}'
Key Resources
| Resource | Description |
|---|---|
| Sessions | Conversation instances with state |
| Detect Intent | Process user input and get responses |
| Test Cases | Automated conversation testing |
Quick Reference
For detailed API reference:
- Conversations & Testing: See references/conversations.md
Scripts
scripts/conversations.py— CLI wrapper for conversation operations
Usage
python scripts/conversations.py detect-intent --agent AGENT_NAME --text "Hello"
python scripts/conversations.py match-intent --agent AGENT_NAME --text "Hello"
Tips
- Session IDs can be any unique string (e.g., UUID)
- Use detectIntent for full conversation flow, matchIntent for testing without state changes
- Test cases help validate conversation logic before deployment
Comments
Loading comments...
