Enums

This module is used to gather all enumerations defined by Novu in Python format to be reused by developers.

class novu.enums.ChangeKind(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define all kinds of change in Novu

FEED = 'Feed'

The change is related to a feed

LAYOUT = 'Layout'

The change is related to a layout

MESSAGE_TEMPLATE = 'MessageTemplate'

The change is related to a message template

NOTIFICATION_GROUP = 'NotificationGroup'

The change is related to a notification group

NOTIFICATION_TEMPLATE = 'NotificationTemplate'

The change is related to a notification template

class novu.enums.Channel(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define all available channel in Novu

CHAT = 'chat'

Chat channel (discord, MS Teams, Slack, …)

EMAIL = 'email'

Email channel (Custom SMTP, EmailJS, MailerSend, Mailjet, Outlook 365, Postmark, SendGrid, Sendinblue, Amazon SES, …)

IN_APP = 'in_app'

In APP channel

PUSH = 'push'

Push channel (Expo, Firebase Cloud Messaging, …)

SMS = 'sms'

SMS channel (SMS77, AWS SNS, Telnyx, Twilio SMS, …)

class novu.enums.ChannelExtended(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define all available channel in Novu and intermediate provider between channel.

This definition is useful to determine if a block is a channel or a digest for example.

CHAT = 'chat'

Chat channel (discord, MS Teams, Slack, …)

DELAY = 'delay'

A delay in the notification template

DIGEST = 'digest'

Used to aggregate message on certain conditions

EMAIL = 'email'

Email channel (Custom SMTP, EmailJS, MailerSend, Mailjet, Outlook 365, Postmark, SendGrid, Sendinblue, Amazon SES, …)

IN_APP = 'in_app'

In APP channel

PUSH = 'push'

Push channel (Expo, Firebase Cloud Messaging, …)

SMS = 'sms'

SMS channel (SMS77, AWS SNS, Telnyx, Twilio SMS, …)

TRIGGER = 'trigger'

Trigger to start the notification template

class novu.enums.ChatProviderIdEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible chat provider ID

DISCORD = 'discord'

Discord provider for chat messages

MS_TEAMS = 'msteams'

MS Teams provider for chat messages

SLACK = 'slack'

Slack provider for chat messages

class novu.enums.CredentialsKeyEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible key in a Novu credentials dict

ACCOUNT_SID = 'accountSid'

Account SID

API_KEY = 'apiKey'

Api key

APPLICATION_ID = 'applicationId'

Application ID

BASE_URL = 'baseUrl'

Base URL

CLIENT_ID = 'clientId'

Client ID

DOMAIN = 'domain'

Domain

FROM = 'from'

From

HOST = 'host'

Host

MESSAGE_PROFILE_ID = 'messageProfileId'

Message profile ID

PASSWORD = 'password'

Password

PORT = 'port'

Port

PROJECT_NAME = 'projectName'

Project name

REGION = 'region'

Region

SECRET_KEY = 'secretKey'

Secret key

SECURE = 'secure'

Secure

SENDER_NAME = 'senderName'

Sender name

SERVICE_ACCOUNT = 'serviceAccount'

Service account

TOKEN = 'token'

Token

USER = 'user'

User

WEBHOOK_URL = 'webhookUrl'

Webhook URL

class novu.enums.EmailProviderIdEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible email provider ID.

For more details about their configuration, see https://docs.novu.co/channels/email/

CLICKATELL = 'clickatell'

Click-a-tell mail provider

CUSTOM_SMTP = 'nodemailer'

Custom SMTP provider, for example a nodemailer

EMAILJS = 'emailjs'

EmailJS mail provider, see

INFOBIP = 'infobip-email'

InfoBIP mail provider

MAILERSEND = 'mailersend'

Mailer Send provider

MAILGUN = 'mailgun'

MailGun mail provider

MAILJET = 'mailjet'

MailJet mail provider

MANDRILL = 'mandrill'

Mandrill mail provider

NETCORE = 'netcore'

NetCore mail provider

NOVU = 'novu-email'

Novu internal mail provider

OUTLOOK365 = 'outlook365'

Outlook 365 mail provider

POSTMARK = 'postmark'

Postmark mail provider

SENDGRID = 'sendgrid'

SendGrid mail provider

SENDINBLUE = 'sendinblue'

SendInBlue mail provider

SES = 'ses'

Amazon SES mail provider

class novu.enums.EventStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible status of an event

PROCESSED = 'processed'

The event have been processed

SUBSCRIBER_ID_MISSING = 'subscriber_id_missing'

The subscriber ID you gave was not found

TEMPLATE_NOT_FOUND = 'template_not_found'

The template was not found

TRIGGER_NOT_ACTIVE = 'trigger_not_active'

The trigger you gave is not active

class novu.enums.ExecutionSource(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define all sources possible for an execution in Novu

CREDENTIALS = 'Credentials'

Execution detail source is credentials

INTERNAL = 'Internal'

Execution detail source is internal

PAYLOAD = 'Payload'

Execution detail source is payload

WEBHOOK = 'Webhook'

Execution detail source is webhook

class novu.enums.ExecutionStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define all status possible for an execution in Novu

FAILED = 'Failed'

Execution failed

PENDING = 'Pending'

Execution is pending

QUEUED = 'Queued'

Execution is queued

READ_CONFIRMATION = 'ReadConfirmation'

Execution reading has been confirmed

SUCCESS = 'Success'

Execution is successful

WARNING = 'Warning'

Execution end with a warning

class novu.enums.FieldFilterPartOn(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible trigger (on) for a field filter part

IS_ONLINE = 'isOnline'

Allow to check if the subscriber is online

IS_ONLINE_IN_LAST = 'isOnlineInLast'

Allow to check if the subscriber is online in last X given minutes

PAYLOAD = 'payload'

Filter using the payload’s data

SUBSCRIBER = 'subscriber'

Filter using the subscriber’s data

WEBHOOK = 'webhook'

Filter using the webhook’s data

class novu.enums.FieldFilterPartOperator(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible operator for a field filter part

ALL_IN = 'ALL_IN'

All in operator, which is like a python all()

ANY_IN = 'ANY_IN'

Any in operator, which is like a python any()

BETWEEN = 'BETWEEN'

Between operator (lower_range <= item <= upper_range)

EQUAL = 'EQUAL'

Equal operator (==)

IN = 'IN'

Membership operator (in)

LARGER = 'LARGER'

Larger operator (>)

LARGER_EQUAL = 'LARGER_EQUAL'

Larger or equal operator (>=)

LIKE = 'LIKE'

LIKE operator (sentence.find(item))

NOT_BETWEEN = 'NOT_BETWEEN'

Not between operator (not (lower_range <= item <= upper_range))

NOT_EQUAL = 'NOT_EQUAL'

Not equal operator (!=)

NOT_IN = 'NOT_IN'

Not equal operator (not in)

NOT_LIKE = 'NOT_LIKE'

Not LIKE operator (not sentence.find(item))

SMALLER = 'SMALLER'

Smaller operator (<)

SMALLER_EQUAL = 'SMALLER_EQUAL'

Smaller or equal operator (<=)

class novu.enums.FieldFilterPartTimeOperator(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible operator for a filed filter part which is used if FieldFilterPartDto.on is set to FieldFilterPartOn.IS_ONLINE_IN_LAST

DAYS = 'days'

The days operator

HOURS = 'hours'

The hours operator

MINUTES = 'minutes'

The minutes operator

class novu.enums.InAppProviderIdEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible in_app provider ID

NOVU = 'novu'

The only in-app provider, Novu

class novu.enums.NotificationStepMetadataType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible type of step’s metadata

BACKOFF = 'backoff'

Metadata for a digest in back-off mode

REGULAR = 'regular'

Metadata for a digest in regular mode

SCHEDULED = 'scheduled'

Metadata for a scheduled step

class novu.enums.NotificationStepMetadataUnit(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible unit of step’s metadata

DAYS = 'days'

In days

HOURS = 'hours'

In hours

MINUTES = 'minutes'

In minutes

SECONDS = 'seconds'

In seconds

class novu.enums.PushProviderIdEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible push provider ID

APNS = 'apns'

APNS notification push provider

EXPO = 'expo'

EXPO notification push provider

FCM = 'fcm'

FCM notification push provider

class novu.enums.SmsProviderIdEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible sms provider ID

BURST_SMS = 'burst-sms'

BurstSMS provider

CLICKATELL = 'clickatell'

Click-a-tell sms provider

FIRETEXT = 'firetext'

Firetext sms provider

GUPSHUP = 'gupshup'

Gupshup sms provider

INFOBIP = 'infobip-sms'

InfoBIP sms provider

NEXMO = 'nexmo'

Nexmo sms provider

PLIVO = 'plivo'

Plivo sms provider

SMS77 = 'sms77'

SMS 77 provider

SNS = 'sns'

Amazon SNS provider

TELNYX = 'telnyx'

Telnyx sms provider

TWILIO = 'twilio'

Twilio sms provider

class novu.enums.StepFilterType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible type for a step filter

BOOL = 'BOOLEAN'

Boolean filter

DATE = 'DATE'

Date filter

GROUP = 'GROUP'

Group filter

LIST = 'LIST'

List filter

MULTI_LIST = 'MULTI_LIST'

Multi-list filter

NUMBER = 'NUMBER'

Number filter

STATEMENT = 'STATEMENT'

Statement filter

TEXT = 'TEXT'

Text filter

class novu.enums.StepFilterValue(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible value for a step filter

AND = 'AND'

And operator

OR = 'OR'

Or operator

class novu.enums.TemplateVariableTypeEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

This enumeration define possible type for a variable in a template

BOOL = 'Boolean'

Boolean variable

LIST = 'Array'

List variable

STRING = 'String'

String variable