Skip to main content
Integrations are the bridge between Noxus and the external world. They manage authentication, communication, and data translation for third-party services.

Integration Responsibilities

A well-designed integration handles the following:
  • Authentication: Managing API keys, OAuth2 flows, or OIDC tokens securely.
  • Request/Response Translation: Converting platform-native data types to external API formats and vice versa.
  • Resilience: Implementing retries, handling rate limits, and normalizing error messages.
  • Pagination: Transparently handling large data sets from external APIs.

Defining an Integration

In the Noxus SDK, an integration is defined by a class that inherits from BaseIntegration.
from noxus_sdk.plugins import BaseIntegration, IntegrationConfiguration

class MyServiceConfig(IntegrationConfiguration):
    api_key: str
    base_url: str = "https://api.myservice.com"

class MyServiceIntegration(BaseIntegration[MyServiceConfig]):
    name = "my-service"
    display_name = "My Service"
    
    def test_connection(self):
        # Logic to verify credentials
        pass

Development Flow

1

Define the Contract

Document the required operations, inputs, outputs, and authentication requirements for the external service.
2

Implement the Client Layer

Build a robust HTTP client using libraries like httpx. Include automatic retries and typed response parsing.
3

Expose Nodes & Actions

Create custom nodes that utilize the integration to perform specific actions (e.g., “Send Slack Message”, “Fetch Jira Issue”).
4

Test Edge Cases

Validate behavior during authentication expiry, API throttling, and partial failures.

Security & Isolation

Integrations benefit from the platform’s security architecture:
  • Secret Isolation: Credentials can be injected directly into the worker pools where the integration runs.
  • Auditability: All calls made through an integration are recorded in the platform’s audit logs.

Configurable Plugins

Add admin controls and runtime settings to your integration.