Workflows
Create workflow
Workflow was previously named notification template
POST
/v1/workflows
Authorization*
Please ensure there is a space between ApiKey
and your Api key.
E.g ApiKey 18d2e625f05d80e
import { Novu, TemplateVariableTypeEnum, FilterPartTypeEnum, StepTypeEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
await novu.notificationTemplates.create({
name: 'Onboarding Workflow',
// taking first workflow group id
notificationGroupId: workflowGroupsData.data[0]._id,
steps: [
// Adding one chat step
{
active: true,
shouldStopOnFail: false,
// UUID is optional.
uuid: '78ab8c72-46de-49e4-8464-257085960f9e',
name: 'Chat',
filters: [
{
value: 'AND',
children: [
{
field: '{{chatContent}}',
value: 'flag',
operator: 'NOT_IN',
// 'payload'
on: FilterPartTypeEnum.PAYLOAD,
},
],
},
],
template: {
// 'chat'
type: StepTypeEnum.CHAT,
active: true,
subject: '',
variables: [
{
name: 'chatContent',
// 'String'
type: TemplateVariableTypeEnum.STRING,
required: true,
},
],
content: '{{chatContent}}',
contentType: 'editor',
},
},
],
description: 'Onboarding workflow to trigger after user sign up',
active: true,
draft: false,
critical: false,
});
{
data: data
}
Body
application/json
active
boolean
blueprintId
string
critical
boolean
data
object
description
string
draft
boolean
namerequired
string
notificationGroupIdrequired
string
preferenceSettings
object
stepsrequired
object[]
tags
string[]
Response
201 - application/json
data
object
import { Novu, TemplateVariableTypeEnum, FilterPartTypeEnum, StepTypeEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
await novu.notificationTemplates.create({
name: 'Onboarding Workflow',
// taking first workflow group id
notificationGroupId: workflowGroupsData.data[0]._id,
steps: [
// Adding one chat step
{
active: true,
shouldStopOnFail: false,
// UUID is optional.
uuid: '78ab8c72-46de-49e4-8464-257085960f9e',
name: 'Chat',
filters: [
{
value: 'AND',
children: [
{
field: '{{chatContent}}',
value: 'flag',
operator: 'NOT_IN',
// 'payload'
on: FilterPartTypeEnum.PAYLOAD,
},
],
},
],
template: {
// 'chat'
type: StepTypeEnum.CHAT,
active: true,
subject: '',
variables: [
{
name: 'chatContent',
// 'String'
type: TemplateVariableTypeEnum.STRING,
required: true,
},
],
content: '{{chatContent}}',
contentType: 'editor',
},
},
],
description: 'Onboarding workflow to trigger after user sign up',
active: true,
draft: false,
critical: false,
});
{
data: data
}