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. 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
.
Adaptors vs. Workflows
Adaptors are reusable components that make connecting with a specific app easier, whereas Workflows are the project-specific processes that you want to automate. OpenFn users will always leverage Adaptors to better understand how to work with specific APIs, to access Adaptor helper functions (or "shortcuts") to more quickly build Workflows, and to handle authenticatio. See the below diagram.
Where to find Adaptors
asana (docs)
azure-storage (docs)
beyonic (docs)
bigquery (docs)
cartodb (docs)
cht (docs)
commcare (docs)
common (docs)
dhis2 (docs)
dynamics (docs)
facebook (docs)
fhir (docs)
fhir-jembi
fhir-ndr-et (docs)
godata (docs)
googlehealthcare (docs)
googlesheets (docs)
hive (docs)
http (docs)
khanacademy (docs)
kobotoolbox (docs)
magpi (docs)
mailchimp (docs)
mailgun (docs)
maximo (docs)
medicmobile (docs)
mogli (docs)
mongodb (docs)
msgraph (docs)
mssql (docs)
mysql (docs)
nexmo (docs)
ocl (docs)
odk (docs)
openfn (docs)
openhim (docs)
openimis (docs)
openlmis (docs)
openmrs (docs)
openspp (docs)
postgresql (docs)
primero (docs)
progres (docs)
rapidpro (docs)
redis (docs)
resourcemap (docs)
salesforce (docs)
- v4.8.3
- v4.8.2
- v4.8.1
- v4.8.0
- v4.7.0
- v4.6.11
- v4.6.10
- v4.6.8
- v4.6.7
- v4.6.5
- v4.6.4
- v4.6.2
- v4.6.0
- v4.5.2
- v4.5.1
- v4.5.0
- v4.4.0
- v4.3.1
- v4.3.0
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.0
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.0
- v2.9.0
- v2.8.1
- v2.7.4
- v2.7.3
- v2.7.2
- v2.6.3
- v2.4.0
- v2.3.5
- v2.3.2
- v1.3.2
- v0.0.1-alpha
satusehat (docs)
sftp (docs)
smpp (docs)
surveycto (docs)
telerivet (docs)
template
testing (docs)
twilio (docs)
vtiger (docs)
On OpenFn
When creating or editing a job step, 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.com.
Building and extending adaptors
The source code and technical documentation for developing or extending existing adaptors can be found here.
more information :::