Workflows
Create workflow
- API Overview
- API Rate Limiting
Events
Subscribers
Topics
Notification
Workflows
Workflow Overrides
Workflow groups
Integrations
Layouts
Environments
Changes
Execution Details
Feeds
Tenants
Organizations
Messages
Workflows
Create workflow
Workflow was previously named notification template
POST
/
v1
/
workflows
Authorization
string
*
Authorization
Required
string
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
object
*
name
string
*
name
Required
string
notificationGroupId
string
*
notificationGroupId
Required
string
notificationGroup
object
notificationGroup
object
tags
array
tags
array
description
string
description
string
steps
array
*
steps
Required
array
active
boolean
active
boolean
draft
boolean, deprecated
draft
Deprecated
boolean
critical
boolean
critical
boolean
preferenceSettings
object
preferenceSettings
object
email
boolean
email
boolean
sms
boolean
sms
boolean
in_app
boolean
in_app
boolean
chat
boolean
chat
boolean
push
boolean
push
boolean
blueprintId
string
blueprintId
string
data
object
data
object
curl --request POST \
--url https://api.novu.co/v1/workflows \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
"notificationGroupId":"<notificationGroupId>",
"steps": [{ "steps" }]
}'
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": ["string"],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}
Enter your API key in the Authorization
field like the example shown below:
E.g ApiKey 18d2e625f05d80e
curl --request POST \
--url https://api.novu.co/v1/workflows \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
"notificationGroupId":"<notificationGroupId>",
"steps": [{ "steps" }]
}'
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": ["string"],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}
Authorizations
Authorization
string
headerrequiredAPI key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Body
application/json
name
string
requirednotificationGroupId
string
requirednotificationGroup
object
tags
string[]
description
string
steps
object[]
requiredsteps._id
string
steps.uuid
string
steps.name
string
steps._templateId
string
steps.active
boolean
steps.shouldStopOnFail
boolean
steps.template
object
steps.filters
object[]
steps.filters.isNegated
boolean
requiredsteps.filters.type
enum<string>
requiredAvailable options:
BOOLEAN
, TEXT
, DATE
, NUMBER
, STATEMENT
, LIST
, MULTI_LIST
, GROUP
steps.filters.value
enum<string>
requiredAvailable options:
AND
, OR
steps.filters.children
object[]
requiredsteps.filters.children.field
string
requiredsteps.filters.children.value
string
requiredsteps.filters.children.operator
enum<string>
requiredAvailable options:
LARGER
, SMALLER
, LARGER_EQUAL
, SMALLER_EQUAL
, EQUAL
, NOT_EQUAL
, ALL_IN
, ANY_IN
, NOT_IN
, BETWEEN
, NOT_BETWEEN
, LIKE
, NOT_LIKE
, IN
steps.filters.children.on
enum<string>
requiredAvailable options:
subscriber
, payload
steps._parentId
object
steps.metadata
object
steps.metadata.amount
number
steps.metadata.unit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
steps.metadata.digestKey
string
steps.metadata.type
enum<string>
requiredAvailable options:
regular
, backoff
steps.metadata.backoff
boolean
steps.metadata.backoffAmount
number
steps.metadata.backoffUnit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
steps.metadata.updateMode
boolean
steps.replyCallback
object
steps.variants
object
steps.variants._id
string
steps.variants.uuid
string
steps.variants.name
string
steps.variants._templateId
string
steps.variants.active
boolean
steps.variants.shouldStopOnFail
boolean
steps.variants.template
object
steps.variants.filters
object[]
steps.variants.filters.isNegated
boolean
requiredsteps.variants.filters.type
enum<string>
requiredAvailable options:
BOOLEAN
, TEXT
, DATE
, NUMBER
, STATEMENT
, LIST
, MULTI_LIST
, GROUP
steps.variants.filters.value
enum<string>
requiredAvailable options:
AND
, OR
steps.variants.filters.children
object[]
requiredsteps.variants.filters.children.field
string
requiredsteps.variants.filters.children.value
string
requiredsteps.variants.filters.children.operator
enum<string>
requiredAvailable options:
LARGER
, SMALLER
, LARGER_EQUAL
, SMALLER_EQUAL
, EQUAL
, NOT_EQUAL
, ALL_IN
, ANY_IN
, NOT_IN
, BETWEEN
, NOT_BETWEEN
, LIKE
, NOT_LIKE
, IN
steps.variants.filters.children.on
enum<string>
requiredAvailable options:
subscriber
, payload
steps.variants._parentId
object
steps.variants.metadata
object
steps.variants.metadata.amount
number
steps.variants.metadata.unit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
steps.variants.metadata.digestKey
string
steps.variants.metadata.type
enum<string>
requiredAvailable options:
regular
, backoff
steps.variants.metadata.backoff
boolean
steps.variants.metadata.backoffAmount
number
steps.variants.metadata.backoffUnit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
steps.variants.metadata.updateMode
boolean
steps.variants.replyCallback
object
active
boolean
draft
boolean
deprecatedcritical
boolean
preferenceSettings
object
preferenceSettings.email
boolean
preferenceSettings.sms
boolean
preferenceSettings.in_app
boolean
preferenceSettings.chat
boolean
preferenceSettings.push
boolean
blueprintId
string
data
object
Response
201 - application/json
data
object
data._id
string
data.name
string
requireddata.description
string
requireddata.active
boolean
requireddata.draft
boolean
requireddata.preferenceSettings
object
requireddata.preferenceSettings.email
boolean
data.preferenceSettings.sms
boolean
data.preferenceSettings.in_app
boolean
data.preferenceSettings.chat
boolean
data.preferenceSettings.push
boolean
data.critical
boolean
requireddata.tags
string[]
requireddata.steps
object[]
requireddata.steps._id
string
data.steps.uuid
string
data.steps.name
string
data.steps._templateId
string
data.steps.active
boolean
data.steps.shouldStopOnFail
boolean
data.steps.template
object
data.steps.filters
object[]
data.steps.filters.isNegated
boolean
requireddata.steps.filters.type
enum<string>
requiredAvailable options:
BOOLEAN
, TEXT
, DATE
, NUMBER
, STATEMENT
, LIST
, MULTI_LIST
, GROUP
data.steps.filters.value
enum<string>
requiredAvailable options:
AND
, OR
data.steps.filters.children
object[]
requireddata.steps.filters.children.field
string
requireddata.steps.filters.children.value
string
requireddata.steps.filters.children.operator
enum<string>
requiredAvailable options:
LARGER
, SMALLER
, LARGER_EQUAL
, SMALLER_EQUAL
, EQUAL
, NOT_EQUAL
, ALL_IN
, ANY_IN
, NOT_IN
, BETWEEN
, NOT_BETWEEN
, LIKE
, NOT_LIKE
, IN
data.steps.filters.children.on
enum<string>
requiredAvailable options:
subscriber
, payload
data.steps._parentId
object
data.steps.metadata
object
data.steps.metadata.amount
number
data.steps.metadata.unit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
data.steps.metadata.digestKey
string
data.steps.metadata.type
enum<string>
requiredAvailable options:
regular
, backoff
data.steps.metadata.backoff
boolean
data.steps.metadata.backoffAmount
number
data.steps.metadata.backoffUnit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
data.steps.metadata.updateMode
boolean
data.steps.replyCallback
object
data.steps.variants
object
data.steps.variants._id
string
data.steps.variants.uuid
string
data.steps.variants.name
string
data.steps.variants._templateId
string
data.steps.variants.active
boolean
data.steps.variants.shouldStopOnFail
boolean
data.steps.variants.template
object
data.steps.variants.filters
object[]
data.steps.variants.filters.isNegated
boolean
requireddata.steps.variants.filters.type
enum<string>
requiredAvailable options:
BOOLEAN
, TEXT
, DATE
, NUMBER
, STATEMENT
, LIST
, MULTI_LIST
, GROUP
data.steps.variants.filters.value
enum<string>
requiredAvailable options:
AND
, OR
data.steps.variants.filters.children
object[]
requireddata.steps.variants.filters.children.field
string
requireddata.steps.variants.filters.children.value
string
requireddata.steps.variants.filters.children.operator
enum<string>
requiredAvailable options:
LARGER
, SMALLER
, LARGER_EQUAL
, SMALLER_EQUAL
, EQUAL
, NOT_EQUAL
, ALL_IN
, ANY_IN
, NOT_IN
, BETWEEN
, NOT_BETWEEN
, LIKE
, NOT_LIKE
, IN
data.steps.variants.filters.children.on
enum<string>
requiredAvailable options:
subscriber
, payload
data.steps.variants._parentId
object
data.steps.variants.metadata
object
data.steps.variants.metadata.amount
number
data.steps.variants.metadata.unit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
data.steps.variants.metadata.digestKey
string
data.steps.variants.metadata.type
enum<string>
requiredAvailable options:
regular
, backoff
data.steps.variants.metadata.backoff
boolean
data.steps.variants.metadata.backoffAmount
number
data.steps.variants.metadata.backoffUnit
enum<string>
Available options:
seconds
, minutes
, hours
, days
, weeks
, months
data.steps.variants.metadata.updateMode
boolean
data.steps.variants.replyCallback
object
data._organizationId
string
requireddata._creatorId
string
requireddata._environmentId
string
requireddata.triggers
object[]
requireddata.triggers.type
enum<string>
requiredAvailable options:
event
data.triggers.identifier
string
requireddata.triggers.variables
object[]
requireddata.triggers.variables.name
string
requireddata.triggers.subscriberVariables
object[]
data.triggers.subscriberVariables.name
string
requireddata._notificationGroupId
string
requireddata._parentId
string
data.deleted
boolean
requireddata.deletedAt
string
requireddata.deletedBy
string
requireddata.notificationGroup
object
data.notificationGroup._id
string
data.notificationGroup.name
string
requireddata.notificationGroup._environmentId
string
requireddata.notificationGroup._organizationId
string
requireddata.notificationGroup._parentId
string
data.data
object
data.workflowIntegrationStatus
object
Was this page helpful?
curl --request POST \
--url https://api.novu.co/v1/workflows \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
"notificationGroupId":"<notificationGroupId>",
"steps": [{ "steps" }]
}'
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": ["string"],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}