Action: Send Teams Message

Prev Next

Overview

Send Teams Message is a Dynamic Workflow action that posts a message to a Microsoft Teams channel or chat when a workflow runs. For example, you can post a notice to your IT team’s chat whenever a leaver is processed, an employee goes on leave, or a mover is detected.

Setting it up has three parts:

  1. Create a webhook in Microsoft Teams for the channel or chat you want to post to.

  2. Register that webhook in Clarity as an Outbound Webhook. You only do this once per Teams channel or chat.

  3. Add the Send Teams Message step to any workflow and write the message.

Before You Begin

  • Clarity access: you need an administrator role to manage Outbound Webhooks.

  • A Teams Workflows webhook URL for the channel or chat you want to post to. This is created in Microsoft Teams using the Workflows app (see Part 1).

Note

Clarity requires a webhook created with the Teams Workflows app. The older Office 365 “Incoming Webhook” connector is not supported.

Part 1: Create the webhook in Microsoft Teams

Someone with access to the target channel or chat creates the webhook in Teams:

  1. In Microsoft Teams, open the channel or chat you want Clarity to post to.

  2. Open the Workflows app from that channel or chat (from the … menu or the + apps list).

  3. Choose the template that posts to a channel or chat when a webhook request is received, and pick the channel or chat to post to.

  4. Finish the template. Teams shows the webhook URL.

  5. Copy the URL and keep it somewhere safe until you add it to Clarity.

Note

Treat this URL like a password. Anyone who has it can post messages to that channel or chat.

Part 2: Register the webhook in Clarity

  1. Go to Settings > Workflows, then click Webhooks in the top navigation.

  2. Select the Outbound Webhooks tab.

  3. Click Add Webhook.

  4. Fill in the form:

Field

What to enter

Name

A name that tells workflow authors where messages will go, for example “IT Notices — Teams”. Required.

Platform

Microsoft Teams. Required.

Description

Optional notes, for example who owns the Teams chat.

Enabled

Leave checked. Only enabled webhooks can be picked in a workflow.

Webhook URL

Paste the URL from Part 1. Must start with https://. Required.

  1. Click Create.

The URL is stored securely and is never shown again. The list only shows the first few characters (URL Prefix) so you can tell webhooks apart.

Test the webhook

On the webhook’s row, click Test. Clarity posts the message “Clarity test message – webhook name” to the channel or chat and shows whether it worked. Always test after adding or replacing a URL.

Edit, replace, or remove a webhook

  • Edit changes the name, description, platform, or enabled status without touching the stored URL.

  • To change the URL, click Edit, then Replace URL, and paste the new one.

  • To pause messages, uncheck Enabled. Workflow steps that use a disabled webhook will fail rather than post.

  • Delete is blocked while any workflow step still uses the webhook. Clarity tells you how many steps use it. Remove it from those steps first, or disable it instead. The platform also can’t be changed while the webhook is in use.

Part 3: Add the Send Teams Message step to a workflow

Step 1: Add the action

In the workflow builder, add a new step and choose Send Teams Message from the Integrations category.

Step 2: Configure the step

Field

What it does

Webhook

Choose the Teams webhook to post to. Only enabled Microsoft Teams webhooks are listed. Use Manage webhooks to open the Outbound Webhooks page in a new tab, or Add webhook to register one without leaving the workflow.

Message

The text to post. Supports placeholders (see below). Required.

Timestamp Transforms

Optional. Converts a date or time from the workflow into a readable format and timezone for use in the message.

Retry Attempts

Optional. How many times to try before the step fails for good (1–10, default 3). Only temporary problems are retried.

Retry Delays (seconds)

Optional. Comma-separated wait times between attempts (default 30,60,120).

Step 3: Save the workflow

When the workflow runs and reaches this step, Clarity fills in the placeholders and posts the message to Teams.

Writing the message

The message is posted to Teams as a card with a single block of text. There is no separate title field. If you want a headline, put it on the first line.

Placeholders

Placeholders are wrapped in curly braces and are replaced with real values when the workflow runs. Common examples:

Placeholder

Value

{identity.fullname}

The identity’s full name

{identity.first_name}, {identity.last_name}

First or last name

{identity.email}

The identity’s email address

{identity.Job Title}

Any identity attribute, by its display name (for example {identity.Work Location} or {identity.Employment Status})

{identity.supervisor.fullname}

The identity’s manager’s full name

{transformed.your_name}

A value produced by a Timestamp Transform on this step

Example message:

Leaver processed: {identity.fullname} ({identity.Work Location})
Job title: {identity.Job Title}
Manager: {identity.supervisor.fullname}

Note

  • Use {identity.supervisor.fullname} for the manager’s name. {identity.Supervisor} shows the raw stored value (usually an ID), not a name.

  • Entitlement list placeholders are not supported in Teams messages.

  • If a placeholder can’t be filled in, it is left blank in the message, and the step’s output lists which placeholders were blank. If every placeholder is blank and nothing is left to send, the step fails.

Dates and times

To show a date in a friendly format or a local timezone (for example “August 6, 2026 at 9:00 AM CDT”), add a Timestamp Transform on the step, then use its {transformed.your_name} placeholder in the message. A transform is only available to the step it is defined on. See the Timestamp Transforms article for details.

What happens if a message fails

Situation

What Clarity does

Teams is unreachable, times out, is rate-limiting, or returns a server error

Retries using the step’s retry settings (default 3 attempts, waiting 30, 60, then 120 seconds).

The webhook is disabled, deleted, has no URL, or is not a Teams webhook

The step fails right away. No retry.

Teams rejects the request (for example, the URL is wrong or the Teams workflow was deleted)

The step fails right away and records the error from Teams. No retry.

The message is posted

The step completes.

When a step fails, the workflow run is marked as failed and any steps that depend on it are cancelled. Steps on other branches still run.

Tips & Best Practices

  • Test before you rely on it. Use Test on the webhook, then run the workflow once against a test identity.

  • Keep notifications off the critical path. Place the Teams step so that no other step depends on it. That way a Teams outage can’t stop offboarding or provisioning steps.

  • Name webhooks by destination and purpose so workflow authors pick the right one.

  • Disable rather than delete if you only need to pause messages for a while.

  • Use Teams alongside email if some recipients aren’t in the Teams chat. Both steps can run from the same point in the workflow.

Need Help?

If you have any problems, contact your customer success team. You can also get in touch with our general support via email, open a support ticket. Our general support team is available Monday - Friday from 8:00 AM - 6:30 PM CST.