@@ -388,19 +388,18 @@ All 5 repos have:
388388### SSO Integrations (via Keycloak)
389389- [x] FreeIPA ↔ Keycloak LDAP Federation ← ** INT-01 DONE** (Sprint 30: Ansible tasks + integration test)
390390- [x] Nextcloud ↔ Keycloak OIDC ← ** INT-02 DONE** (Sprint 31: Ansible tasks + integration test)
391- - [x] Mattermost ↔ Keycloak OIDC ← ** INT-03 DONE** (Sprint 32: Ansible tasks + integration test)
392- - [x] SuiteCRM ↔ Keycloak SAML ← ** INT-04 DONE** (Sprint 33: saml-clients.yml + saml_settings.php.j2 + integration test)
393- - [x] Odoo ↔ Keycloak OIDC ← ** INT-05 DONE** (Sprint 34: keycloak-oidc.yml + auth.oauth.provider via JSON-RPC + integration test)
394- - [x] Zammad ↔ Keycloak OIDC ← ** INT-06 DONE** (Sprint 35: keycloak-oidc.yml + Zammad channels API + integration test)
395- - [x] GLPI ↔ Keycloak SAML ← ** INT-07 DONE** (Sprint 36: keycloak-saml.yml + glpi-saml-config.php.j2 + SAML IdP metadata + integration test)
396- - [x] Taiga ↔ Keycloak OIDC ← ** INT-08 DONE** (Sprint 37: keycloak-oidc.yml + taiga-contrib-oidc-auth + taiga-oidc-settings.py.j2 + integration test)
397- - [x] Snipe-IT ↔ Keycloak SAML ← ** INT-08b DONE** (Sprint 38: keycloak-saml.yml + snipeit-saml-settings.env.j2 + LDAP seed + integration test)
391+ - [ ] Mattermost ↔ Keycloak OIDC
392+ - [ ] SuiteCRM ↔ Keycloak SAML
393+ - [ ] Odoo ↔ Keycloak OIDC
394+ - [ ] Zammad ↔ Keycloak OIDC
395+ - [ ] GLPI ↔ Keycloak SAML
396+ - [ ] Taiga ↔ Keycloak OIDC
398397
399398### Business Workflow Integrations
400- - [x ] FreePBX ↔ SuiteCRM (click-to-call, call logging) ← ** INT-09 DONE ** (Sprint 39: suitecrm-cti.yml + freepbx-cti.yml + AGI script + CTI WireMock stubs + integration test )
401- - [x ] FreePBX ↔ Zammad (automatic phone tickets) ← ** INT-10 DONE ** (Sprint 40: zammad-webhook.yml + freepbx-cti.yml + AGI script + WireMock + Zammad CTI channel API )
402- - [x ] FreePBX ↔ FreeIPA (extension provisioning from directory) ← ** INT-11 DONE ** (Sprint 41: freeipa-sync.yml + freeipa-sync.py + freepbx-service-account.yml + ldif.j2 + compose env vars + test Phase 9 )
403- - [x ] SuiteCRM ↔ Odoo (customer data sync) ← ** INT-12 DONE ** (Sprint 42: Ansible odoo-sync.yml + suitecrm-sync.yml + both Python templates + WireMock partner/contact stubs + integration tests )
399+ - [ ] FreePBX ↔ SuiteCRM (click-to-call, call logging)
400+ - [ ] FreePBX ↔ Zammad (automatic phone tickets)
401+ - [ ] FreePBX ↔ FreeIPA (extension provisioning from directory)
402+ - [ ] SuiteCRM ↔ Odoo (customer data sync)
404403- [x] SuiteCRM ↔ Nextcloud (calendar sync) ← ** INT-13 DONE** (Sprint 43: nextcloud-caldav.yml + suitecrm-nextcloud-caldav.py.j2 + suitecrm-share.yml + compose WireMock nc-int-mock:8105 + SuiteCRM Phase 3f + Nextcloud Section 13)
405404- [ ] SuiteCRM ↔ OpenKM (document linking)
406405- [ ] Odoo ↔ FreeIPA (employee sync)
0 commit comments