Novu · Schema

IntegrationResponseDto

JSON Schema for Novu IntegrationResponseDto.

NotificationsMessagingIn AppEmailSMSPushChatWorkflowsOpen SourceSubscribersTopicsInboxWorkflow OrchestrationMulti ChannelDigestMCPFrameworkReact

Properties

Name Type Description
_id string The unique identifier of the integration record in the database. This is automatically generated.
_environmentId string The unique identifier for the environment associated with this integration. This links to the Environment collection.
_organizationId string The unique identifier for the organization that owns this integration. This links to the Organization collection.
name string The name of the integration, which is used to identify it in the user interface.
identifier string A unique string identifier for the integration, often used for API calls or internal references.
providerId string The identifier for the provider of the integration (e.g., "mailgun", "twilio").
channel string The channel type for the integration, which defines how it communicates (e.g., email, SMS). Not set for agent-kind integrations.
kind string Distinguishes delivery integrations from agent-runtime integrations. Defaults to "delivery". Agent integrations do not have a channel.
credentials object The decrypted credentials required for the integration to function (e.g. provider API keys, signing secrets). Only returned to dashboard/session-token callers; API-key authenticated callers receive th
configurations object The configurations required for enabling the additional configurations of the integration.
active boolean Indicates whether the integration is currently active. An active integration will process events and messages.
deleted boolean Indicates whether the integration has been marked as deleted (soft delete).
deletedAt string The timestamp indicating when the integration was deleted. This is set when the integration is soft deleted.
deletedBy string The identifier of the user who performed the deletion of this integration. Useful for audit trails.
primary boolean Indicates whether this integration is marked as primary. A primary integration is often the default choice for processing.
conditions array An array of conditions associated with the integration that may influence its behavior or processing logic.
View JSON Schema on GitHub

JSON Schema

novu-integration-response-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/novu/main/json-schema/novu-integration-response-dto-schema.json",
  "title": "IntegrationResponseDto",
  "description": "JSON Schema for Novu IntegrationResponseDto.",
  "type": "object",
  "properties": {
    "_id": {
      "type": "string",
      "description": "The unique identifier of the integration record in the database. This is automatically generated."
    },
    "_environmentId": {
      "type": "string",
      "description": "The unique identifier for the environment associated with this integration. This links to the Environment collection."
    },
    "_organizationId": {
      "type": "string",
      "description": "The unique identifier for the organization that owns this integration. This links to the Organization collection."
    },
    "name": {
      "type": "string",
      "description": "The name of the integration, which is used to identify it in the user interface."
    },
    "identifier": {
      "type": "string",
      "description": "A unique string identifier for the integration, often used for API calls or internal references."
    },
    "providerId": {
      "type": "string",
      "description": "The identifier for the provider of the integration (e.g., \"mailgun\", \"twilio\")."
    },
    "channel": {
      "type": "string",
      "description": "The channel type for the integration, which defines how it communicates (e.g., email, SMS). Not set for agent-kind integrations.",
      "enum": [
        "in_app",
        "email",
        "sms",
        "chat",
        "push"
      ]
    },
    "kind": {
      "type": "string",
      "description": "Distinguishes delivery integrations from agent-runtime integrations. Defaults to \"delivery\". Agent integrations do not have a channel.",
      "enum": [
        "delivery",
        "agent"
      ]
    },
    "credentials": {
      "description": "The decrypted credentials required for the integration to function (e.g. provider API keys, signing secrets). Only returned to dashboard/session-token callers; API-key authenticated callers receive the integration metadata without this field to avoid amplifying API-key leaks into provider-credential leaks.",
      "allOf": [
        {
          "type": "object",
          "properties": {
            "apiKey": {
              "type": "string"
            },
            "user": {
              "type": "string"
            },
            "secretKey": {
              "type": "string"
            },
            "domain": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "host": {
              "type": "string"
            },
            "port": {
              "type": "string"
            },
            "secure": {
              "type": "boolean"
            },
            "region": {
              "type": "string"
            },
            "accountSid": {
              "type": "string"
            },
            "messageProfileId": {
              "type": "string"
            },
            "token": {
              "type": "string"
            },
            "from": {
              "type": "string"
            },
            "senderName": {
              "type": "string"
            },
            "projectName": {
              "type": "string"
            },
            "applicationId": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "requireTls": {
              "type": "boolean"
            },
            "ignoreTls": {
              "type": "boolean"
            },
            "tlsOptions": {
              "type": "object"
            },
            "baseUrl": {
              "type": "string"
            },
            "webhookUrl": {
              "type": "string"
            },
            "redirectUrl": {
              "type": "string"
            },
            "hmac": {
              "type": "boolean"
            },
            "serviceAccount": {
              "type": "string"
            },
            "ipPoolName": {
              "type": "string"
            },
            "apiKeyRequestHeader": {
              "type": "string"
            },
            "secretKeyRequestHeader": {
              "type": "string"
            },
            "idPath": {
              "type": "string"
            },
            "datePath": {
              "type": "string"
            },
            "apiToken": {
              "type": "string"
            },
            "authenticateByToken": {
              "type": "boolean"
            },
            "authenticationTokenKey": {
              "type": "string"
            },
            "instanceId": {
              "type": "string"
            },
            "alertUid": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "imageUrl": {
              "type": "string"
            },
            "state": {
              "type": "string"
            },
            "externalLink": {
              "type": "string"
            },
            "channelId": {
              "type": "string"
            },
            "phoneNumberIdentification": {
              "type": "string"
            },
            "accessKey": {
              "type": "string"
            },
            "appSid": {
              "type": "string"
            },
            "senderId": {
              "type": "string"
            },
            "tenantId": {
              "type": "string"
            },
            "AppIOBaseUrl": {
              "type": "string"
            },
            "signingSecret": {
              "type": "string"
            },
            "outboundIntegrationId": {
              "type": "string"
            },
            "useFromAddressOverride": {
              "type": "boolean"
            },
            "fromAddressOverride": {
              "type": "string"
            },
            "emailSlugPrefix": {
              "type": "string",
              "description": "Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@<shared-domain>`. Only meaningful on the NovuAgent email integration."
            },
            "externalEnvironmentId": {
              "type": "string",
              "description": "Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API at integration provisioning time."
            },
            "externalWorkspaceId": {
              "type": "string",
              "description": "Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. `wrkspc_\u2026`)."
            }
          }
        }
      ]
    },
    "configurations": {
      "description": "The configurations required for enabling the additional configurations of the integration.",
      "allOf": [
        {
          "type": "object",
          "properties": {
            "inboundWebhookEnabled": {
              "type": "boolean"
            },
            "inboundWebhookSigningKey": {
              "type": "string"
            }
          }
        }
      ]
    },
    "active": {
      "type": "boolean",
      "description": "Indicates whether the integration is currently active. An active integration will process events and messages."
    },
    "deleted": {
      "type": "boolean",
      "description": "Indicates whether the integration has been marked as deleted (soft delete)."
    },
    "deletedAt": {
      "type": "string",
      "description": "The timestamp indicating when the integration was deleted. This is set when the integration is soft deleted."
    },
    "deletedBy": {
      "type": "string",
      "description": "The identifier of the user who performed the deletion of this integration. Useful for audit trails."
    },
    "primary": {
      "type": "boolean",
      "description": "Indicates whether this integration is marked as primary. A primary integration is often the default choice for processing."
    },
    "conditions": {
      "description": "An array of conditions associated with the integration that may influence its behavior or processing logic.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "isNegated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "BOOLEAN",
              "TEXT",
              "DATE",
              "NUMBER",
              "STATEMENT",
              "LIST",
              "MULTI_LIST",
              "GROUP"
            ]
          },
          "value": {
            "type": "string",
            "enum": [
              "AND",
              "OR"
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    "LARGER",
                    "SMALLER",
                    "LARGER_EQUAL",
                    "SMALLER_EQUAL",
                    "EQUAL",
                    "NOT_EQUAL",
                    "ALL_IN",
                    "ANY_IN",
                    "NOT_IN",
                    "BETWEEN",
                    "NOT_BETWEEN",
                    "LIKE",
                    "NOT_LIKE",
                    "IN"
                  ]
                },
                "on": {
                  "type": "string",
                  "enum": [
                    "subscriber",
                    "payload"
                  ]
                }
              },
              "required": [
                "field",
                "value",
                "operator",
                "on"
              ]
            }
          }
        },
        "required": [
          "isNegated",
          "type",
          "value",
          "children"
        ]
      }
    }
  },
  "required": [
    "_environmentId",
    "_organizationId",
    "name",
    "identifier",
    "providerId",
    "active",
    "deleted",
    "primary"
  ]
}