Skip to content

Commit

Permalink
Mailchimp & OCL overview pages (#610)
Browse files Browse the repository at this point in the history
* Create ocl.md

* Create mailchimp.md

* Update asana.md

* Create rapidpro.md

* Update asana.md

* Create sftp.md

* add links to mailchimp docs

* Update ocl links

* Update sftp.md

* fix link

---------

Co-authored-by: Aleksa Krolls <[email protected]>
  • Loading branch information
daissatou2 and aleksa-krolls authored Dec 7, 2024
1 parent ec216a9 commit dff7290
Show file tree
Hide file tree
Showing 5 changed files with 163 additions and 3 deletions.
6 changes: 3 additions & 3 deletions adaptors/asana.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ title: Asana Adaptor

Asana supports 2 primary integration options:

1. Rest API: Asana has an available REST API that enable external services like OpenFn to pull data from CommCare, or push data from external apps to CommCare. This option is suited for scheduled, bulk syncs or workflows that must update data in CommCare with external information. See [functions](/adaptors/packages/asana-docs) for more on how to use this adaptor to work with the API.
1. Rest API: Asana has an available REST API that enable external services like OpenFn to pull data from Asana, or push data from external apps to Asana. This option is suited for scheduled, bulk syncs or workflows that must update data in Asana with external information. See [functions](/adaptors/packages/asana-docs) for more on how to use this adaptor to work with the API.

2. Webhook: Asana also has a [Webhook or Data Forwarding](https://developers.asana.com/docs/webhooks-guide) to push data from Asana to external systems. This option is suited for real-time, event-based data integration. Check out the Asana [devloper documentation](/adaptors/packages/asana-docs) to learn how to set up a webhook to push data to OpenFn.

Expand All @@ -20,7 +20,7 @@ See [Asana docs](https://developers.asana.com/docs/authentication) for the lates

When integrating with Asana via OpenFn, there is one primary authentication method supported: **Personal Access Token (PAT)**. You can generate a personal access token from the Asana [developer console](https://developers.asana.com/docs/personal-access-token).

See this adaptor's [Configuration docs](/adaptors/packages/asana-configuration-schema) for more on required authentication parameters.
See this adaptor's [Configuration docs](/adaptors/packages/asana-configuration-schema) for more on the required authentication parameters.

See platform docs on [managing credentials](/documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this:

Expand All @@ -37,7 +37,7 @@ See platform docs on [managing credentials](/documentation/manage-projects/manag

### Implementation Examples

1. The Wildlife Conservation Society (WCS) - KoboToolBox -> GoogleSheets -> Asana sync: https://openfn.github.io/ConSoSci/asana/
1. The Wildlife Conservation Society (WCS) - KoboToolBox -> GoogleSheets -> Asana sync: [https://openfn.github.io/ConSoSci/asana/](https://openfn.github.io/ConSoSci/asana/)



Expand Down
41 changes: 41 additions & 0 deletions adaptors/mailchimp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: MailChimp Adaptor
---

## About Mailchimp

[Mailchimp](https://mailchimp.com/) is a marketing automation platform that allows businesses to design, send, and manage email campaigns. It also provides tools for audience management, analytics, and integrations with other platforms to support marketing efforts.

## Integration Options

Mailchimp supports two primary integration options:

**1. Rest API:** Mailchimp offers a REST API that enables external applications to interact with its services. This option is ideal for applications requiring scheduled or bulk synchronization with OpenMRS. Refer to the Mailchimp REST API [documentation](https://mailchimp.com/developer/marketing/api/) for detailed guidelines on endpoints and payload formats.

**2. Webhook:** Webhook or Data Forwarding to push data from MailChimp to external systems ([see docs](https://mailchimp.com/developer/transactional/docs/webhooks/)). This option is suited for real-time, event-based data integration.

## Authentication

When integrating with Mailchimp via OpenFn, authentication via **API Key** is supported ([see MC docs](https://mailchimp.com/developer/marketing/docs/fundamentals/#connecting-to-the-api). See this adaptor's [Configuration docs](/adaptors/packages/mailchimp-configuration-schema) for more on the required authentication parameters.

See platform docs on [managing credentials](documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this:

```
{
"server": "us11",
"apiKey": "0eb22c7b4a1c5bcd789379bf8a92902d-us13"
}
```

### Helpful Links
1. [Developer Portal](https://mailchimp.com/developer/)
2. [API Reference](https://mailchimp.com/developer/marketing/)
3. [Webhook Setup Guide](https://mailchimp.com/developer/marketing/guides/set-up-webhooks/)

### Implementation Examples

1. GIFE Project - Mailchimp -> Salesforce sync: [https://github.com/OpenFn/gife](https://github.com/OpenFn/gife)




38 changes: 38 additions & 0 deletions adaptors/ocl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: OCL Adaptor
---

## About OCL

[OCL (Open Concept Lab)](https://openconceptlab.org/) is an open-source platform that provides a collaborative environment for creating, managing, and sharing standardized healthcare terminologies, dictionaries, and value sets.

Relationships between concepts are defined in OCL as `mappings`. The API supports searching and editing concepts and mappings, building `sources`, and logically grouping concepts and mappings into `collections`. [See OCL docs](https://docs.openconceptlab.org/en/latest/oclapi/overview.html#overview) to learn more, access the [Swagger API](https://api.openconceptlab.org/swagger/), and to learn more about the cloud instance available at [https://openconceptlab.org](https://openconceptlab.org).

## Integration Options

**1. Rest API:** OCL offers a REST API that allows systems to interact with its concept dictionaries and value sets. With the API, you can:
This option is suited for scheduled synchronization or workflows requiring regular updates to or from OCL. Refer to the [OCL REST API documentation](https://docs.openconceptlab.org/en/latest/oclapi/overview.html) for endpoint details and usage examples.

**2. Bulk Export and Import**: OCL supports exporting and importing concept dictionaries and value sets in various formats (e.g., JSON, CSV). This allows for manual or automated bulk data integration. Use this option for one-time data transfer or systems without direct API connectivity.

## Authentication
When integrating with OCL via OpenFn, you must provide a username and password to generate an authorization token ([see OCL docs](https://docs.openconceptlab.org/en/latest/oclapi/overview.html#authentication-and-authorization)). See this adaptor's [Configuration docs](/adaptors/packages/ocl-configuration-schema) for more on the required authentication parameters.

See platform docs on [managing credentials](documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this:

```
{
"hostUrl": "https://api.openconceptlab.org/",
"username": "usernmame",
"password": "supersecretpassword"
}
```
## Helpful Links
1. [OCL Developer Guide](https://docs.openconceptlab.org/)
2. [OCL API Reference](https://docs.openconceptlab.org/en/latest/oclapi/apireference/index.html)
3. [OCL Community Support](https://openconceptlab.org/category/community/)
4. [OCL GitHub Repository](https://github.com/OpenConceptLab)


## Implementation Examples
1. OpenFn Prototype for Médecins Sans Frontières (MSF) LIME Project - OpenMRS -> OCL -> DHIS2 sync: https://github.com/OpenFn/openfn-lime
42 changes: 42 additions & 0 deletions adaptors/rapidpro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: RapidPro Adaptor
---

## About RapidPro

[RapidPro](https://app.rapidpro.io/) is an open-source platform for building scalable, automated messaging workflows. It is widely used in development and humanitarian contexts for managing communication via SMS, social media, and other messaging channels.


## Integration Options

**RapidPro supports two primary integration options:**

**1. Rest API:** RapidPro has an available REST API that enables external services like OpenFn to pull data RapidPro, or push data from external apps to RapidPro. This option suits scheduled, bulk syncs or workflows that must update data in RapidPro with external information. See [functions](/adaptors/packages/rapidpro-docs) for more on how to use this adaptor to work with the API.

**2. Webhook:** RapidPro also has a Webhook or Data Forwarding to push data from Rapidpro to external systems. This option is suited for real-time, event-based data integration. Check out the RapidPro [developer documentation](https://docs.rapidpro.io/webhooks/) to learn how to set up a webhook to push data to OpenFn.

## Authentication

When integrating with RapidPro via OpenFn, one primary authentication method is supported: **Personal Access Token (PAT)**. See this adaptor's [Configuration docs](/adaptors/packages/rapidpro-configuration-schema) for more on required authentication parameters.

See platform docs on [managing credentials](/documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this:

```
{
"host": "https://app.rapidpro.io/",
"token": "#Super-sSCrecrete-token"
}
```

### Helpful Links

1. [RapidPro API documentation](https://rapidpro.io/api/v2/)
2. [RapidPro Community](https://community.rapidpro.io/)

### Implementation Examples

1. Sample RapidPro -> DHIS2 sync: [https://github.com/OpenFn/rapidpro-dhis2](https://github.com/OpenFn/rapidpro-dhis2)




39 changes: 39 additions & 0 deletions adaptors/sftp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: SFTP Adaptor
---

## About SFTP

[SFTP (Secure File Transfer Protocol)](https://www.techtarget.com/searchcontentmanagement/definition/Secure-File-Transfer-Protocol-SSH-File-Transfer-Protocol) is a secure method for transferring files between systems over an encrypted SSH connection. It is widely used for securely uploading, downloading, and managing files on remote servers.

Using this adaptor, you can read and write files (e.g., `csv`, `xls`, `json` files) saved on a SFTP server.

## Integration Options

**Direct File Transfers:** SFTP allows users to manually or programmatically transfer files between a local and remote system. See [functions](/adaptors/packages/sftp-docs) for more on how to use this adaptor to work with an SFTP server.

## Authentication

When integrating with a SFTP server via OpenFn, you can provide a `username` and `password` for an authorized user to authenticate. See this adaptor's [Configuration docs](/adaptors/packages/sftp-configuration-schema) for more on the required authentication parameters.

See platform docs on [managing credentials](documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this:

```
{
"host": "191.173.128.88",
"username": "name",
"password": "pwd"
}
```

### Helpful Links
1. [Best Practices for SFTP](https://www.ssh.com/academy/ssh/sftp)

### Implementation Examples

1. Women for Women International - SFTP -> Salesforce sync: [https://github.com/OpenFn/women-for-women](https://github.com/OpenFn/women-for-women)





0 comments on commit dff7290

Please sign in to comment.