Skip to main content
The Novu CLI provides a mechanism for you to synchronize your workflows into Novu Cloud so that non-technical Novu users can control the workflow and Step-level controls and enable your workflows to be triggered via Novu API.
  • If your application api server is running at URL https://api.domain.com and /api/novu endpoint is serving Novu workflows created using Novu Framework, then <YOUR_DEPLOYED_URL>in above command will be https://api.domain.com/api/novu
  • If your application is running on your local machine during local development (npx novu dev), the tunnel URL can be used as <YOUR_DEPLOYED_URL>. The tunnel URL follows the format of https://<UUID>.novu.sh/api/novu, and example is https://041e553c-0dbf-47e0-8ffa-c4536f390145.novu.sh/api/novu. In this example 041e553c-0dbf-47e0-8ffa-c4536f390145 is the unique tunnel identifier which is generated for each Novu user when starting a tunnel via npx novu@latest dev. The tunnel identifier is persisted to your local machine to guarantee the same tunnel URL each time you invoke npx novu@latest dev.

Understanding sync output

A successful sync prints the number of workflows and steps that were discovered from your bridge endpoint, for example:
You may also see the following message printed alongside a successful sync:
This is an informational notice, not an error. It only indicates that your bridge does not expose any Agents at the sync endpoint. If you are only syncing workflows, you can safely ignore this message - your workflows and steps have still been synced.

Using vercel preview url

In free tier, vercel preview urls for non production deployments are not publicly accessible. You will need to enable Protection Bypass for Automation from settings to make the preview url publicly accessible. Use vercel generated secret key in query params with bridge url to make the bridge url accessible to novu. Example: https://my-app-preview-url.vercel.app/api/novu?x-vercel-protection-bypass=BYPASS_SECRET_KEY