Workflows

Create a workflow

Creates a new workflow in the Novu Cloud environment

post/v2/workflows

Request body

namestring required

Name of the workflow

descriptionstring

Description of the workflow

tagsstring[]

Tags associated with the workflow

activeboolean

Whether the workflow is active

validatePayloadboolean

Enable or disable payload schema validation

payloadSchemaobject nullable

The payload JSON Schema for the workflow

isTranslationEnabledboolean

Enable or disable translations for this workflow

workflowIdstring required

Unique identifier for the workflow

__source'template_store' | 'editor' | 'notification_directory' | 'onboarding_digest_demo' | 'onboarding_in_app' | 'empty_state' | 'dropdown' | 'onboarding_get_started' | 'bridge' | 'dashboard' | 'ai'

Source of workflow creation

severity'high' | 'medium' | 'low' | 'none'

Severity of the workflow

Example request

{
  "steps": [
    {
      "controlValues": {
        "skip": {
          "and": [
            {
              "==": [
                {
                  "var": "payload.tier"
                },
                "pro"
              ]
            },
            {
              "==": [
                {
                  "var": "subscriber.data.role"
                },
                "admin"
              ]
            },
            {
              ">": [
                {
                  "var": "payload.amount"
                },
                "4"
              ]
            }
          ]
        }
      }
    }
  ],
  "preferences": {
    "user": {
      "channels": {
        "email": {
          "enabled": true
        },
        "sms": {
          "enabled": false
        }
      }
    },
    "workflow": {
      "channels": {
        "email": {
          "enabled": true
        },
        "sms": {
          "enabled": false
        }
      }
    }
  }
}

Response

Created

namestring required

Name of the workflow

descriptionstring

Description of the workflow

tagsstring[]

Tags associated with the workflow

activeboolean

Whether the workflow is active

validatePayloadboolean

Enable or disable payload schema validation

payloadSchemaobject nullable

The payload JSON Schema for the workflow

isTranslationEnabledboolean

Enable or disable translations for this workflow

_idstring required

Database identifier of the workflow

workflowIdstring required

Workflow identifier

slugstring required

Slug of the workflow

updatedAtstring required

Last updated timestamp

createdAtstring required

Creation timestamp

lastPublishedAtstring nullable

Timestamp of the last workflow publication

origin'novu-cloud' | 'novu-cloud-v1' | 'external' required

Origin of the layout

status'ACTIVE' | 'INACTIVE' | 'ERROR' required

Status of the workflow

issuesobject

Runtime issues for workflow creation and update

lastTriggeredAtstring nullable

Timestamp of the last workflow trigger

payloadExampleobject nullable

Generated payload example based on the payload schema

severity'high' | 'medium' | 'low' | 'none' required

Severity of the workflow

Example response

{
  "steps": [
    {
      "controls": {
        "values": {
          "skip": {
            "and": [
              {
                "==": [
                  {
                    "var": "payload.tier"
                  },
                  "pro"
                ]
              },
              {
                "==": [
                  {
                    "var": "subscriber.data.role"
                  },
                  "admin"
                ]
              },
              {
                ">": [
                  {
                    "var": "payload.amount"
                  },
                  "4"
                ]
              }
            ]
          }
        }
      },
      "controlValues": {
        "skip": {
          "and": [
            {
              "==": [
                {
                  "var": "payload.tier"
                },
                "pro"
              ]
            },
            {
              "==": [
                {
                  "var": "subscriber.data.role"
                },
                "admin"
              ]
            },
            {
              ">": [
                {
                  "var": "payload.amount"
                },
                "4"
              ]
            }
          ]
        }
      },
      "providerOverrides": {
        "slack": {
          "text": "{{payload.title}}",
          "blocks": [
            {
              "type": "divider"
            }
          ]
        },
        "whatsapp-business": {
          "type": "text",
          "text": {
            "body": "{{payload.title}}"
          }
        },
        "pagerduty": {
          "severity": "warning",
          "source": "novu",
          "summary": "{{payload.title}}"
        }
      }
    }
  ],
  "preferences": {
    "user": {
      "channels": {
        "email": {
          "enabled": true
        },
        "sms": {
          "enabled": false
        }
      }
    },
    "default": {
      "channels": {
        "email": {
          "enabled": true
        },
        "sms": {
          "enabled": false
        }
      }
    }
  }
}

Changes

Changed in 7 of the 13 revisions of this API.147675

    • the /////////// response property's maxLength was unset from 84 for the response status

      response-property-max-length-unset

    • the //////////////// response property's maxLength was unset from 84 for the response status

      response-property-max-length-unset

  • d7137c47680a113See the full diff
    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_EDITOR_SELECT enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new optional request property ///////////

      new-optional-request-property

    • added the optional property /////////// to the response with the status

      response-optional-property-added

    • added the optional property //////////////// to the response with the status

      response-optional-property-added

  • 0aeabb0041fd2222See the full diff
    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_INVALID_BUTTON enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new CHAT_CARD_LIMIT_EXCEEDED enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the optional property ////////////// to the response with the status

      response-optional-property-added

    • added the new optional request property

      new-optional-request-property

    • added the new optional request property ///////////

      new-optional-request-property

    • added the new optional request property ///////////

      new-optional-request-property

    • added the new optional request property ///////////

      new-optional-request-property

    • added the new optional request property ///////////

      new-optional-request-property

    • added the optional property to the response with the status

      response-optional-property-added

    • added the optional property /////////// to the response with the status

      response-optional-property-added

    • added the optional property /////////// to the response with the status

      response-optional-property-added

    • added the optional property /////////// to the response with the status

      response-optional-property-added

    • added the optional property /////////// to the response with the status

      response-optional-property-added

    • added the optional property //////////////// to the response with the status

      response-optional-property-added

    • added the optional property //////////////// to the response with the status

      response-optional-property-added

    • added the optional property //////////////// to the response with the status

      response-optional-property-added

    • added the optional property //////////////// to the response with the status

      response-optional-property-added

  • 47f16ff4d4271114See the full diff
    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • the ////// response's property type changed from no type to object for status

      response-property-type-changed

    • added the new optional request property //////

      new-optional-request-property

    • added tool discriminator mapping keys to the / request property

      request-property-discriminator-mapping-added

    • added to the / request property oneOf list

      request-property-one-of-added

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    • removed from the ////// response property allOf list for the response status

      response-property-all-of-removed

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • d48666bd89141311See the full diff
    • removed the optional property /////////// from the response with the status

      response-optional-property-removed

    • removed the optional property //////////////// from the response with the status

      response-optional-property-removed

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the new UNSUPPORTED_PROPERTY enum value to the ////////////// response property for the response status

      response-property-enum-value-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

    • added the optional property ////// to the response with the status

      response-optional-property-added

  • 2e115ea8160c13011See the full diff
    • added to the / response property oneOf list for the response status

      response-property-one-of-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL enum value to the //////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new TOOL_BODY enum value to the ////////////////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the ////// response property for the response status

      response-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added the new tool enum value to the request property //////

      request-property-enum-value-added

    • added tool discriminator mapping keys to the / response property for the response status

      response-property-discriminator-mapping-added