Skip to main content
Workflows let you automate Microsoft Teams actions during incidents: create channels, send messages, rename or archive channels, and start video meetings. If you’re unfamiliar with how Workflows work, see the Workflows documentation first.

Automation Options

Smart Defaults

Auto-create Teams channels at incident start using built-in settings

Custom Workflows

Build workflows with triggers, conditions, and multiple Teams actions

Available Actions

ActionWhat It Does
Create Microsoft Teams ChannelCreates a new channel for the incident
Create Microsoft Teams ChatCreates a group or one-on-one chat
Add Microsoft Teams TabAdds a tab to the incident channel
Archive Microsoft Teams ChannelArchives the incident channel
Rename Microsoft Teams ChannelChanges the channel name
Invite Users to Microsoft Teams ChannelInvites users to a private incident channel
Send Microsoft Teams MessagePosts a message to a Teams channel
Send Microsoft Teams AttachmentsSends attachments to a Teams channel
Create Microsoft Teams MeetingStarts a video meeting (requires separate Meeting integration)

Create a Workflow

1

Open Workflows

Go to Rootly → Workflows → Create Workflow.Rootly workflows pageCreate workflow button
2

Choose workflow type

Select the workflow type that matches your use case (e.g., Incident, Retrospective, or Pulse).Workflow type selection
3

Configure triggers

Triggers define when this workflow runs.Workflow trigger configuration
TriggerWhen It Fires
Incident CreatedNew incident opens
Incident UpdatedSeverity, status, or fields change
Incident Status ChangedIncident moves to a specific status
Incident Commander AssignedSomeone takes ownership
Incident ResolvedIncident is resolved
Manual TriggerRun on demand from the UI
4

Add conditions (optional)

Conditions filter when the workflow should run after it’s been triggered — keeping Teams activity focused on the incidents that matter.Workflow conditions panelExamples:
  • Only for SEV-1 or SEV-2 incidents
  • Only for specific teams or services
  • Only for production environments
5

Add a Microsoft Teams action

Click Add Action and search for Microsoft Teams to see all available actions.Add action button with Microsoft Teams search

Actions

Creates a dedicated Teams channel for the incident. Use this as your first action when an incident opens to give responders a central place to coordinate.Create Microsoft Teams Channel actionChannel configuration options
Team
select
The Microsoft Teams workspace where the channel will be created.
Title
string
The channel name. Supports Liquid syntax (e.g., {{ incident.title }}).
Channel names are automatically lowercased, parameterized, and truncated to 50 characters.
Description
string
An optional description for the channel. Supports Liquid syntax.
Private
select
Controls channel visibility:
  • auto — Private for private incidents, public for non-private incidents
  • true — Always private
  • false — Always public
If the incident already has a Teams channel, this action skips creation to avoid duplicates.
Creates a group or one-on-one chat for the incident. Once created, the chat ID and URL are stored on the incident for use in subsequent actions.
Chat Type
select
  • group — Creates a group chat with multiple members and an optional topic
  • oneOnOne — Creates a one-on-one chat between exactly two members
Topic
string
A topic for the chat. Only used for group chats. Supports Liquid syntax.
Members
string
A JSON array of members to add. Each member requires an email field. Supports Liquid syntax.
[
  {"email": "alice@company.com"},
  {"email": "bob@company.com", "roles": ["guest"]}
]
Group chats require at least three members (including the service account). One-on-one chats require exactly two.
Adds a tab to the incident Teams channel. Use this to give responders quick access to dashboards, runbooks, or the Rootly incident page directly within the channel.
Team
select
The team that contains the channel.
Channel
string
The channel to add the tab to. Use {{ incident.microsoft_teams_channel_id }} to target the incident’s channel.
Title
string
The display name shown on the tab. Supports Liquid syntax.
The URL the tab should point to. Supports Liquid syntax.
Playbook
select
Optionally select a playbook to add as a tab instead of specifying a title and link manually.
The Rootly app must be installed in the target team for this action to work.
Archives the incident channel when it’s no longer needed. Keeps the workspace clean while preserving conversation history.
Team
select
The team that contains the channel.
Channels
string
The channel(s) to archive. Use {{ incident.microsoft_teams_channel_id }} to target the incident’s channel.
Common trigger: Incident Status Changed to “Closed”
Renames an existing Teams channel. Use this to reflect status changes — for example, prefixing resolved incidents with [RESOLVED].
Team
select
The team that contains the channel.
Channel
string
The channel to rename. Use {{ incident.microsoft_teams_channel_id }} to target the incident’s channel.
Title
string
The new channel name. Supports Liquid syntax.
[RESOLVED] {{ incident.title }}
Common trigger: Incident Resolved
Invites users to a private incident channel by email. Use this to automatically add on-call responders when they’re assigned a role.
Team
select
The team that contains the channel.
Channel
string
The private channel to invite users to. Supports Liquid syntax.
Emails
string
Comma-separated list of email addresses to invite. Supports Liquid syntax.
This action only works with private channels. Public channels are accessible to all team members by default.
Common triggers: Incident Created, Incident Commander Assigned
Posts a message to a Teams channel using the Rootly bot. Use Liquid variables to include dynamic incident details in the message.
Channels
select
The channel(s) to post to. Supports Liquid syntax.
Text
string
The message content. Supports Liquid variables.
🚨 **Incident Update**

**Title:** {{ incident.title }}
**Severity:** {{ incident.severity }}
**Status:** {{ incident.status }}
**Commander:** {{ incident.commander.name | default: "Unassigned" }}

{{ incident.summary }}
If the message text is empty, the action will be skipped.
Common triggers: Incident Created, Incident Updated, Status Changed
Sends Adaptive Card attachments to one or more Teams channels. Use this to send richly formatted, interactive content such as structured incident summaries.
Channels
select
The channel(s) to send the attachments to. Supports Liquid syntax.
Attachments
string
A JSON payload defining the Adaptive Card content. Supports Liquid syntax. Follows the Microsoft Adaptive Card schema.
Creates a Microsoft Teams video meeting for live incident collaboration. The meeting link is automatically stored on the incident.
This action requires the Microsoft Teams Meeting integration to be installed separately.
Subject
string
The meeting title. Supports Liquid syntax (e.g., {{ incident.title }}).
Common trigger: Incident Created (for high-severity incidents)

Liquid Variables

Use the Liquid Variable Explorer to test variables with real incident data.

Incident Variables

VariableDescription
{{ incident.title }}Incident title
{{ incident.summary }}Incident summary
{{ incident.severity }}Severity level (e.g., “SEV1”)
{{ incident.status }}Current status
{{ incident.started_at }}When the incident started
{{ incident.commander.name }}Incident commander name
{{ incident.commander.email }}Incident commander email
{{ incident.url }}Link to the incident in Rootly

Microsoft Teams Variables

VariableDescription
{{ incident.microsoft_teams_channel_id }}ID of the incident’s Teams channel
{{ incident.microsoft_teams_channel_url }}URL to the Teams channel
{{ incident.microsoft_teams_chat_id }}ID of the incident’s Teams chat
{{ incident.microsoft_teams_meeting_url }}URL to the Teams meeting (if created)