1
0
mirror of synced 2025-12-25 02:09:19 -05:00

source-workflowmax contribution from btkcodedev (#46866)

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
This commit is contained in:
btkcodedev
2024-10-14 05:50:43 +05:30
committed by GitHub
parent 9344610fe4
commit bda5ae0e76
6 changed files with 2457 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
# Workflowmax
This directory contains the manifest-only connector for [`source-workflowmax`](https://app.workflowmax2.com/).
## Documentation reference:
Visit `https://app.swaggerhub.com/apis-docs/WorkflowMax-BlueRock/WorkflowMax-BlueRock-OpenAPI3/0.1#/` for V1 API documentation
## Authentication setup
`Workflowmax` uses bearer token authentication, You have to input your bearer access_token in the field of API key for authentication.
### Using postman to get access token
- Move to Authorization tab of an empty http request and selected Oauth 2.0
- Set use token type as `access token`
- Set header prefix as `Bearer`
- Set grant type as `Authorization code`
- Check `Authorize using browser`
- Set Auth URL as `https://oauth.workflowmax2.com/oauth/authorize`
- Set Access token URL as `https://oauth.workflowmax2.com/oauth/token`
- Set Client ID, Client secret, Scope defined as your Workflowmax settings, Example Scope: `openid profile email workflowmax offline_access`
- Set state as any number, Example: `1`
- Set Client Authentication as `Send as Basic Auth Header`
Click `Get New Access Token` for retrieving access token
Then authorize your source with the required information.
1. Go to set up `The Source` page.
2. Enter your Workflowmax application's access token.
3. Click Save button.
## Usage
There are multiple ways to use this connector:
- You can use this connector as any other connector in Airbyte Marketplace.
- You can load this connector in `pyairbyte` using `get_source`!
- You can open this connector in Connector Builder, edit it, and publish to your workspaces.
Please refer to the manifest-only connector documentation for more details.
## Local Development
We recommend you use the Connector Builder to edit this connector.
But, if you want to develop this connector locally, you can use the following steps.
### Environment Setup
You will need `airbyte-ci` installed. You can find the documentation [here](airbyte-ci).
### Build
This will create a dev image (`source-workflowmax:dev`) that you can use to test the connector locally.
```bash
airbyte-ci connectors --name=source-workflowmax build
```
### Test
This will run the acceptance tests for the connector.
```bash
airbyte-ci connectors --name=source-workflowmax test
```

View File

@@ -0,0 +1,17 @@
# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
# for more information about how to configure these tests
connector_image: airbyte/source-workflowmax:dev
acceptance_tests:
spec:
tests:
- spec_path: "manifest.yaml"
connection:
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
discovery:
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
basic_read:
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
incremental:
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
full_refresh:
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
metadataSpecVersion: "1.0"
data:
allowedHosts:
hosts:
- "api.workflowmax2.com"
registryOverrides:
oss:
enabled: true
cloud:
enabled: true
remoteRegistries:
pypi:
enabled: false
packageName: airbyte-source-workflowmax
connectorBuildOptions:
baseImage: docker.io/airbyte/source-declarative-manifest:5.13.0@sha256:ffc5977f59e1f38bf3f5dd70b6fa0520c2450ebf85153c5a8df315b8c918d5c3
connectorSubtype: api
connectorType: source
definitionId: a3eb6410-f3c3-48ba-8b27-29a56de1e9db
dockerImageTag: 0.0.1
dockerRepository: airbyte/source-workflowmax
githubIssueLabel: source-workflowmax
icon: icon.svg
license: MIT
name: Workflowmax
releaseDate: 2024-10-13
releaseStage: alpha
supportLevel: community
documentationUrl: https://docs.airbyte.com/integrations/sources/workflowmax
tags:
- language:manifest-only
- cdk:low-code
ab_internal:
ql: 100
sl: 100

View File

@@ -0,0 +1,65 @@
# Workflowmax
This directory contains the manifest-only connector for [`source-workflowmax`](https://app.workflowmax2.com/).
## Documentation reference:
Visit `https://app.swaggerhub.com/apis-docs/WorkflowMax-BlueRock/WorkflowMax-BlueRock-OpenAPI3/0.1#/` for V1 API documentation
## Authentication setup
`Workflowmax` uses bearer token authentication, You have to input your bearer access_token in the field of API key for authentication.
### Using postman to get access token
- Move to Authorization tab of an empty http request and selected Oauth 2.0
- Set use token type as `access token`
- Set header prefix as `Bearer`
- Set grant type as `Authorization code`
- Check `Authorize using browser`
- Set Auth URL as `https://oauth.workflowmax2.com/oauth/authorize`
- Set Access token URL as `https://oauth.workflowmax2.com/oauth/token`
- Set Client ID, Client secret, Scope defined as your Workflowmax settings, Example Scope: `openid profile email workflowmax offline_access`
- Set state as any number, Example: `1`
- Set Client Authentication as `Send as Basic Auth Header`
Click `Get New Access Token` for retrieving access token
Then authorize your source with the required information.
1. Go to set up `The Source` page.
2. Enter your Workflowmax application's access token.
3. Click Save button.
## Configuration
| Input | Type | Description | Default Value |
|-------|------|-------------|---------------|
| `api_key_2` | `string` | API Key. | |
| `account_id` | `string` | Account ID. The account id for workflowmax | |
| `start_date` | `string` | Start date. | |
## Streams
| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
|-------------|-------------|------------|---------------------|----------------------|
| stafflist | UUID | DefaultPaginator | ✅ | ❌ |
| clientlist | UUID | DefaultPaginator | ✅ | ❌ |
| clients_documents | uuid | No pagination | ✅ | ❌ |
| clientgrouplist | UUID | DefaultPaginator | ✅ | ❌ |
| costlist | UUID | DefaultPaginator | ✅ | ❌ |
| invoice_current | UUID | DefaultPaginator | ✅ | ❌ |
| invoicelist | UUID | DefaultPaginator | ✅ | ✅ |
| joblist | UUID | DefaultPaginator | ✅ | ✅ |
| job_tasks | UUID | DefaultPaginator | ✅ | ✅ |
| leadlist | UUID | DefaultPaginator | ✅ | ✅ |
| purchaseorderlist | ID | DefaultPaginator | ✅ | ✅ |
| tasklist | UUID | DefaultPaginator | ✅ | ❌ |
| quotelist | UUID | DefaultPaginator | ✅ | ✅ |
| supplierlist | UUID | DefaultPaginator | ✅ | ❌ |
| timelist | UUID | DefaultPaginator | ✅ | ✅ |
## Changelog
<details>
<summary>Expand to review</summary>
| Version | Date | Pull Request | Subject |
|------------------|-------------------|--------------|----------------|
| 0.0.1 | 2024-10-13 | [46866](https://github.com/airbytehq/airbyte/pull/46866) | Initial release by [@btkcodedev](https://github.com/btkcodedev) via Connector Builder |
</details>