Skip to content

Integrations

5 system integration mappings that connect the Data Plane source systems to the Semantic Ontology Layer. Each integration is defined in enterprise-knowledge/integrations/ as a YAML file with field-level mappings, conflict resolution, and failure handling.


Integration Summary

# Integration Source Target Type Frequency
1 SF-Oracle CustOps Sync Salesforce Oracle ERP Bidirectional 15-min interval
2 SF-WXCC Interaction Sync WXCC Salesforce Unidirectional Near real-time (<30 sec)
3 SF-SAP Service Sync Salesforce SAP Bidirectional Near real-time (<5 min)
4 Unstructured Extraction Google Drive / File Uploads Ontology Layer Unidirectional On-upload + daily scan
5 Social Listening & Feedback Feed Social Listening APIs / Surveys Ontology Layer Unidirectional 4-hour cycle (critical immediate)

Integration Architecture

flowchart LR
    SF["Salesforce CRM"] -->|"#1 Bidirectional 15min"| ORA["Oracle ERP"]
    WXCC["Webex Contact Center"] -->|"#2 Unidirectional <30sec"| SF
    SF -->|"#3 Bidirectional <5min"| SAP_SYS["SAP"]
    GD["Google Drive"] -->|"#4 On-upload"| ONT["Ontology Layer"]
    FU["File Uploads"] -->|"#4 On-upload"| ONT
    SL["Social / Survey APIs"] -->|"#5 4-hour cycle"| ONT

1. Salesforce to Oracle Customer Ops Sync

ID: INTEGRATION_SF_ORACLE_CUSTOPS_V1_0 | File: sf-oracle-custops-sync.yaml

Salesforce is source of truth for customer and case data. Oracle is source of truth for billing and financial transactions.

Customer Sync (Account -> AR_Customer)

Salesforce Field Oracle Field Direction Transformation / Constraint
Account.Name AR_Customer.customer_name SF -> Oracle
Account.Tier AR_Customer.collection_priority SF -> Oracle Platinum->Priority, Gold->Standard, Silver->Monitored, Bronze->Basic
Account.Credit_Limit AR_Customer.credit_limit SF -> Oracle Requires approval workflow
Account.Status AR_Customer.customer_status SF -> Oracle Deactivation blocked if AR_Balance > 0
AR_Customer.AR_Balance Account.AR_Balance__c Oracle -> SF Read-only visibility in Salesforce
AR_Customer.Collection_Priority Account.Collection_Priority__c Oracle -> SF Read-only

Case-Billing Sync (Case -> Billing_Dispute)

Salesforce Field Oracle Field Direction Notes
Case.Case_ID Billing_Dispute.Case_ID SF -> Oracle Link case to dispute
Case.Account_ID Billing_Dispute.Customer_ID SF -> Oracle Via account mapping
Case.Description Billing_Dispute.Description SF -> Oracle NLP-extracted dispute details
Billing_Dispute.Status Case.Billing_Dispute_Status__c Oracle -> SF Read-only
AR_Credit_Note.Amount Case.Credit_Amount__c Oracle -> SF Read-only; visible to agent

Conflict Resolution: Salesforce wins for customer/case data; Oracle wins for billing/financial data

Failure Handling: 3 retries at 5-min intervals; dead letter queue; alert custops-integration-alerts@company.com


2. Salesforce to WXCC Interaction Sync

ID: INTEGRATION_SF_WXCC_INTERACTION_V1_0 | File: sf-wxcc-interaction-sync.yaml

WXCC pushes interaction events to Salesforce in near real-time for unified customer timeline.

Call Record Sync (WXCC -> Salesforce Activity)

WXCC Field Salesforce Field Transformation
Call_Record.Call_ID Activity.External_ID__c
Call_Record.ANI Activity.Account_ID ANI lookup → Account matching
Call_Record.Agent_ID Activity.Owner_ID Agent ID mapping table
Call_Record.Duration_Seconds Activity.Duration__c Seconds → minutes conversion
Call_Record.Disposition Activity.Disposition__c
Call_Record.Sentiment_Score Activity.Sentiment_Score__c
Call_Record.Recording_URL Activity.Recording_URL__c Secure URL (time-limited token)

Chat Transcript Sync (WXCC -> Salesforce)

WXCC Field Salesforce Field
Chat_Transcript.Chat_ID Activity.External_ID__c
Chat_Transcript.Account_ID Activity.Account_ID
Chat_Transcript.Transcript_Text Activity.Description
Chat_Transcript.Sentiment_Score Activity.Sentiment_Score__c
Chat_Transcript.Disposition Activity.Disposition__c

Agent State Sync (WXCC -> Salesforce Presence)

WXCC Field Salesforce Field
Agent_State.Agent_ID User.Agent_ID__c
Agent_State.State ServicePresenceStatus
Agent_State.Skills SkillProfile mapping

Conflict Resolution: WXCC wins (source of truth for interaction data)

Frequency: Near real-time (<30 seconds); Agent_State: real-time push on change


3. Salesforce to SAP Service Sync

ID: INTEGRATION_SF_SAP_SERVICE_V1_0 | File: sf-sap-service-sync.yaml

Salesforce pushes case escalations to SAP for field service; SAP returns service completion data.

Case to Service Order (Salesforce -> SAP)

Salesforce Field SAP Field Transformation
Case.Case_ID Service_Order.Case_ID
Case.Account_ID Service_Order.Account_ID Via customer mapping table
Case.Priority Service_Order.Priority Direct mapping
Case.Type Service_Order.Type Incident->Repair, Service_Request->Modification
Case.Description Service_Order.Description

Service Order Completion (SAP -> Salesforce)

SAP Field Salesforce Field Notes
Service_Order.Status Case.Service_Order_Status__c Read-only in SF
Service_Order.Completion_Date Case.Service_Completed__c
Field_Dispatch.Outcome Case.Field_Visit_Outcome__c
Field_Dispatch.ETA Case.Field_Visit_ETA__c Real-time update
SLA_Record.Breach_Flag Case.SLA_Breach__c

Conflict Resolution: Salesforce wins for case data; SAP wins for service execution data

Frequency: SF→SAP: near real-time (<5 min); SAP→SF: on status change + 15-min sync


4. Unstructured Data Extraction

ID: INTEGRATION_UNSTRUCTURED_EXTRACT_V1_0 | File: unstructured-extraction-custops.yaml

NLP pipeline for extracting structured data from knowledge base documents and SOPs.

Pipeline Source Target Entity Confidence Threshold
SOP NLP Google Drive PDFs/Docs SOP_Document >0.85: auto-index; <0.85: human review
Knowledge Article NLP Google Drive / Confluence Knowledge_Article >0.85: auto-index; <0.85: human review
Training Material NLP File Upload PDFs Resolution_Template >0.80: auto-index; <0.80: human review

Extraction Pipeline:

flowchart LR
    DOC["Document Upload"] --> NLP["NLP / Text Extraction"]
    NLP --> LLM["LLM Field Extraction<br/><i>Category, Steps, Resolution</i>"]
    LLM --> CONF{"Confidence Check"}
    CONF -->|Above threshold| AUTO["Auto-Index to Ontology"]
    CONF -->|Below threshold| REVIEW["Human Review Queue"]
    REVIEW --> AUTO

5. Social Listening & Feedback Feed

ID: INTEGRATION_SOCIAL_FEEDBACK_V1_0 | File: social-feedback-feed.yaml

4-hour refresh cycle for standard data; negative sentiment and detractor signals pushed immediately.

Feed Target Entity Frequency Special Rules
Social media monitoring Brand_Sentiment 4-hour cycle Sentiment <-50: immediate push
NPS survey platform NPS_Response On-response Detractor (0-6): immediate push + trigger Churn Intervention
CSAT survey platform CSAT_Survey On-response Score <3: immediate push + alert
Customer feedback portal Customer_Feedback On-submission Negative sentiment: immediate push
Review site monitoring Customer_Feedback 4-hour cycle Aggregate by topic and platform

Signal Classification Pipeline:

flowchart LR
    RAW["Raw Feed"] --> NLP["NLP Classification"]
    NLP --> SEV{"Severity Assessment"}
    SEV -->|"Detractor / Negative"| IMMEDIATE["Immediate Push + Workflow Trigger"]
    SEV -->|"Neutral / Positive"| BATCH["4-Hour Batch Update"]

Failure Handling (All Integrations)

All integrations share a common failure handling pattern:

Setting Value
Retry count 3
Retry interval 5 minutes
Dead letter queue Enabled
Alert on failure Integration-specific alert email
Fallback Source system value is authoritative; manual update required in target

← Back to Ontology Overview