All notifications are sent via a workflow. Each workflow acts as a container for the logic and blueprint that are associated with a type of notification in your system. https://docs.novu.co/workflows
- Create - Create a workflow
- List - List all workflows
- Update - Update a workflow
- Get - Retrieve a workflow
- Delete - Delete a workflow
- Patch - Update a workflow
- Sync - Sync a workflow
Creates a new workflow in the Novu Cloud environment
using Novu;
using Novu.Models.Components;
using System.Collections.Generic;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.CreateAsync(createWorkflowDto: new CreateWorkflowDto() {
Name = "<value>",
WorkflowId = "<id>",
Steps = new List<Novu.Models.Components.Steps>() {},
Preferences = new PreferencesRequestDto() {
User = User.CreateUserWorkflowPreferencesDto(
new UserWorkflowPreferencesDto() {
All = UserAll.CreateWorkflowPreferenceDto(
new WorkflowPreferenceDto() {}
),
Channels = new Dictionary<string, ChannelPreferenceDto>() {
{ "email", new ChannelPreferenceDto() {} },
{ "sms", new ChannelPreferenceDto() {
Enabled = false,
} },
},
}
),
Workflow = new PreferencesRequestDtoWorkflow() {
All = PreferencesRequestDtoAll.CreateWorkflowPreferenceDto(
new WorkflowPreferenceDto() {}
),
Channels = new Dictionary<string, ChannelPreferenceDto>() {
{ "email", new ChannelPreferenceDto() {} },
{ "sms", new ChannelPreferenceDto() {
Enabled = false,
} },
},
},
},
});
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
CreateWorkflowDto |
CreateWorkflowDto | ✔️ | Workflow creation details |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerCreateResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Retrieves a list of workflows with optional filtering and pagination
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
WorkflowControllerSearchWorkflowsRequest req = new WorkflowControllerSearchWorkflowsRequest() {
Limit = 10D,
Offset = 0D,
};
var res = await sdk.Workflows.ListAsync(req);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
request |
WorkflowControllerSearchWorkflowsRequest | ✔️ | The request object to use for the request. |
WorkflowControllerSearchWorkflowsResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Updates the details of an existing workflow, here workflowId is the identifier of the workflow
using Novu;
using Novu.Models.Components;
using System.Collections.Generic;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.UpdateAsync(
workflowId: "<id>",
updateWorkflowDto: new UpdateWorkflowDto() {
Name = "<value>",
Steps = new List<UpdateWorkflowDtoSteps>() {},
Preferences = new PreferencesRequestDto() {
User = User.CreateUserWorkflowPreferencesDto(
new UserWorkflowPreferencesDto() {
All = UserAll.CreateWorkflowPreferenceDto(
new WorkflowPreferenceDto() {}
),
Channels = new Dictionary<string, ChannelPreferenceDto>() {
{ "email", new ChannelPreferenceDto() {} },
{ "sms", new ChannelPreferenceDto() {
Enabled = false,
} },
},
}
),
Workflow = new PreferencesRequestDtoWorkflow() {
All = PreferencesRequestDtoAll.CreateWorkflowPreferenceDto(
new WorkflowPreferenceDto() {}
),
Channels = new Dictionary<string, ChannelPreferenceDto>() {
{ "email", new ChannelPreferenceDto() {} },
{ "sms", new ChannelPreferenceDto() {
Enabled = false,
} },
},
},
},
Origin = ResourceOriginEnum.External,
}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
WorkflowId |
string | ✔️ | N/A |
UpdateWorkflowDto |
UpdateWorkflowDto | ✔️ | Workflow update details |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerUpdateResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Fetches details of a specific workflow by its unique identifier workflowId
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.GetAsync(workflowId: "<id>");
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
WorkflowId |
string | ✔️ | N/A |
EnvironmentId |
string | ➖ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerGetWorkflowResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Removes a specific workflow by its unique identifier workflowId
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.DeleteAsync(workflowId: "<id>");
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
WorkflowId |
string | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerRemoveWorkflowResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Partially updates a workflow by its unique identifier workflowId
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.PatchAsync(
workflowId: "<id>",
patchWorkflowDto: new PatchWorkflowDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
WorkflowId |
string | ✔️ | N/A |
PatchWorkflowDto |
PatchWorkflowDto | ✔️ | Workflow patch details |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerPatchWorkflowResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Synchronizes a workflow to the target environment
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Workflows.SyncAsync(
workflowId: "<id>",
syncWorkflowDto: new SyncWorkflowDto() {
TargetEnvironmentId = "<id>",
}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
WorkflowId |
string | ✔️ | N/A |
SyncWorkflowDto |
SyncWorkflowDto | ✔️ | Sync workflow details |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
WorkflowControllerSyncResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |