Trusted Voice Research Infrastructure for NGOs, Governments & Global Development Partners
Integrations

Implementing a format is not integrating with a system.

We can produce a DHIS2 dataValueSet, parse an XLSForm and answer a SCIM PatchOp correctly. None of that means a DHIS2 server, a Kobo server or an identity provider has ever accepted anything from this platform. Both halves of that sentence are true, and only the first is ours to claim — so this page reports them separately.

Five states, not two

An available/planned split cannot express the difference that matters to your IT team, and the previous version of this page was built on one. It was wrong in both directions at once: it listed enterprise SSO as a roadmap item when it is implemented, and it grouped DHIS2, Kobo, ODK, SurveyCTO and CommCare together when three of the five have real format support here and two have none.

Live

Running in production today.

Configured per deployment

Available, and set up for your deployment with your team rather than enabled from a catalogue.

Format implemented, never connected

We read or write this system’s format, and the code is tested against it. No server of this kind has ever been contacted from this platform. Connecting one is implementation work with its own testing, not a switch.

Designed, not built

The interface is specified so this can be built without redesigning the platform. Nothing runs today, and it is not offered.

Not available

Not built and not designed. It is not offered.

Every integration, by what it is for

Each entry states what it does and what you should know before you plan around it.

Collection

Phone, WhatsApp and SMS

Live

Respondents answer by call, WhatsApp message or voice note, or SMS. These carry live traffic today.

What “Live” means
Running in production today.

Offline field application

Live

Assignments download to an Android device, work happens with no connection, and the queue syncs when one returns.

What you should know

  • Android only. There is no iOS build, and the Google Play listing is not published yet.
What “Live” means
Running in production today.

USSD

Designed, not built

Feature-phone collection over a per-country aggregator.

What you should know

  • The adapter contract is defined and no adapter exists. Stateless 182-character screens with a hard session timeout make this a real piece of work rather than a configuration.
What “Designed, not built” means
The interface is specified so this can be built without redesigning the platform. Nothing runs today, and it is not offered.

Communication

Email delivery

Live

Invitations, reminders and report delivery are sent over email.

What you should know

  • Outbound only. Nothing collects a response back over email — there is no inbound handler.
What “Live” means
Running in production today.

Data exchange

REST API

Configured per deployment

Object- and action-oriented access for an authorised integration, scoped to what the calling identity may reach.

What you should know

  • Scope is granted per integration and enforced by the same authorization runtime that governs a person. An API key does not widen what its owner may see.
What “Configured per deployment” means
Available, and set up for your deployment with your team rather than enabled from a catalogue.

Excel, CSV and document export

Configured per deployment

Governed export of datasets and publications in the formats a team already works in.

What you should know

  • An export is refused unless the evidence behind it resolves. That is the point, and it means an export can legitimately fail.
  • DOCX, PPTX and XLSX were compared inside the decompressed documents and carry identical facts. PDF renders as a valid document; its content was not machine-verified.
What “Configured per deployment” means
Available, and set up for your deployment with your team rather than enabled from a catalogue.

Outbound webhooks

Designed, not built

Event delivery to an approved customer endpoint.

What you should know

  • Specified, not built. Nothing is delivered to a customer endpoint today.
What “Designed, not built” means
The interface is specified so this can be built without redesigning the platform. Nothing runs today, and it is not offered.

Instruments

XLSForm instruments (ODK, KoboToolbox)

Format implemented, never connected

An XLSForm written for ODK Collect or KoboToolbox is parsed, validated, mapped and committed rather than retyped. XLSForm is the standard both implement, so one importer serves both.

What you should know

  • No Kobo or ODK server has ever been contacted from this platform. The file is the boundary, not the vendor’s API.
  • Cascading selects from external CSV, repeat groups, calculate/constraint expression evaluation and encrypted forms are REFUSED at validation with the reason. Importing a repeat group as flat questions would silently destroy the structure the researcher designed.
What “Format implemented, never connected” means
We read or write this system’s format, and the code is tested against it. No server of this kind has ever been contacted from this platform. Connecting one is implementation work with its own testing, not a switch.

SurveyCTO and CommCare

Not available

No format support and no client.

What you should know

  • Named here because the previous integrations page listed them beside DHIS2, Kobo and ODK as though the five were equivalent. Three of those have real format support in this repository and these two have none — a buyer deserves to know which is which.
  • A SurveyCTO or CommCare form exported as XLSForm may import through the XLSForm path; that is the standard doing the work, not an integration with either product.
What “Not available” means
Not built and not designed. It is not offered.

Health information systems

DHIS2

Format implemented, never connected

A reference client for the part of the DHIS2 Web API a research-to-DHIS2 flow needs: verify the server, discover organisation units and data elements, map ours to theirs, and push aggregate values through dataValueSets.

What you should know

  • No DHIS2 server has ever been contacted from this platform. The client is written and unit-tested; connecting a ministry instance is implementation work.
  • A push is REFUSED unless the connection is marked as a test server or a person has explicitly confirmed a production target. Writing acceptance data into a national HMIS would be a real harm, and the guard is in the code rather than in a runbook.
  • Aggregate values only, one way. Not a synchronisation engine, not a tracker or event client, and not a metadata authoring tool.
What “Format implemented, never connected” means
We read or write this system’s format, and the code is tested against it. No server of this kind has ever been contacted from this platform. Connecting one is implementation work with its own testing, not a switch.

Identity

Enterprise SSO (OIDC)

Configured per deployment

OIDC authorization-code flow with PKCE. The authorization challenge is minted by the server, stored as a hash, expires, and is consumed exactly once — a replayed callback is refused.

What you should know

  • Tested against the protocol, not against a named vendor. No identity provider has been connected in production, so we do not say "Okta integration" or "Entra ID integration".
  • An identity provider’s group claim never selects a role. Roles are granted in the platform, by a person who may grant them.
What “Configured per deployment” means
Available, and set up for your deployment with your team rather than enabled from a catalogue.

SCIM 2.0 provisioning

Configured per deployment

User provisioning and deprovisioning against RFC 7643 and RFC 7644 — the Users resource, ListResponse, PatchOp, the SCIM error envelope and ServiceProviderConfig. Deprovisioning deactivates the user and revokes every live session in one write.

What you should know

  • Tested against the RFC, not against a named identity provider. None has ever been connected.
  • Groups are answered 501 Not Implemented rather than faked.
  • An unsupported filter is refused with `invalidFilter` rather than silently ignored — a filter the server does not understand must not quietly return the wrong set.
What “Configured per deployment” means
Available, and set up for your deployment with your team rather than enabled from a catalogue.

Analysis

Power BI, Tableau and other BI tools

Configured per deployment

Analysis and visualisation over authorised datasets, through governed exports and the REST API.

What you should know

  • There is no native connector. A BI tool reads an exported dataset or calls the API; it does not attach to the database.
What “Configured per deployment” means
Available, and set up for your deployment with your team rather than enabled from a catalogue.

Why there are no logos on this page

A vendor logo grid reads as a partnership. We have exchanged data with none of the systems whose formats we implement, and putting their marks on our page would claim a relationship that does not exist — which is the specific thing a ministry's IT team will discover during implementation rather than during procurement.