Back to Blog
Guide

Teams Busy Light: Status Lights That Follow Your Teams Status

A Teams status light is a USB or Bluetooth busy light that copies your Microsoft Teams presence: green when Available, red in a call or on Do not disturb. Luxafor, Kuando and Embrava sell them; PresenceLight and a short Graph API script do it free with a smart bulb. The light shows your status; it cannot change it.

Slack Green Team
September 25, 2026
November 3, 2026
6 min read
Share:
microsoft teams
busy light
presence
remote work

A Teams status light, often sold as a Teams busy light, is a small light on your desk or door that copies your Microsoft Teams presence. It turns green when you are Available, red when you are in a call, in a meeting or on Do not disturb, and yellow or off when you are Away. Teams paints its own badges in exactly those colors: we read them from Microsoft's Fluent UI code, and the RGB values are in the table below. The common lights are the Luxafor Flag (EUR 27.20 to 28.80 on Luxafor's site on 2026-09-25), the Kuando Busylight UC ("under $50" per its maker) and the Embrava Blynclight. Each plugs in over USB, and its desktop app signs in to your Microsoft account and follows your status. For free, the open-source PresenceLight app or a short script against the Microsoft Graph presence API can drive a Philips Hue, LIFX or WLED light.

A status light only shows what Teams already decided. If Teams sets you Away after about 5 minutes without input, the light changes to the Away color too. Slack keeps its own status, and it goes grey after 10 minutes without input on the computer. Lights that also follow Slack, like Luxafor and Embrava, show that Slack status as well.

How a Teams status light works

  • Teams sets your presence from your activity, your Outlook calendar and your calls. Outlook and the people card read the same presence; see Microsoft Teams status icons meaning.
  • The vendor app reads it. You install the light's app and sign in with your work account. Luxafor's own FAQ describes it this way: open the Microsoft Teams tab in the app, sign in, and "your Flag then follows your Teams status". Apps that use Microsoft Graph ask for the Presence.Read permission.
  • The light changes color, usually within a few seconds of a status change. The app must keep running; if it is closed, the light stops following.

Some companies block third-party apps from reading Microsoft 365 data. If the sign-in shows "Need admin approval", ask IT, or use a light your company already approved.

Teams status lights compared

LightConnectionHow it follows TeamsPrice
Luxafor FlagUSB-A or USB-C, magnet mountLuxafor app on Windows or macOSEUR 27.20 to 28.80 on luxafor.com
Kuando Busylight UC Alpha or OmegaUSB, built-in speaker and ringerBusylight UC software"Under $50" per busylight.com
Embrava BlynclightUSBEmbrava Connect, which Embrava calls a Microsoft-certified Teams integrationNot listed on embrava.com
Headset busy light (for example Jabra Evolve2)Built into the headsetLights red during callsPart of the headset
Smart bulbs with PresenceLightWi-Fi: Philips Hue, LIFX, Yeelight, WiZ, WLEDFree, open-source, Graph presence APIFree app plus a bulb
Your own scriptAny light with an APIYour own Graph app, see belowFree

Luxafor, Kuando and Embrava also follow Zoom and Slack. The Kuando Busylight doubles as a ringer for incoming calls. A light outside a door ("on air" style) is the same device on a longer cable, or a Wi-Fi bulb driven by PresenceLight.

What each light color means

Teams does not use a generic green and red. Its presence badge comes from Microsoft's Fluent UI library, where each status maps to a color token. We ran a short Node script against @fluentui/react-badge 9.5.7 (the PresenceBadge styles) and @fluentui/tokens (the Teams light and dark themes) on 3 November 2026 to read the exact values:

Teams presence badges and their colors read from Fluent UI: Available #13a10e, Busy and Do not disturb #d13438, Away and Be right back #eaa300, Out of office #c239b3, Offline #616161, each with its RGB value and Graph availability
Teams statusGraph availability valueTeams badge colorRGB for your light
AvailableAvailable, AvailableIdleGreen #13a10e19, 161, 14
Busy, In a meeting, In a callBusy, BusyIdleRed #d13438209, 52, 56
Do not disturb, Presenting, FocusingDoNotDisturbRed #d13438, with a white bar209, 52, 56
Be right backBeRightBackYellow #eaa300234, 163, 0
AwayAwayYellow #eaa300, or off234, 163, 0
Out of officeactivity OutOfOfficePurple #c239b3194, 57, 179
OfflineOfflineGrey #616161, or offoff

The script printed this, one line per badge style:

status                                 token                              light    dark     RGB (light)
Available                              colorPaletteLightGreenForeground3  #13a10e  #3db838  19, 161, 14
Busy, In a call, In a meeting          colorPaletteRedBackground3         #d13438  #d13438  209, 52, 56
Do not disturb, Presenting, Focusing   colorPaletteRedBackground3         #d13438  #d13438  209, 52, 56
Away, Be right back                    colorPaletteMarigoldBackground3    #eaa300  #eaa300  234, 163, 0
Out of office                          colorPaletteBerryForeground3       #c239b3  #d161c4  194, 57, 179
Offline                                colorNeutralForeground3            #616161  #adadad  97, 97, 97

Busy and Do not disturb share one red; Teams tells them apart by the icon, a plain dot against a dot with a white bar. A single-color light cannot show that difference, so if you need it, give Do not disturb a blinking pattern in the vendor app. The same file maps Be right back to the Away badge, which is why both are yellow.

Most apps let you change the colors. Busy and In a meeting both return Busy from Graph; the difference is in the activity field, explained in Teams Busy vs In a meeting. The yellow clock that goes with Away is in what does the yellow clock mean in Outlook.

Build a free Teams status light with the Graph API

Microsoft Graph returns your presence at GET https://graph.microsoft.com/v1.0/me/presence, with an availability value from the table above and an activity value such as InACall or Presenting. The script below signs you in once with a device code, then reads your presence every 30 seconds and picks a color. You need an app registration in Microsoft Entra ID with the delegated Presence.Read permission and public client flows turned on, which some companies let only IT create.

# teams_light.py: read your Teams presence every 30 s and pick a light color
# pip install msal requests
import time
import msal
import requests

CLIENT_ID = "00000000-0000-0000-0000-000000000000"  # your Entra ID app (public client)
SCOPES = ["Presence.Read"]
COLORS = {  # Teams' own badge colors, from Fluent UI (RGB)
    "Available": (19, 161, 14), "AvailableIdle": (19, 161, 14),
    "Busy": (209, 52, 56), "BusyIdle": (209, 52, 56), "DoNotDisturb": (209, 52, 56),
    "BeRightBack": (234, 163, 0), "Away": (234, 163, 0),
}

app = msal.PublicClientApplication(
    CLIENT_ID, authority="https://login.microsoftonline.com/organizations")
flow = app.initiate_device_flow(scopes=SCOPES)
print(flow["message"])  # open the link and type the code once
app.acquire_token_by_device_flow(flow)

while True:
    token = app.acquire_token_silent(SCOPES, account=app.get_accounts()[0])
    presence = requests.get(
        "https://graph.microsoft.com/v1.0/me/presence",
        headers={"Authorization": "Bearer " + token["access_token"]},
        timeout=30,
    ).json()
    color = COLORS.get(presence["availability"])  # None means off
    print(presence["availability"], presence["activity"], "->", color)
    # send `color` to your light here: a Hue or WLED HTTP call, a serial write, ...
    time.sleep(30)

Replace the print line with a call to your light. A Philips Hue bulb takes an HTTP PUT on its bridge, a WLED strip takes a JSON POST, and a USB light with a serial port takes a write. PresenceLight does all of this without code on Windows. Its README notes that its web and container versions stopped working after changes at Microsoft, so on Linux or a Raspberry Pi you need your own app registration, as in the script. For Slack, the same idea works with the Slack API; see the Slack presence API.

A status light does not keep you green

A light copies your status in both directions. If you read a long document without touching the mouse, Teams marks you Away after about 5 minutes and the light follows. If you lock the computer, Away is immediate. To stay Available while you work, the options are in how to keep Teams status available, and if you are Away while typing, see Teams status stuck on Away. The timings are in how long before Teams shows you as Away.

For Slack, a light that follows Slack shows green only while Slack thinks you are active: 10 minutes after your last keyboard or mouse input on the computer, it goes away.

FAQ

What is a Teams status light?

A USB, Bluetooth or Wi-Fi light that shows your Microsoft Teams presence as a color, so people near your desk or door can see if you are free.

Does Microsoft make a Teams status light?

No. Luxafor, Kuando (Plenom), Embrava and headset makers sell them, and Embrava's Blynclight uses a Teams integration it calls Microsoft-certified.

Can a busy light set my Teams status?

No. The light shows the status Teams sets. It cannot stop Teams from setting you Away when you are idle.

Does a Teams status light work on Mac?

The Luxafor app supports Teams on Windows and macOS. Check each vendor for Linux; PresenceLight's desktop app is Windows only.

Do I need admin rights?

Not usually for the app, but reading presence needs your company to allow the app to sign in with your Microsoft account.

Related Articles

Guide

Teams Status on Multiple Devices: The Last Device You Used Wins

Signed in to Teams on a computer and a phone? Your status comes from the device you used most recently. That is why a quick look at your phone can turn you Away, and why a phone in your pocket shows Away instead of Offline at night.

Slack Green Team
Guide

What Does Inactive Mean on Teams? It Is the Automatic Away

Inactive on Microsoft Teams means Teams set you to Away by itself: about 5 minutes with no input on the computer, a locked screen, or the phone app in the background. How it differs from Appear away, Be right back and Offline.

Slack Green Team
FAQ

How Long Before Teams Goes Yellow (Away)? About 5 Minutes

Microsoft Teams sets you to Away after a few minutes without keyboard or mouse input on your computer, about 5 minutes in practice, at once when you lock the computer, and when the phone app goes to the background. Sleep shows Offline. Every Teams timer, and how it differs from Slack.

Slack Green Team