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 fromBaseIntegration.
Development Flow
Define the Contract
Document the required operations, inputs, outputs, and authentication requirements for the external service.
Implement the Client Layer
Build a robust HTTP client using libraries like
httpx. Include automatic retries and typed response parsing.Expose Nodes & Actions
Create custom nodes that utilize the integration to perform specific actions (e.g., “Send Slack Message”, “Fetch Jira Issue”).
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.