> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noxus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating Integrations

> Build integration plugins for external APIs and systems

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`.

```python theme={null}
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

<Steps>
  <Step title="Define the Contract">
    Document the required operations, inputs, outputs, and authentication requirements for the external service.
  </Step>

  <Step title="Implement the Client Layer">
    Build a robust HTTP client using libraries like `httpx`. Include automatic retries and typed response parsing.
  </Step>

  <Step title="Expose Nodes & Actions">
    Create custom nodes that utilize the integration to perform specific actions (e.g., "Send Slack Message", "Fetch Jira Issue").
  </Step>

  <Step title="Test Edge Cases">
    Validate behavior during authentication expiry, API throttling, and partial failures.
  </Step>
</Steps>

***

## 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.

<Card title="Configurable Plugins" icon="sliders" href="/developers/plugins/configurable-plugins">
  Add admin controls and runtime settings to your integration.
</Card>
