Skip to main content

OpenConnector Features

OpenConnector is an API gateway and integration hub for Nextcloud. It brings enterprise service bus (ESB) capabilities natively into Nextcloud — define external API connections, expose your own endpoints, transform data with flexible mappings, and keep systems synchronized through scheduled or event-driven flows.

Feature Index

FeatureDescriptionStatus
SourcesExternal API connections with multi-protocol authenticationImplemented
EndpointsExpose reverse-proxy API paths with rule-based logicImplemented
MappingsTwig-powered data transformation between schemasImplemented
SynchronizationsScheduled and event-driven source-to-target syncImplemented
RulesAuthentication, file handling, locking, and audit trail rulesImplemented
JobsCron-based scheduled task executionImplemented
Events & WebhooksCloudEvents emission, subscription, and consumer processingImplemented
Logging & MonitoringCall logs, sync logs, and Prometheus metricsImplemented
Configuration ManagementImport/export, configuration groups, slug-based referencesImplemented
StUF AdapterREST/ZGW to StUF-BG/ZKN SOAP translationPartial
Prometheus MetricsPrometheus exposition format metrics + health endpointImplemented
DSO / Omgevingsloket AdapterDSO-LV STAM koppelvlak integrationImplemented
iBabs & NotuBiz ConnectorRIS integration for bestuurlijke besluitvormingImplemented

Architecture Overview

External Systems OpenConnector Targets
───────────────── ─────────────────────────────────── ──────────────────
REST APIs → Sources → CallService → Mappings → OpenRegister
SOAP Services → Endpoints (reverse proxy) → External REST APIs
Webhooks → Consumers → EventService → Other Sources
Cron → Jobs → SynchronizationService → Register/Schema

Core Concepts

Sources

A Source is a configured connection to an external system. It stores the base URL, authentication method, headers, certificates, and request defaults. Sources are reused across endpoints, synchronizations, and jobs.

Endpoints

An Endpoint is a path exposed by OpenConnector that acts as a reverse proxy, OpenRegister gateway, or rule-execution surface. Endpoints have HTTP methods, target configuration, and an ordered list of Rules.

Mappings

A Mapping defines a field-level transformation between source and target schemas. It uses direct assignments, Twig template expressions, dot-notation paths, and JSON Logic conditions to reshape data structures.

Synchronizations

A Synchronization defines a full data flow: which Source to read from, which Mapping to apply, and which target (OpenRegister schema or another Source) to write to. The sync engine handles pagination, hash-based change detection, and per-object contract tracking.

Rules

A Rule adds logic to an endpoint. Rules enforce authentication, trigger synchronizations, handle file uploads/downloads, control resource locking, expose audit trails, and can be conditionally applied via JSON Logic.

Jobs

A Job schedules a synchronization or other task on a cron expression. Execution history is stored in job logs.

Events and Consumers

OpenConnector emits and consumes CloudEvents. Consumers are configured handlers that process incoming webhook payloads. EventSubscriptions subscribe to specific event types and route them to handlers.

Standards Compliance

StandardRole
REST-API Design Rules (Logius)API design for exposed endpoints
OpenAPI 3.0Configuration import/export format
NL GOV CloudEventsEvent emission and consumption
DigikoppelingPKIoverheid mTLS for government connections
StUF-BG 3.10 / StUF-ZKN 3.10Legacy SOAP adapter (partial)
GEMMA Gemeentelijke servicebuscomponentPrimary architectural role
GEMMA NotificatierouteringcomponentCloudEvents routing role

Data Model

EntityPurpose
SourceExternal API connection configuration
EndpointExposed reverse-proxy route
MappingField-level transformation definition
SynchronizationSource-to-target sync flow definition
SynchronizationContractPer-object sync state (origin ID, target ID, hash)
RuleEndpoint logic (auth, file, lock, audit)
JobScheduled task with cron expression
ConsumerIncoming webhook/event handler
EventCloudEvent definition
EventSubscriptionEvent listener with handler config
CallLogHTTP request/response audit log
SynchronizationLogPer-sync run result log