Back to Novu

Integration schema

docs/api-reference/integrations/integration-schema.mdx

3.19.04.5 KB
Original Source

Integration

Integration is third party service used by Novu to send notification for a specific channel. For example, sengrid is a email integration and twilio is a sms integration. Read more about integrations on integrations concept page. Integration APIs don't return credentials with secret key based authorization method, only integration metadata details are returned in response.

FieldTypeDescription
idstringThe unique identifier of the integration record in the database. This is automatically generated.
environmentIdstringThe unique identifier for the environment associated with this integration. This links to the Environment collection.
organizationIdstringThe unique identifier for the organization that owns this integration. This links to the Organization collection.
namestringThe name of the integration, which is used to identify it in the user interface.
identifierstringA unique string identifier for the integration, often used for API calls or internal references.
providerIdstringThe identifier for the provider of the integration (e.g., "mailgun", "twilio").
channelIntegrationResponseDtoChannelThe channel type for the integration, which defines how it communicates (e.g., email, SMS).
credentialsCredentialsDtoThe credentials required for the integration to function, including API keys and other sensitive information.
configurationsConfigurationsDtoThe configurations required for enabling the additional configurations of the integration.
activebooleanIndicates whether the integration is currently active. An active integration will process events and messages.
deletedbooleanIndicates whether the integration has been marked as deleted (soft delete).
deletedAtstringThe timestamp indicating when the integration was deleted. This is set when the integration is soft deleted.
deletedBystringThe identifier of the user who performed the deletion of this integration. Useful for audit trails.
primarybooleanIndicates whether this integration is marked as primary. A primary integration is often the default choice for processing.
conditionsStepFilterDto[]An array of conditions associated with the integration that may influence its behavior or processing logic.

Credentials

Each integration has a set of credentials that are used to authenticate with the third party service. Checkout the provider documentation for more details on what credentials are required for each integration.

FieldTypeDescription
apiKeystring
userstring
secretKeystring
domainstring
passwordstring
hoststring
portstring
secureboolean
regionstring
accountSidstring
messageProfileIdstring
tokenstring
fromstring
senderNamestring
projectNamestring
applicationIdstring
clientIdstring
requireTlsboolean
ignoreTlsboolean
tlsOptionsTlsOptions
baseUrlstring
webhookUrlstring
redirectUrlstring
hmacboolean
serviceAccountstring
ipPoolNamestring
apiKeyRequestHeaderstring
secretKeyRequestHeaderstring
idPathstring
datePathstring
apiTokenstring
authenticateByTokenboolean
authenticationTokenKeystring
instanceIdstring
alertUidstring
titlestring
imageUrlstring
statestring
externalLinkstring
channelIdstring
phoneNumberIdentificationstring
accessKeystring
appSidstring
senderIdstring
tenantIdstring
appIOBaseUrlstring

ChannelTypeEnum

ChannelTypeEnum is used to specify the type of channel that the integration is used for. For example, if the integration is used for email, the channel type will be email.

typescript
ChannelTypeEnum {
  IN_APP = "in_app",
  EMAIL = "email",
  SMS = "sms",
  CHAT = "chat",
  PUSH = "push"
}