# Integration

## class nominal.core.Integration(rid, name, description, created_at, details)

Bases: `HasRid`, `RefreshableGrpcMixin`[`Integration`]

Reusable notification destination.

Retrieve one with [`NominalClient.get_integration`](https://dev.nominal.io/python/ref/generated/nominal.core.NominalClient.md#nominal.core.NominalClient.get_integration "nominal.core.NominalClient.get_integration") or create one with a client creation method.

Example

Create a destination using a client configured for the desired workspace:

```python
from nominal.core import NominalClient

client = NominalClient.from_profile("default")
integration = client.create_webhook_integration(
    "Test alerts", "https://example.com/alerts"
)
integration.update(description="Checklist notifications")
```

### rid: str

### name: str

### description: str | None

### created_at: IntegralNanosecondsUTC

### details: IntegrationDetails

Provider settings. Reading this field makes no request; [`refresh`](https://dev.nominal.io/python/ref/generated/nominal.core.Integration.md#nominal.core.Integration.refresh "nominal.core.Integration.refresh") replaces its contents.

Example

```python
from nominal.core import OpsgenieIntegrationDetails

if isinstance(integration.details, OpsgenieIntegrationDetails):
    print(integration.details.region)
```

### delete()

Delete this notification integration.

Deleted integrations cannot be restored through this API. The local snapshot remains unchanged.

### refresh()

Return type:
:   [*Self*](https://docs.python.org/3/library/typing.html#typing.Self "(in Python v3.15)")

### update(*, name=None, description=None)

Update the name or description in place.

Parameters:
:   - **name** ([*str*](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)") *|* *None*)

      New name, or None to leave it unchanged.
    - **description** ([*str*](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)") *|* *None*)

      New description, or None to leave it unchanged. An empty string clears it.

Returns:
:   This instance with current metadata. If both arguments are None, calls [`refresh`](https://dev.nominal.io/python/ref/generated/nominal.core.Integration.md#nominal.core.Integration.refresh "nominal.core.Integration.refresh").

Return type:
:   [*Self*](https://docs.python.org/3/library/typing.html#typing.Self "(in Python v3.15)")
