Part 1: GCP Services Gap Analysis¶
Critical Omissions - High Priority¶
1. Contact Center AI (CCAI) Platform¶
What We Missed: We designed around generic Vertex AI services, but Google has a purpose-built Contact Center AI (CCAI) platform specifically for WxCC use cases.
CCAI Components:
| Component | Purpose | Advantage Over Generic Vertex AI |
|---|---|---|
| Agent Assist | Real-time suggestions during live calls | Pre-trained on contact center patterns, WxCC-native integration |
| Virtual Agent | Advanced Dialogflow with CCAI optimizations | Better intent recognition, context handling |
| Insights AI | Purpose-built call analytics | Pre-built dashboards, WxCC KPIs, no custom model training |
| CCAI Platform | Unified platform vs piecemeal services | Faster time-to-value, less integration work |
Recommendation: - Replace generic Speech-to-Text + NLU with CCAI Insights - Add Agent Assist for real-time agent coaching - Keep custom Vertex AI models for churn prediction, CSAT forecasting (CCAI doesn't do these)
Revised WxCC Approach: migrating to CCAI Insights delivers 50% faster deployment and better accuracy for the same workloads.
2. Vertex AI Explainable AI¶
What We Missed: When ML models make decisions (e.g., "Route this call to Senior Agent"), we need to explain WHY.
Use Cases: - Regulatory Compliance: Financial services, healthcare require model interpretability - Agent Trust: Agents need to understand why ML suggests specific actions - Debugging: Identify when models make incorrect predictions
Implementation:
# Enable Explainable AI during model deployment
from google.cloud import aiplatform
endpoint = aiplatform.Endpoint.create(
display_name="wxcc-routing-model",
explanation_metadata={
"inputs": {
"customer_tenure": {"modality": "numeric"},
"issue_type": {"modality": "categorical"},
"sentiment_score": {"modality": "numeric"}
},
"outputs": {
"recommended_agent_tier": {"modality": "categorical"}
}
},
explanation_parameters={"sampled_shapley_attribution": {"path_count": 10}}
)
Cost: Included in Vertex AI Prediction costs (no additional charge)
Priority: CRITICAL for regulated industries (finance, healthcare contact centers)
3. VPC Service Controls & Private Service Connect¶
What We Missed: Security perimeter for WxCC sensitive data (PII, payment info for PCI-DSS).
Current Risk: - Vertex AI APIs accessed over public internet (even with TLS) - Data potentially egresses to Google's public network - No data exfiltration prevention
Solution: VPC Service Controls
┌─────────────────────────────────────────────────────────────────┐
│ VPC SERVICE CONTROLS PERIMETER │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ PROTECTED GCP SERVICES (WxCC Data Only) │ │
│ │ │ │
│ │ • Vertex AI (Speech-to-Text, NLU, Training) │ │
│ │ • BigQuery (wxcc_analytics dataset) │ │
│ │ • Cloud Storage (call-recordings bucket) │ │
│ │ • Secret Manager (WxCC API keys) │ │
│ │ │ │
│ │ INGRESS POLICY: │ │
│ │ - Only from Abhavtech Cloud Interconnect IPs │ │
│ │ - Block all public internet access │ │
│ │ │ │
│ │ EGRESS POLICY: │ │
│ │ - Allow to WxCC webhooks (webhook.wxcc.com) │ │
│ │ - Allow to Splunk on-prem (10.252.100.50) │ │
│ │ - Block all other destinations │ │
│ └────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Private Service Connect:
Instead of calling vertexai.googleapis.com over internet, use private endpoint:
- vertexai.p.googleapis.com → resolves to RFC 1918 IP within your VPC
- Traffic stays on Google's backbone, never touches public internet
Configuration:
## Create VPC Service Controls perimeter
gcloud access-context-manager perimeters create wxcc-perimeter \
--title="WxCC Sensitive Data Perimeter" \
--resources=projects/abhavtech-wxcc-prod \
--restricted-services=bigquery.googleapis.com,storage.googleapis.com,aiplatform.googleapis.com \
--ingress-policies=ingress-policy.yaml \
--egress-policies=egress-policy.yaml
Cost: Free (built-in GCP feature)
Priority: CRITICAL for PCI-DSS compliance (if handling payment card data)
4. Cloud Data Loss Prevention (DLP)¶
What We Missed: WxCC call recordings contain PII (names, SSNs, credit card numbers). Need automatic redaction.
Use Cases: - Compliance: GDPR, CCPA require PII minimization - PCI-DSS: Cannot store full credit card numbers in call recordings - Data Sharing: Redact PII before sending transcripts to data scientists
Implementation:
from google.cloud import dlp_v2
## Redact PII from call transcripts before storing in BigQuery
def redact_pii(text):
dlp = dlp_v2.DlpServiceClient()
inspect_config = {
"info_types": [
{"name": "PERSON_NAME"},
{"name": "PHONE_NUMBER"},
{"name": "EMAIL_ADDRESS"},
{"name": "CREDIT_CARD_NUMBER"},
{"name": "US_SOCIAL_SECURITY_NUMBER"}
]
}
deidentify_config = {
"info_type_transformations": {
"transformations": [
{
"primitive_transformation": {
"replace_with_info_type_config": {} # Replace "John Smith" with "[PERSON_NAME]"
}
}
]
}
}
response = dlp.deidentify_content(
request={
"parent": f"projects/abhavtech-wxcc-prod",
"deidentify_config": deidentify_config,
"inspect_config": inspect_config,
"item": {"value": text}
}
)
return response.item.value
## Apply to all transcripts before BigQuery insert
transcript_redacted = redact_pii(call_transcript)
Priority: CRITICAL for PCI-DSS, GDPR compliance
5. Vertex AI Feature Store¶
What We Missed: Centralized feature repository for ML models to avoid redundant feature engineering.
Problem Without Feature Store:
- Churn model computes avg_call_duration_last_30_days
- Routing model computes avg_call_duration_last_30_days (duplicate work!)
- Features computed differently → models give inconsistent results
Solution: Feature Store