WorkflowsSteps

July 8, 2026 ยท View on GitHub

Overview

Available Operations

generatePreview

Generates a preview for a specific workflow step by its unique identifier stepId

Example Usage

package hello.world;

import co.novu.Novu;
import co.novu.models.components.*;
import co.novu.models.errors.ErrorDto;
import co.novu.models.errors.ValidationErrorDto;
import co.novu.models.operations.WorkflowControllerGeneratePreviewResponse;
import java.lang.Exception;
import java.util.List;
import java.util.Map;

public class Application {

    public static void main(String[] args) throws ErrorDto, ValidationErrorDto, Exception {

        Novu sdk = Novu.builder()
                .secretKey("YOUR_SECRET_KEY_HERE")
            .build();

        WorkflowControllerGeneratePreviewResponse res = sdk.workflowsSteps().generatePreview()
                .workflowId("<id>")
                .stepId("<id>")
                .body(GeneratePreviewRequestDto.builder()
                    .previewPayload(PreviewPayloadDto.builder()
                        .subscriber(SubscriberResponseDtoOptional.builder()
                            .channels(List.of(
                                ChannelSettingsDto.builder()
                                    .providerId(ChatOrPushProviderEnum.NOVU_SLACK)
                                    .credentials(ChannelCredentials.builder()
                                        .webhookUrl("https://example.com/webhook")
                                        .channel("general")
                                        .deviceTokens(List.of(
                                            "token1",
                                            "token2",
                                            "token3"))
                                        .alertUid("12345-abcde")
                                        .title("Critical Alert")
                                        .imageUrl("https://example.com/image.png")
                                        .state("resolved")
                                        .externalUrl("https://example.com/details")
                                        .build())
                                    .integrationId("<id>")
                                    .build()))
                            .build())
                        .actor(SubscriberResponseDtoOptional.builder()
                            .channels(List.of(
                                ChannelSettingsDto.builder()
                                    .providerId(ChatOrPushProviderEnum.TELEGRAM)
                                    .credentials(ChannelCredentials.builder()
                                        .webhookUrl("https://example.com/webhook")
                                        .channel("general")
                                        .deviceTokens(List.of(
                                            "token1",
                                            "token2",
                                            "token3"))
                                        .alertUid("12345-abcde")
                                        .title("Critical Alert")
                                        .imageUrl("https://example.com/image.png")
                                        .state("resolved")
                                        .externalUrl("https://example.com/details")
                                        .build())
                                    .integrationId("<id>")
                                    .build()))
                            .build())
                        .context(Map.ofEntries(
                            Map.entry("key", PreviewPayloadDtoContextUnion.of("org-acme"))))
                        .build())
                    .build())
                .call();

        if (res.generatePreviewResponseDto().isPresent()) {
            System.out.println(res.generatePreviewResponseDto().get());
        }
    }
}

Parameters

ParameterTypeRequiredDescription
workflowIdString:heavy_check_mark:N/A
stepIdString:heavy_check_mark:N/A
idempotencyKeyOptional<String>:heavy_minus_sign:A header for idempotency purposes
bodyGeneratePreviewRequestDto:heavy_check_mark:Preview generation details

Response

WorkflowControllerGeneratePreviewResponse

Errors

Error TypeStatus CodeContent Type
models/errors/ErrorDto414application/json
models/errors/ErrorDto400, 401, 403, 404, 405, 409, 413, 415application/json
models/errors/ValidationErrorDto422application/json
models/errors/ErrorDto500application/json
models/errors/APIException4XX, 5XX*/*