Connectors

Every outside system plugs into the hub here, once. Modules never talk to an outside system directly, so a provider can be replaced without touching the CRM, the LMS or finance.

See data flows
Connected and healthy
9 of 14
1 degraded, 1 pending approval, 2 in setup, 1 not connected
Records synced, last 24 hours
2,316
99.7% without error
Sync errors to fix
7
4 accounting, 1 gateway, 1 WhatsApp, 1 legacy import
Legacy records still to migrate
1,180
Tutor LMS enrolments, see import and migration

Buy

9 connectors

Mature commodity tools: payments, video meetings, email and WhatsApp delivery, accounting, calendar, sign-in. We rent them and connect them.

Build

The hub and its modules

What makes this business different: batches and seats, learning paths, attendance and certificate rules, corporate cohorts, approvals. These live inside the hub, not behind a connector.

Mix

5 connectors

A bought tool with our own layer on top: WordPress fed by the hub catalog, tax e-invoicing behind our invoice rules, legacy systems read through a migration adapter.

Sample states and figures
SystemWhat the hub uses it forApproachDirectionStateHealth, 7 daysLast syncOn
Provider names are placeholders until contracts are signed. Each connector exposes the same hub events whichever provider sits behind it.

Sync errors to fix

Delivery log
WhenConnectorRecordProblemOwner
Today 10:14Accounting packageINV-2086Customer "Hassan Reda" not found in the ledger; invoice INV-2086 for order O-5128 not posted. Same error in the export queue on Accounting & ledgers. Simulated: no accounting system is chosen or connected (DEC-01)Hany Lotfy
Today 09:02Accounting packageINV-2078Tax code missing on line 1Hany LotfyOpen invoice
2 Oct 16:30Accounting packageCN-0031Credit note references INV-2075, which was voided before it was postedHany LotfyReconcile
2 Oct 08:12Payment gatewayO-5124Paid amount differs from order total by EGP 300Hany LotfyOpen payment
1 Oct 18:44WhatsApp providerTemplate "Session reminder with link"Template still waiting for provider approval; 2 messages fell back to emailDina Sabry
1 Oct 12:20Accounting packageExpense batch, SeptemberTwo cost centres unmapped: "Venue hire", "Software licences"Hany LotfyMap cost centres
30 Sep 21:05Tutor LMS (legacy)214 enrolmentsLearner email missing or duplicated; held for reviewNour HamdyReview

Records synced per day

SyncedWith errors
The peak on 30 September is the nightly Tutor LMS import batch.

Rules for every connector

  • The hub owns the record. A connector copies data in or out; it is never the source of truth for a course, learner, enrolment, order or certificate. See master data ownership.
  • One direction per field. Price is written by the hub and read by WordPress, never the other way round.
  • Failures queue, they do not vanish. A failed sync retries, then appears on this page with an owner.
  • Secrets stay here. Keys are stored encrypted; staff see only the last four characters.
  • Everything is logged. Each sync writes to the audit log.

Retiring the legacy stack

Migration

The current site runs WordPress with Tutor LMS and WooCommerce. WordPress stays as the public front end. Tutor LMS and WooCommerce are read-only sources until their data is in the hub, then switched off.

Courses and curricula54 of 54
Learner accounts1,420 of 1,634
Enrolments and progress2,060 of 3,240
Orders (WooCommerce)0 of 890
Prices of 50, 600 and 28,571 in the export look like a different currency. They are held until finance confirms.
Insight. The accounting errors this month mostly come from customers missing in the ledger. Creating the customer automatically when the first invoice is issued would remove that kind of error. Create the rule