Skip to content

feat(integrations): add pax8 integration #4419

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gonzalde97
Copy link
Contributor

@gonzalde97 gonzalde97 commented Aug 4, 2025

add integrations for pax8 subscription platform


Add Pax8 Integration: Documentation, Provider Config, and Logo

This pull request introduces a new integration for Pax8, a subscription platform, into the Nango platform. The changes include full documentation for end-users, setup and connection guides, provider configuration within the providers.yaml manifest, associated UI snippets for prebuilt tooling and use cases, and the Pax8 logo asset for the web app.

Key Changes:
• Added Pax8 provider configuration to packages/providers/providers.yaml with OAUTH2_CC auth, token and proxy URLs, required credentials (Client ID and Secret), and documentation links.
• Created documentation pages at docs-v2/integrations/all/pax8.mdx, including requirements, setup info, useful links, and API gotchas.
• Added a connection guide at docs-v2/integrations/all/pax8/connect.mdx detailing credential acquisition and authentication steps.
• Generated and included Pax8-specific snippets: PreBuiltTooling.mdx (tooling matrix) and PreBuiltUseCases.mdx (prebuilt use case placeholder).
• Added the Pax8 SVG logo at packages/webapp/public/images/template-logos/pax8.svg.

Affected Areas:
• Provider manifest (providers.yaml)
• Documentation (docs-v2/integrations/all/pax8.mdx, connect.mdx, snippets)
• Webapp visual assets (Pax8 logo)

Potential Impact:
Functionality: Introduces the Pax8 provider, enabling new customer integrations via OAUTH2 client credentials flow. No impact on existing providers or core system behavior.

Performance: No performance impact; changes are declarative/provider config, doc files, and static assets only.

Security: Correctly uses secure credential handling (client ID and secret), with secret flag applied. Follows expected best practices for OAUTH2_CC integrations.

Scalability: No impact on scalability; provider addition is isolated and does not affect overall system resource usage.
Review Focus:
• Correctness of providers.yaml configuration (URLs, param names, required docs, authentication mode).
• Accuracy and clarity of documentation, especially regarding access, setup, and API-specific gotchas.
• Logo asset correctness (SVG validity, proper placement).
• Presence of required integration metadata and links.

Testing Needed

• Manual validation that Pax8 connections can be established via the web UI using the documented flow.
• Verify proxy configuration allows API calls to /v1/companies using acquired tokens.
• Confirm that documentation renders correctly and the logo displays in provider pickers.

Code Quality Assessment

docs-v2/integrations/all/pax8.mdx: Clear, well-structured, provides all expected sections for a new provider.

docs-v2/integrations/all/pax8/connect.mdx: Process is stepwise and user-friendly, matching credential requirements in provider config.

docs-v2/snippets/generated/pax8/PreBuiltTooling.mdx: Generated matrix format, consistent with other integrations; status indicators and scope are appropriate.

docs-v2/snippets/generated/pax8/PreBuiltUseCases.mdx: Minimal but compliant with placeholder standards; ready for extension.

packages/providers/providers.yaml: YAML at correct schema depth/structure, making appropriate use of secret/description fields. Insertion respects alphabetical order and file organization.

packages/webapp/public/images/template-logos/pax8.svg: Valid SVG, style consistent with other provider logos, placed in correct location for logo assets.

Best Practices

Documentation:
• Comprehensive and user-friendly onboarding docs
• References to community support and contribution pathways
• Gotchas and security notes included

Provider Manifest:
• Client secret marked as secret
• Verification endpoint (/v1/companies) provided
• Docs and connect URLs included and accurate

Assets:
SVG logo provided in the correct template directory

Possible Issues

• No pre-built API endpoints/use-cases defined; end-users must build custom integrations until these are contributed.
• If Pax8 changes their required OAuth audience or token URL, the manifest will require an update.


This summary was automatically generated by @propel-code-bot

@hassan254-prog hassan254-prog self-requested a review August 4, 2025 09:50
Copy link
Contributor

@hassan254-prog hassan254-prog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments but looks good,

  • Remember to add this new docs to mint.json.
  • Included an svg you can use here as well.


<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/pax8.mdx)</Note>

## API gotchas
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section could be improved to:

  • The audience parameter is required in token requests and varies depending on the endpoint, for example, use https://api.pax8.com for public APIs and api://provisioning when requesting a token for provisioning endpoints.
  • Only Partner Admin and Primary Partner Admin roles can generate API credentials.

- Only Partner Admin and Primary Partner Admin roles can generate API credentials
- All requests must use HTTPS

<Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/pax8.mdx)</Note>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you left the ## Going further section here.


Click "Connect" to complete the authentication.

Note: Pax8 uses OAuth2 Client Credentials flow, so no user authorization step is required - the integration will authenticate directly with your provided credentials.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note: Pax8 uses OAuth2 Client Credentials flow, so no user authorization step is required - the integration will authenticate directly with your provided credentials.

Important: Only Partner Admin and Primary Partner Admin roles can access and generate API credentials.


#### Step 2: Connect Your Pax8 Account
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To achieve a uniform formatting with the rest:

#### Step 2: Enter credentials in the Connect UI

Once you have both your **Client ID** and **Client Secret**:
1. Open the form where you need to authenticate with Pax8.
2. Enter both your **Client ID** and **Client Secret** in the designated fields.
3. Submit the form, and you should be successfully authenticated.

Would also be nice to include the form screenshot.

- **Client ID**: Your unique application identifier
- **Client Secret**: Your application secret (click to reveal)

Important: Only Partner Admin and Primary Partner Admin roles can access and generate API credentials.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Important: Only Partner Admin and Primary Partner Admin roles can access and generate API credentials.

This was mentioned earlier in ### Prerequisites

audience: https://api.pax8.com
proxy:
base_url: https://api.pax8.com
headers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nango will automatically add this header for you when making proxy request, no need of having this here. You can also omit verification as well.

token_url: https://api.pax8.com/v1/token
token_params:
grant_type: client_credentials
audience: https://api.pax8.com
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since audience can be different, would this work? This will allow someone else to override it if need be.

audience: ${connectionConfig.audience} || https://api.pax8.com
connection_config:
        audience:
            type: string
            title: ''
            description: ''
            automated: true

categories:
- other
auth_mode: OAUTH2_CC
token_url: https://api.pax8.com/v1/token
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has this been tested? I believe it may not work, you need to set body_format: json to override the default form body format for OAUTH2_CC.

- [Authentication Guide](https://devx.pax8.com/docs/authentication)
- [Partner Program](https://www.pax8.com/partners/)
- [Integrations Hub](https://app.pax8.com/integrations?tab=credentials)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [API reference](https://devx.pax8.com/reference)

The Partner Program link above doesn't seem to work.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be 62x62

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants