Passer au contenu principal

Adaptors

Connect Anything.

First, it's important to note that OpenFn can connect to any system via HTTP, but our community has also built dozens of "adaptors" to save time & money while connecting to most commonly used digital public goods and key ICT4D systems.

You can even run web scraping or browser automation tools with OpenFn. See the FAQs and Generic Data Sources for more info on how to connect to systems without custom adaptors. It's almost like a universal translator... 🖖

What's an adaptor?

An adaptor is an open-source Javascript or Typescript module that provides OpenFn users with a clean set of helper functions that help communicate with a specific external system. In the past, we often referred to them as "language packages" and the two terms are sometimes used interchangeably, but the preferred way of communicating about adaptors is as follows:

  • "What adaptor is that job using?" ("That job is using language-dhis2.")
  • "The DHIS2 adaptor is called language-dhis2."
  • "I don't have the right adaptor for this job, let me install it by running npm install @openfn/language-dhis2.

In short, most adaptors follow the naming convention @openfn/language-xyz.

Where to find them

Here's a list of the 43 publicly supported OpenFn adaptors. Note that only some have been migrated to our new and have their docs sites served here. For the rest, you can view the docs and source by clicking into the adaptor and choosing your version.

asana (docs)
The current API docs, changelog, and developer readme for asana are available here. You can view the source & documentation via these links:
beyonic (docs)
The current API docs, changelog, and developer readme for beyonic are available here. You can view the source & documentation via these links:
bigquery (docs)
The current API docs, changelog, and developer readme for bigquery are available here. You can view the source & documentation via these links:
cartodb
This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:
commcare (docs)
The current API docs, changelog, and developer readme for commcare are available here. You can view the source & documentation via these links:
common (docs)
The current API docs, changelog, and developer readme for common are available here. You can view the source & documentation via these links:
dhis2 (docs)
The current API docs, changelog, and developer readme for dhis2 are available here. You can view the source & documentation via these links:
dynamics (docs)
The current API docs, changelog, and developer readme for dynamics are available here. You can view the source & documentation via these links:
facebook (docs)
The current API docs, changelog, and developer readme for facebook are available here. You can view the source & documentation via these links:
fhir (docs)
The current API docs, changelog, and developer readme for fhir are available here. You can view the source & documentation via these links:
godata (docs)
The current API docs, changelog, and developer readme for godata are available here. You can view the source & documentation via these links:
googlesheets (docs)
The current API docs, changelog, and developer readme for googlesheets are available here. You can view the source & documentation via these links:
http (docs)
The current API docs, changelog, and developer readme for http are available here. You can view the source & documentation via these links:
khanacademy (docs)
The current API docs, changelog, and developer readme for khanacademy are available here. You can view the source & documentation via these links:
kobotoolbox (docs)
The current API docs, changelog, and developer readme for kobotoolbox are available here. You can view the source & documentation via these links:
magpi (docs)
The current API docs, changelog, and developer readme for magpi are available here. You can view the source & documentation via these links:
mailchimp (docs)
The current API docs, changelog, and developer readme for mailchimp are available here. You can view the source & documentation via these links:
mailgun (docs)
The current API docs, changelog, and developer readme for mailgun are available here. You can view the source & documentation via these links:
maximo (docs)
The current API docs, changelog, and developer readme for maximo are available here. You can view the source & documentation via these links:
medicmobile (docs)
The current API docs, changelog, and developer readme for medicmobile are available here. You can view the source & documentation via these links:
mogli (docs)
The current API docs, changelog, and developer readme for mogli are available here. You can view the source & documentation via these links:
mongodb (docs)
The current API docs, changelog, and developer readme for mongodb are available here. You can view the source & documentation via these links:
mssql (docs)
The current API docs, changelog, and developer readme for mssql are available here. You can view the source & documentation via these links:
mysql (docs)
The current API docs, changelog, and developer readme for mysql are available here. You can view the source & documentation via these links:
nexmo (docs)
The current API docs, changelog, and developer readme for nexmo are available here. You can view the source & documentation via these links:
ocl (docs)
The current API docs, changelog, and developer readme for ocl are available here. You can view the source & documentation via these links:
openfn (docs)
The current API docs, changelog, and developer readme for openfn are available here. You can view the source & documentation via these links:
openhim
This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:
openmrs (docs)
The current API docs, changelog, and developer readme for openmrs are available here. You can view the source & documentation via these links:
postgresql (docs)
The current API docs, changelog, and developer readme for postgresql are available here. You can view the source & documentation via these links:
primero (docs)
The current API docs, changelog, and developer readme for primero are available here. You can view the source & documentation via these links:
progres (docs)
The current API docs, changelog, and developer readme for progres are available here. You can view the source & documentation via these links:
rapidpro (docs)
The current API docs, changelog, and developer readme for rapidpro are available here. You can view the source & documentation via these links:
resourcemap (docs)
The current API docs, changelog, and developer readme for resourcemap are available here. You can view the source & documentation via these links:
salesforce (docs)
The current API docs, changelog, and developer readme for salesforce are available here. You can view the source & documentation via these links:
sftp (docs)
The current API docs, changelog, and developer readme for sftp are available here. You can view the source & documentation via these links:
smpp (docs)
The current API docs, changelog, and developer readme for smpp are available here. You can view the source & documentation via these links:
surveycto (docs)
The current API docs, changelog, and developer readme for surveycto are available here. You can view the source & documentation via these links:
telerivet (docs)
The current API docs, changelog, and developer readme for telerivet are available here. You can view the source & documentation via these links:
template (docs)
The current API docs, changelog, and developer readme for template are available here. You can view the source & documentation via these links:
twilio (docs)
The current API docs, changelog, and developer readme for twilio are available here. You can view the source & documentation via these links:
vtiger (docs)
The current API docs, changelog, and developer readme for vtiger are available here. You can view the source & documentation via these links:
zoho (docs)
The current API docs, changelog, and developer readme for zoho are available here. You can view the source & documentation via these links:

On the OpenFn platform

When creating or editing a job on platform, you can choose the adaptor to run the job. This way you "import" the needed operations. Simply open the dropdown list of adaptors, and click on one.

On npm

Most of our adaptors are also available on npmjs.

Adaptors list in npm

Install on platform via npm

When using platform, you can install adaptors that are not part of the recommended adaptors picklist directly from npm.

To install from npm, click on the cloud download icon next to the adaptor version picklist. In the Select Unreleased Adaptor dialog box, enter the adaptor name(e.g. dhis2 for language-dhis2) and the corresponding version number(e.g. v2.3.4), as listed on npmjs, for the adaptor of your choice. The platform will attempt to install the selected adaptor version it can be used to run the specified job.

Note that, after this custom installation of the adaptor, platform will not add this adaptor version to the picklist of recommended adaptors in JobStudio, but you are guaranteed that the adaptor will be available to use in any of your jobs as long as you specify it via the Select Unreleased Adaptor dialog.

Building and extending adaptors

The source code and technical documentation for developing or extending existing adaptors can be found on GitHub at www.github.com/OpenFn/adaptors.