Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adaptor overview pages #631

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions adaptors/asana.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ 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 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.
1. Rest API: Asana has an available REST API that enables 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.
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 [developer documentation](/adaptors/packages/asana-docs) to learn how to set up a webhook to push data to OpenFn.

## Authentication

See [Asana docs](https://developers.asana.com/docs/authentication) for the latest on supported authentication methods.

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).
When integrating with Asana via OpenFn, there is one primary authentication method that is 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 the required authentication parameters.

Expand Down
40 changes: 40 additions & 0 deletions adaptors/azure-storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Azure Storage
---

## About Azure Storage

[Azure Storage](https://azure.microsoft.com/en-us/products/category/storage) is a cloud-based storage solution provided by Microsoft Azure. It offers scalable and secure storage options for a wide range of data, including unstructured, semi-structured, and structured data.
## Integration Options

Azure Storage supports 2 primary integration options with OpenFn:

1. **Rest API:** Azure Storage has a REST API that enables external services like OpenFn to pull data from Azure Storage, or push data from external apps to Azure Storage. This option is suited for scheduled, bulk syncs or workflows that must update data in Azure Storage with external information. See [functions](/adaptors/packages/azure-storage-docs) for more on how to use this adaptor to work with the API.
2. **Webhook:** Webhook or Data Forwarding to push data from Azure Storage to external systems (see [docs](https://learn.microsoft.com/en-us/azure/storage/)). This option is suited for real-time, event-based data integration.

## Authentication

1. See [Azure Storage docs](https://learn.microsoft.com/en-us/azure/storage/) for the latest on supported authentication methods.
2. When integrating with Azure Storage via OpenFn, there is one primary authentication method that is supported: **API Key**. See this adaptor's [Configuration docs](/adaptors/packages/azure-storage-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:

```
{
"accountName": "examplestorageaccount01",
"accountKey": "zzUx5rA4BZkjPet8ztLTEll7azF65Sez7WxGKsJv5B+rp/dby8ARgYpEVe93xFCQDqGBi3FUlxjP+ASt4uepZg=="
}
```

### Helpful Links

1. [Azure Storage Documentation](https://learn.microsoft.com/en-us/azure/storage/)
2. [Azure Blob Storage REST API](https://learn.microsoft.com/en-us/rest/api/storageservices/)

### Implementation Examples

_Coming soon!_




42 changes: 42 additions & 0 deletions adaptors/beyonic.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Beyonic
---

## About Beyonic

Beyonic is a digital payments platform that supports mobile money payments, collections, and bulk disbursements, offering integration with major mobile network operators and banks.

## Integration Options

Beyonic supports 2 primary integration options with OpenFn:

1. **Rest API:** Beyonic has a REST API that enables external services like OpenFn to pull data from Beyonic, or push data from external apps to Beyonic. This option is suited for scheduled, bulk syncs or workflows that must update data in Beyonic with external information. See [functions](/adaptors/packages/beyonic-docs) for more on how to use this adaptor to work with the API.
2. **Webhook:** Webhook or Data Forwarding to push data from Beyonic to external systems (see [docs](https://apidocs.beyonic.com/webhooks)). This option is suited for real-time, event-based data integration.

## Authentication

1. See [Beyonic docs](https://apidocs.beyonic.com) for the latest on supported authentication methods.
2. When integrating with Beyonic via OpenFn, there is one primary authentication method that is supported: **API Key**. See this adaptor's [Configuration docs](/adaptors/packages/beyonic-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:

```
{
"apiUrl": "https://beyonic.com/api",
"apiToken": "cdjhiooiSIUJHDYSYUIHASIOHKAANOAJJjsiujhaka"
}
```

### Helpful Links

1. [Beyonic Documentation](https://apidocs.beyonic.com)
2. [Beyonic API Reference](https://apidocs.beyonic.com/reference)
3. [Webhook Guide](https://apidocs.beyonic.com/webhooks)

### Implementation Examples

_Coming soon!_




50 changes: 50 additions & 0 deletions adaptors/bigquery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Big Query
---

## About Big Query

BigQuery is Google Cloud’s fully managed, serverless, and highly scalable data warehouse solution. It enables organizations to store, analyze, and visualize large datasets using SQL queries, machine learning, and real-time analytics.

## Integration Options

BigQuery supports 2 primary integration options with OpenFn:

1. **Rest API:** BigQuery has a REST API that enables external services like OpenFn to pull data from BigQuery, or push data from external apps to BigQuery. This option is suited for scheduled, bulk syncs or workflows that must update data in BigQuery with external information. See [functions](/adaptors/packages/bigquery-docs) for more on how to use this adaptor to work with the API.
2. **Webhook:** Webhook or Data Forwarding to push data from BigQuery to external systems (see [docs](https://cloud.google.com/run/docs/triggering/webhooks)). This option is suited for real-time, event-based data integration.

## Authentication

1. See [BigQuery docs](https://cloud.google.com/bigquery/docs) for the latest on supported authentication methods.
2. When integrating with BigQuery via OpenFn, there is one primary authentication method that is supported: **API Key**. See this adaptor's [Configuration docs](/adaptors/packages/bigquery-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:

```
{
"type": "service_acconut",
"project_id": "some-project-id",
"private_key_id": "670b9e3c8c366e83aa569dd57cbfc5c575b72e42",
"private_key": "-----BEGIN PRIVATE KEY-----\nblah\nmoreblah=\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "someid",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/bigquery%40some-project.iam.gserviceaccount.com"
}
```

### Helpful Links

1. [BigQuery Documentation](https://cloud.google.com/bigquery/docs)
2. [BigQuery REST API](https://cloud.google.com/bigquery/docs/reference/rest)


### Implementation Examples

_Coming soon!_




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

## About Microsoft Dynamics

[Microsoft Dynamics](https://www.microsoft.com/en-us/dynamics-365) is a suite of enterprise resource planning (ERP) and customer relationship management (CRM) applications. It helps organizations manage sales, customer service, marketing, operations, and more.

## Integration Options

**1. Rest API:** Dynamics offers a REST API that enables external applications to interact with its database and perform bulk operations. This option is ideal for applications requiring scheduled or bulk synchronization with Dynamics. Refer to the Dynamics REST API [documentation](https://learn.microsoft.com/en-us/powerapps/developer/data-platform/webapi/overview) for detailed guidelines on endpoints and payload formats.

**2. Webhook:** Webhook or Data Forwarding to push data from Dynamics to external systems (see [docs](https://learn.microsoft.com/en-us/dynamics365/customer-engagement/developer/webhooks)). This option is suited for real-time, event-based data integration.

## Authentication

See [Microsoft docs](https://learn.microsoft.com/en-us/azure/active-directory/) for the latest on supported authentication methods. When integrating with Dynamics via OpenFn, **Access Token** is supported. See this adaptor's [Configuration docs](/adaptors/packages/dynamics-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:

```
{
"resource": "https://openfn.crm2.dynamics.com",
"apiVersion": "8.2.0",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
}
```

### Helpful Links

1. [Microsoft Dynamics Documentation](https://learn.microsoft.com/en-us/dynamics365/)
2. [Dynamics REST API Guide](https://learn.microsoft.com/en-us/powerapps/developer/data-platform/webapi/overview)
3. [Webhooks Setup](https://learn.microsoft.com/en-us/dynamics365/customer-engagement/developer/webhooks)

### Implementation Examples

_Comming soon!_




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

## About Gmail

Gmail is a free email service developed by Google that supports email communication, collaboration, file sharing and integration with other Google services.

## Integration Options

Gmail supports 2 primary integration options with OpenFn:

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

2. Webhook: While Gmail does not natively support webhooks, you can implement webhook-like functionality to push data from Gmail to external systems. This option is suited for real-time, event-based data integration. Check out the Gmail [developer documentation](https://developers.google.com/gmail/api/guides/push) to learn how to set up push notifications on Gmail.

## Authentication

1. See [Gmail docs](https://developers.google.com/gmail/api/auth/scopes) for the latest on supported authentication methods.
2. When integrating with Gmail via OpenFn, there is one primary authentication method that is supported: **Access Token**. You can generate an access token from Gmail using these [instructions](https://developers.google.com/identity/protocols/oauth2).
3. See this adaptor's [Configuration docs](/adaptors/packages/gmail-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:

```
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmhax0rZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
}
```

### Helpful Links

1. [API documentation](https://developers.google.com/gmail/api/guides)
2. [Community Support](https://support.google.com/mail/)

### Implementation Examples

_Coming soon!_



42 changes: 42 additions & 0 deletions adaptors/googlehealthcare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Google Cloud Healthcare Adaptor
---

## About Google Cloud Healthcare

The [Google Cloud Healthcare API](https://cloud.google.com/healthcare-api) is a solution that enables the secure storage, management, and exchange of healthcare data on Google Cloud. It bridges existing care systems and applications hosted on Google Cloud, facilitating interoperability and integration with advanced analytics and machine learning tools.

## Integration Options

**1. Rest API:** Google Cloud Healthcare offers a REST API that enables external applications to interact with its database and perform bulk operations. This option is ideal for applications requiring scheduled or bulk synchronization with Google Cloud Healthcare. The API supports the [HL7® FHIR®](https://www.hl7.org/fhir/overview.html) (Fast Healthcare Interoperability Resources) standard. See [functions](/adaptors/packages/googlehealthcare-docs) for more on how to use this adaptor to work with the API.

**2. Webhook:** The Google Cloud Healthcare API does not natively support webhooks as part of its core functionality. However, you can implement webhook-like behavior using other Google Cloud services and tools in combination with the Healthcare API.

## Authentication

1. See [Google Cloud Healthcare API docs](https://cloud.google.com/healthcare-api/docs/authentication#:~:text=You%20can%20authenticate%20to%20the,CLI%20credentials%20and%20ADC%20credentials.) for the latest on supported authentication methods.
2. When integrating with Google Cloud Healthcare via OpenFn, there is one primary authentication method that is supported: **Access Token**. See this adaptor's [Configuration docs](/adaptors/packages/googlehealthcare-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:

```
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
}
```

### Helpful Links

1. [Google Cloud Healthcare API Documentation](https://cloud.google.com/healthcare-api)
2. [Cloud Healthcare API Documentation](https://cloud.google.com/healthcare-api/docs)
3. [FHIR Standard](https://www.hl7.org/fhir/)
4. [Google Cloud Authentication Overview](https://cloud.google.com/docs/authentication)

### Implementation Examples

_Coming soon!_





40 changes: 40 additions & 0 deletions adaptors/hive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Hive Adaptor
---

## About Apache Hive

[Apache Hive](https://hive.apache.org/) is a data warehouse software that facilitates reading, writing, and managing large datasets stored in distributed storage systems.

## Integration Options

The `hive` adaptor provides direct database connections for accessing data and executing SQL and standard database operations. See [functions](/adaptors/packages/hive-docs) for more on how to use this adaptor.


## Authentication

See [Hive docs](https://hive.apache.org/docs/) for the latest on supported authentication methods. When integrating with a Hive database via OpenFn, you authenticate via SSH using authorized database credentials. See this adaptor's [Configuration docs](/adaptors/packages/hive-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": "some-host-url.compute-1.amazonaws.com",
"database": "demo-db",
"username": "admin-demo",
"password": "@super(!)Secretpass"
}
```

### Helpful Links

1. [Hive documentation](https://hive.apache.org/)


### Implementation Examples

_Coming soon!_




42 changes: 42 additions & 0 deletions adaptors/mailgun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Mailgun Adaptor
---

## About Mailgun

[Mailgun](https://www.mailgun.com/) is an email delivery service designed for developers and provides APIs for sending, receiving, and tracking emails.

## Integration Options

Mailgun supports 2 primary integration options with OpenFn:

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

2. **Webhook:** Webhook or Data Forwarding to push data from Mailgun to external systems (see [docs](https://documentation.mailgun.com/docs/mailgun/user-manual/tracking-messages/#webhooks)). This option is suited for real-time, event-based data integration.

## Authentication

1. See [Mailgun docs](https://developers.google.com/gmail/api/auth/scopes) for the latest on supported authentication methods.
2. When integrating with Mailgun via OpenFn, there is one primary authentication method that is supported: **API Key**. See this adaptor's [Configuration docs](/adaptors/packages/mailgun-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:

```
{
"domain": "sandbox-123.mailgun.org",
"apiKey": "otherThiNGfSECret"
}
```

### Helpful Links

1. [Mailgun API Documentation](https://documentation.mailgun.com/)
2. [Event Webhooks](https://documentation.mailgun.com/en/latest/api-events.html#event-webhooks)
3. [Support and Community](https://help.mailgun.com/)

### Implementation Examples

1. [Women for Women International - Committed Giving <> Salesforce Integration](https://github.com/OpenFn/women-for-women?tab=readme-ov-file#email-alerts)



Loading
Loading