Date: 2026-10-24

Send workflow notifications to Microsoft Teams

Connect Nova to a Microsoft Teams channel to receive selected workflow, plan, and approval updates. This is outbound notification delivery, not a way for Teams to start a Nova workflow.

Download the guide

Download the Nova Teams webhook setup guide (PDF, English) The publication copy replaces developer-only testing with configuration and workflow-delivery checks, and checks for the webhook variable without printing its secret value.

Check version and availability

These commands were verified with an installed Nova CLI 1.1.60. At review on 24 October 2026, public npm metadata listed 1.1.59 as latest and did not provide 1.1.60. The installed build is not evidence that you can install that version from npm. Use an organisation-approved build that supports these settings; do not assume a public release has the same support. Before configuring the project, check your installed version and whether it recognises the messaging settings:
If the settings are unavailable, ask your administrator for a supported build before continuing. Messaging is off by default, and delivery requires a Teams webhook endpoint that accepts MessageCard requests. Your organisation’s Teams policy and channel permissions determine whether you can create or use such an endpoint. Confirm the supported webhook setup with your Teams administrator; do not assume that every channel offers the same connector options.

Before you start

  • You can run Nova in the project you want to configure.
  • You have access to the destination Teams channel and an administrator-approved HTTPS webhook URL for that channel.
  • You can set an environment variable in the terminal that launches Nova.
Treat the webhook URL as a secret: anyone who has it may be able to post to that channel. Do not put it in Nova settings, a script committed to Git, or a shared terminal transcript.

Configure the webhook

  1. Obtain a webhook URL for your channel that accepts Teams MessageCard payloads. Copy the URL privately; the exact creation steps depend on your organisation’s Teams setup.
  2. In PowerShell, set the URL for the current terminal session. Replace the placeholder with the URL you obtained:
    This value is available to Nova processes started from this terminal. If you launch Nova from another terminal or service, supply the environment variable there instead. Avoid displaying or logging its value.
  3. From the Nova project, set the provider and the environment variable name, then enable messaging:
    webhookEnv takes WORKFLOW_TEAMS_WEBHOOK, not the URL or ${WORKFLOW_TEAMS_WEBHOOK}. Without a configured HTTPS URL in that environment variable, delivery cannot succeed.

Choose which updates to send

With messaging enabled in the verified build, workflow, plan, and approval events are on by default; task progress and turn digests are off. Leave the latter two off unless your channel needs more detail. Change a category with a boolean setting, for example:
To return to the quieter default:
To set the quieter event selection explicitly:
You can also set a title prefix and delivery timeout. This example uses [Nova] and a timeout of 10,000 milliseconds:
Teams messages use short MessageCard summaries. Depending on the event, these can include a workflow identifier, status, severity, and limited plan or approval detail. They are not a substitute for the local workflow view. Nova filters and redacts outbound fields, but the destination channel is shared visibility: choose a channel whose members may see these summaries. Message delivery can fail or time out; do not rely on it as the sole approval or incident signal.

Verify delivery

Run this read-only check from your project:
Check that it reports enabled: true, provider: teams, and the intended event settings. It does not test the webhook. To test delivery, start Nova from the terminal with the variable set, run an ordinary approved Nova workflow that produces an enabled event, then check the channel for a corresponding notification. Do not trigger risky work merely to test messaging. No event means no notification. Do not copy the webhook URL into a test command or a support request. If nothing appears:
  • Check that Nova was launched from the terminal where WORKFLOW_TEAMS_WEBHOOK is set and that the value is an HTTPS URL. Check its presence without printing the secret: Test-Path Env:WORKFLOW_TEAMS_WEBHOOK.
  • Check the settings with nova config workflowCapabilities.messaging; the provider must be teams, messaging enabled, and the event category enabled.
  • Confirm with your Teams administrator that the channel endpoint accepts MessageCard requests and has not been revoked.
If the URL is exposed, revoke or rotate it through your Teams administration process and update the environment variable. For other configuration settings, see All settings.