Connectors
Your Brussels site runs SAP Plant Maintenance for work orders, your Dublin site uses Honeywell TrackWise for deviations and CAPAs, and your Singapore site relies on Siveco Coswin for preventive maintenance scheduling. ProBeya connectors provide bidirectional data synchronization between these pharmaceutical enterprise systems and the ProBeya transformation platform, enabling a unified operational view without replacing existing validated systems.
Connector Architecture
Connectors are the bidirectional counterpart to webhooks (push-only) and API keys (pull-only). They manage the full sync lifecycle: connection credentials, entity mappings, scheduling, batch processing, retry policies, and audit-grade sync logging.
Enterprise System (SAP PM / TrackWise / Ennov / Coswin / SAP ECC)
↕ (bidirectional sync)
ProBeya Connector Engine
↕
ProBeya Data Model (items, actions, KPIs)
↕
TIER Boards, Dashboards, Escalation Workflows
Supported Systems
| Connector Type | System | Typical Data Synchronized | Protocol |
|---|---|---|---|
sap_pm | SAP Plant Maintenance | Work orders, notifications, equipment masters | RFC / OData |
trackwise | Honeywell TrackWise | Deviations, CAPAs, change controls | REST API |
ennov | Ennov Quality | Documents, training records, audit findings | REST API |
coswin | Siveco Coswin | Maintenance work orders, preventive schedules | REST API |
sap_ecc_rfc | SAP ECC via RFC | Master data, production orders, material movements | SAP RFC |
Connector vs. Webhook vs. API Key: Decision Matrix
| Criterion | Connector | Webhook | API Key |
|---|---|---|---|
| Direction | Bidirectional (inbound + outbound) | Outbound only (ProBeya pushes) | Inbound only (external system pulls) |
| Data flow | Scheduled batch sync + manual trigger | Event-driven, real-time | On-demand, per-request |
| Configuration | Entity mappings, field transforms, schedules | Event subscriptions, endpoint URL | Scopes and expiry |
| Sync logging | Full audit log with record counts | Delivery log with HTTP status | Request-level audit trail |
| Best for | ERP/MES/LIMS integration | Event-driven automation | Custom integrations, dashboards |
| GxP compliance | Highest (validated sync with audit trail) | Medium (delivery log) | Medium (request-level logging) |
Getting Started
- Navigate to Settings > Connectors.
- Click Create Connector.
- Select the connector type for your target system.
- Enter a name (e.g., "SAP PM - Brussels Site").
- Provide the connection configuration (endpoint URL, credential references).
- Define the sync configuration (entity mappings, schedule, batch size).
- Click Save. The connector starts in inactive status.
- Activate the connector and run an initial sync with Trigger Sync.
Connection Configuration
The connection configuration is stored as JSONB with encrypted credential references. Never store plaintext passwords in the connection config -- use secret manager references.
SAP PM / SAP ECC RFC Example
{
"host": "sap-prod.acme-pharma.com",
"systemNumber": "00",
"client": "100",
"credentialRef": "vault://pharma/sap-pm-brussels",
"language": "EN"
}
TrackWise / Ennov / Coswin Example
{
"baseUrl": "https://trackwise.acme-pharma.com/api/v2",
"credentialRef": "vault://pharma/trackwise-dublin",
"timeoutMs": 30000
}
Connection configuration may contain references to credentials stored in a secret manager. Never store plaintext passwords, API keys, or certificates in the connection config JSONB field. Use encrypted references (e.g., vault:// paths) that resolve at sync time. This is a GxP requirement for validated system interfaces (GAMP 5, Category 5).
Sync Configuration
The sync configuration defines what data to synchronize, how fields map between systems, and the operational schedule:
{
"schedule": {
"cronExpression": "0 */4 * * *",
"timezone": "Europe/Brussels"
},
"entities": [
{
"type": "work_order",
"direction": "inbound",
"filter": { "plant": "BE01", "status": ["CRTD", "REL"] },
"fieldMappings": [
{ "source": "AUFNR", "target": "externalId" },
{ "source": "KTEXT", "target": "title" },
{ "source": "ERDAT", "target": "createdDate", "transform": "sapDate" }
]
}
],
"batchSize": 500,
"retryPolicy": {
"maxRetries": 3,
"backoffMs": 5000
}
}
Sync Direction Options
| Direction | Description | Use Case |
|---|---|---|
inbound | Enterprise system to ProBeya | Import work orders, deviations, equipment data |
outbound | ProBeya to enterprise system | Push completed actions, updated statuses |
bidirectional | Both directions | Two-way sync for shared entities (e.g., CAPA status) |
Connector Lifecycle
| Status | Meaning | Allowed Operations |
|---|---|---|
| Inactive | Configured but not running | Edit config, activate, delete |
| Active | Live -- scheduled and manual syncs allowed | Trigger sync, edit config, deactivate, delete |
| Error | Last sync failed -- requires attention | View error log, edit config, trigger retry, deactivate, delete |
Sync Operations
| Sync Type | Description | When to Use |
|---|---|---|
| Full | Synchronizes all records from the source system | Initial load, periodic reconciliation |
| Incremental | Synchronizes only records changed since the last sync | Regular scheduled operation |
| Manual | On-demand sync triggered by an admin via the UI | Testing, emergency resync |
Start with a manual full sync to validate your connection and entity mappings. Once satisfied, switch to incremental syncs on a schedule for ongoing operation. Schedule full syncs during off-peak hours for periodic reconciliation.
Sync Log & Audit Trail
Every sync operation is recorded with GxP-grade detail:
| Field | Description | GxP Relevance |
|---|---|---|
| Sync Type | full, incremental, or manual | Traceability of data source |
| Status | success, partial, or failed | Deviation detection |
| Records Processed | Count of records successfully synced | Data completeness verification |
| Records Failed | Count of records that failed | Triggers investigation if > 0 |
| Started At | Sync start timestamp | Audit trail chronology |
| Completed At | Sync end timestamp (null if still running) | Duration monitoring |
| Errors | Per-record error details (record ID, entity type, error message) | Root cause analysis |
A partial sync status means some records synced successfully while others failed. Investigate the per-record errors in the sync log. For GxP environments, treat any partial sync as a deviation that requires investigation and resolution per your deviation handling SOP.
Enterprise Deployment Patterns
Pattern 1: Multi-Site SAP Integration
Brussels Site: SAP PM Connector → ProBeya Workspace "Brussels Maintenance"
Dublin Site: SAP PM Connector → ProBeya Workspace "Dublin Maintenance"
Singapore Site: SAP PM Connector → ProBeya Workspace "Singapore Maintenance"
↓
Portfolio Dashboard (cross-site KPIs)
Each site has its own connector with site-specific connection config and entity filters. The unified ProBeya portfolio dashboard aggregates data across all sites.
Pattern 2: Quality Management Pipeline
TrackWise → (deviations) → ProBeya Action Board → (completed CAPAs) → TrackWise
Ennov → (audit findings) → ProBeya Audit Dashboard
↓
TIER Meeting Escalation Workflow
Pattern 3: Maintenance + Production Integration
SAP PM → (work orders) → ProBeya Maintenance Board
Coswin → (preventive tasks) → ProBeya Maintenance Board
Historian → (OEE data via API) → ProBeya KPI Dashboard
Permissions
- Organization Admins and Owners can create, update, delete, and trigger syncs.
- All connector data is scoped to the current organization for multi-tenant isolation.
- Deleting a connector permanently removes all its sync log history.
- An inactive connector cannot be synced -- activate it first.
GAMP 5 Validation Considerations
| GAMP 5 Aspect | Connector Implication | Documentation Required |
|---|---|---|
| Category 4 (Configured Product) | ProBeya connectors are configuration-driven | Configuration Specification (CS) |
| Category 5 (Custom) | Field mapping transforms may require custom validation | Functional Specification (FS) + test scripts |
| Interface Validation | Bidirectional data flow requires interface testing | IQ/OQ protocol with round-trip verification |
| Data Integrity | Sync logs provide proof of data transfer | Include sync log review in periodic review SOP |
| Audit Trail | All sync operations are logged with timestamps | Reference in CSV audit trail matrix |
Recovery Procedures
| Scenario | Resolution |
|---|---|
| Sync failed with all records failing | Check the error log for connection issues (network, credentials). Verify the secret manager reference resolves. Re-trigger a manual sync after fixing. |
| Partial sync with some records failing | Review per-record errors in the sync log. Fix field mapping issues or data quality problems in the source system. Re-trigger sync. |
| Connector stuck in error state | Deactivate, fix the configuration, reactivate, and trigger a manual full sync. |
| Duplicate records after full re-sync | The connector uses externalId mapping for deduplication. Verify your field mappings include a unique identifier. |
| Credential rotation in source system | Update the secret manager reference in the connection config. Test the connection and trigger a manual sync. |
Best Practices
- Use descriptive names that include the system type and site (e.g., "TrackWise - Dublin QA").
- Monitor the sync log regularly --
partialstatus requires investigation. - Keep batch sizes reasonable (500--1000 records) to avoid timeouts.
- For SAP ECC RFC connectors, ensure the RFC user has the minimum required authorizations (principle of least privilege).
- Schedule full syncs during off-peak hours to minimize load on the source system.
- Include connector configurations in your change control process -- changes to field mappings affect data flow.
Related Features
- Site Agents -- Edge gateways for real-time equipment data collection.
- ALM Integration -- Jira and Azure DevOps work-item synchronization.
- Webhooks -- Push connector events to external endpoints.
- API Keys -- Programmatic access for custom integrations.
- Audit Log -- Connector operations are logged for GxP traceability.