In this guide, you’ll learn how to review a submitted product from your own
server code. Each transition has a dedicated workflow so the audit trail, events,
and side effects run consistently.
A product enters review as proposed. From there you can publish it, reject it,
or ask the submitter for a revision. Every workflow validates that the product is
currently proposed before it runs.
Publish a product
Move one or more proposed products to published with
confirmProductsWorkflow:
src/api/custom/publish/route.ts
Reject a product
Request a revision
To send the submission back for changes without rejecting it, use
requestProductChangeWorkflow. The product stays proposed and a
CHANGE_REQUESTED action is recorded for the submitter to act on:
These workflows require the product to be proposed. Running them against a
draft, published, or rejected product fails validation rather than
forcing the transition.
React to review outcomes
To run your own side effects when a product is published or rejected, subscribe
to the events these workflows emit rather than polling. See the
Event reference for the event names.