Effortlessly Remove Action, Next Actions, and Waiting Categories from Outlook Email Conversation Thread

Abstract: Remove specific workflow categories like Actions, Next Actions, and Waiting from Outlook emails using a VBA macro without deleting other tags.

Created: 2026-09-02 by

Use a VBA macro to instantly strip "Actions," "Next Actions," and "Waiting" categories from selected Outlook emails or entire conversation threads. This script iterates through items, clears specific category names, and saves changes without manual intervention, streamlining your inbox management and reducing clutter effectively.

Understanding the Challenge of Category Management

Microsoft Outlook allows users to color-code emails using categories, which is excellent for visual organization. However, as tasks progress, these labels often become outdated. You might have hundreds of messages tagged with "Action Required" or "Waiting on Reply" that no longer need those designations. Manually opening each email, removing the category, and saving it is tedious and prone to error. While you can select multiple emails and clear all categories via the ribbon, this approach removes all tags, including important ones like "Personal" or "Work" that you wish to keep. The goal is precision: removing only specific workflow-related categories while preserving others.

Setting Up the VBA Environment

To implement this solution, you must enable the Developer tab in Outlook if it is not already visible. Go to File > Options > Customize Ribbon, check the box for Developer, and click OK. Next, press Alt + F11 to open the Visual Basic for Applications (VBA) editor. In the Project Explorer window on the left, right-click on Project1 or your current Outlook instance, select Insert, and then choose Module. This creates a new blank script where you will paste the code. It is crucial to ensure that your macro security settings allow access to the VBA project object model; go to File > Options > Trust Center > Trust Center Settings > Macro Settings and select Notify before executing macros or Enable all macros temporarily for testing.

The VBA Macro Code

The following script defines a subroutine named RemoveSpecificCategories. It accepts an array of category names to remove. When executed, it checks if any items are selected in the active explorer window. If items are present, it loops through each one. For every item, it checks if the Categories property contains any of the specified strings. If a match is found, it replaces that string with an empty string, effectively deleting that specific category while leaving others intact. Finally, it calls the Save method to persist the change.

Sub RemoveSpecificCategories()
    Dim objItem As Object
    Dim catArray As Variant
    Dim i As Long
    Dim catName As String
    Dim modified As Boolean
    
    ' Define the categories you want to remove
    catArray = Array("Actions", "Next Actions", "Waiting")
    
    ' Check if there are selected items
    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox "Please select one or more emails first.", vbExclamation
        Exit Sub
    End If
    
    ' Loop through selected items
    For Each objItem In Application.ActiveExplorer.Selection
        modified = False
        
        ' Loop through each category name to remove
        For i = LBound(catArray) To UBound(catArray)
            catName = catArray(i)
            
            ' Check if the category exists in the item's categories
            If InStr(1, objItem.Categories, catName, vbTextCompare) > 0 Then
                ' Replace the category name with nothing
                objItem.Categories = Replace(objItem.Categories, catName, "", , , vbTextCompare)
                modified = True
            End If
        Next i
        
        ' Save the item if any category was removed
        If modified Then
            objItem.Save
        End If
    Next objItem
    
    MsgBox "Category removal complete.", vbInformation
End Sub

Executing the Script

Once the code is pasted into the module, close the VBA editor. Return to Outlook. Select the emails you wish to process. You can select individual messages, highlight a single thread, or use Ctrl+A to select all emails in a folder. Press Alt + F8 to open the Macro dialog, select RemoveSpecificCategories, and click Run. The script will process the selection and display a confirmation message upon completion.

For related productivity enhancements, consider reviewing One Email Notification for Outlook 2021 Classic: Solution to Annoying Notifications to further reduce digital noise. Additionally, if you manage time-sensitive tasks alongside these emails, How to Set Outlook Day Event Reminders can help synchronize your calendar with your cleaned-up inbox.

Handling Conversation Threads

A common question is whether this script works for entire conversation threads. The answer is yes, provided you select the top-level message of the thread or expand the thread view and select all relevant items. Outlook treats expanded threads as a collection of individual mail items. When you select them and run the macro, the script processes each underlying item individually. This ensures that even if an email has been moved or replied to within the thread, its category status is updated correctly. Note that this operation modifies the actual stored items, so it is advisable to test on a small subset of non-critical emails first.

Troubleshooting Common Issues

If the macro fails to run, check your macro security settings again. Some organizations disable VBA execution entirely for security reasons; in such cases, consult your IT department. Another potential issue is case sensitivity. The code uses vbTextCompare, which makes the search case-insensitive, so "actions" and "Actions" are treated identically. If you encounter errors related to "Object Required," ensure that the selected items are indeed MailItems and not Calendar appointments or Contacts, as the Categories property behaves differently across item types. Always back up your data before running bulk modification scripts.

Frequently Asked Questions

Can I add this macro to the Quick Access Toolbar?

Yes, you can assign the macro to a button. Go to File > Options > Quick Access Toolbar, choose Macros from the dropdown, select RemoveSpecificCategories, and add it. This provides one-click access whenever you need to clean up categories without navigating through menus.

Will this remove the category color from the email header?

Removing the category name via VBA also removes the associated color tag from the email's appearance in the list view. Once the category string is deleted from the item's properties, Outlook reverts the item to having no colored label, ensuring a consistent look.

Is it safe to run this on a large number of emails?

It is generally safe, but performance may vary depending on your hardware and Exchange server load. For thousands of emails, consider processing them in smaller batches, such as 50-100 at a time, to avoid timeouts or significant delays in the interface.

What if I want to remove categories based on a different rule?

You can modify the catArray variable in the code to include any other category names you wish to target. Simply update the text inside the quotes, such as changing "Actions" to "Urgent," and save the module. The logic remains the same regardless of the specific strings.

Does this work with Outlook on Mac?

No, this VBA solution is designed specifically for Outlook on Windows. macOS versions of Outlook do not support VBA macros. Mac users would need to use AppleScript or third-party automation tools to achieve similar results, though native filtering options are limited.

Latest News

How to Display Output of xterm Command in Terminal Screen using Cron

Resolve the inability to display xterm output in a terminal screen from cron by redirecting logs or using wall instead of insecure X11 workarounds.

Read More
Expose Local Server on VPS Preserving Real Client IPs (OS Level)

Resolve VPS logging showing only gateway IPs by configuring reverse proxies to forward real client addresses via X-Forwarded-For headers.

Read More
How to Clear Recent Files History in Linux without Deleting Actual Files?

Clear recent files history in Linux by deleting ~/.local/share/recently-used.xbel without removing the actual files.

Read More
Best HDD Copy Strategy: Manually Syncing and Rewriting Scratch

Resolve data drift between two 4TB hard drives by using rsync with the --delete flag to manually sync and rewrite scratch data for an exact mirror.

Read More
Understanding Bash Prompt Abbreviations: An Overview

Resolve repetitive typing errors by creating and persisting Bash aliases in the .bashrc file for improved command-line efficiency.

Read More
Free Tools and Methods to Log Real-Time Performance Details in Task Manager

Log real-time CPU and memory metrics to CSV files using Windows Performance Monitor Data Collector Sets to troubleshoot system slowness.

Read More
Contact Qatar Airways Customer Service: Phone Number, Help Center, and More

Resolve urgent Qatar Airways reservation issues like flight changes and baggage claims using the US phone number +1801-855-5905 or online self-service tools.

Read More
Windows 11: Alt Codes Displaying Wrong Characters - Solutions

Resolve Windows 11 Alt codes showing wrong characters by verifying the US keyboard layout and enabling Num Lock.

Read More
Run Programs with Elevated Privileges: A Comprehensive Guide

Eliminates the need to type sudo for frequent administrative tasks by configuring .bashrc aliases or functions.

Read More
Dynamically Changing Dates in Excel Formulas Using Cells

Eliminate manual date updates in Excel by using cell references to create dynamic formulas that automatically adjust calculations when input dates change.

Read More
Granting Edit Access to a Specific Excel Sheet in an Office 365 User Email ID-Based Login

Excel Online lacks native sheet-level permissions, so users must split workbooks or use worksheet protection to isolate edit access for specific tabs.

Read More
Creating Network Load on Local Wi-Fi from One PC

Generate sustained Wi-Fi bandwidth load from a single PC using a VM SFTP server to test router stability and throughput.

Read More
Changing the Default Editor for Batch Files in Windows 11's File Explorer

Resolve the issue of batch files opening in Notepad by changing the default editor to a preferred application like VS Code.

Read More
Gain WiFi Connection Minutes Before Losing it by Changing MAC Address

Bypass MAC address filtering to restore WiFi connectivity temporarily when a device is blocked by network administrators.

Read More
Photos Folders Turned Black: Troubleshooting Picture Applications on Windows

Resolve black screens in Windows Photos by resetting the app, updating graphics drivers, and repairing system files.

Read More
Troubleshooting High CPU Temperature Values: A Step-by-Step Guide

Resolve high CPU temperatures and thermal throttling by monitoring with Speedfan, cleaning dust from cooling components, and replacing degraded thermal paste.

Read More
Make cURL establish TLS connection with CA unknown

Resolve cURL TLS connection failures with unknown or self-signed certificates by using the --insecure flag to bypass CA validation.

Read More
Troubleshooting Incorrect Network Metrics Values in Grafana, Prometheus, InfluxDB, and Telegraf

Fix incorrect network metrics in Grafana, Prometheus, InfluxDB, and Telegraf by verifying interface selection, resolving unit mismatches, and handling counter resets.

Read More
Start Another Terminal Window (cmd.exe) Windows Repair/Troubleshoot

Provides step-by-step instructions to access the Windows Command Prompt via bootable media for advanced system repair and troubleshooting.

Read More
Thinkpad P1 Gen 6: Sudden Thunderbolt 3 Dock USB-C Charging Stopped Working

Resolve sudden Thunderbolt 3 dock USB-C charging and internet failure on ThinkPad P1 Gen 6 by updating firmware, resetting the dock, and adjusting power settings.

Read More
ASUS Windows 11 Laptop: Internet Connection Issue with Hotspot

Resolve ASUS Windows 11 laptop spinning wheel issue when connecting to mobile hotspot by resetting network stack, disabling IPv6, and adjusting power settings.

Read More
Developing iOS Project with Firebase: Logging in and Sending Push Notifications

Integrates Firebase to enable secure user authentication and push notifications in iOS applications.

Read More
Troubleshooting Bash Script with Suspected Issues of Spaces, Dashes, Filenames and Quoting

Resolve Bash script failures caused by word splitting, globbing, and special characters in filenames by applying proper quoting techniques.

Read More
Populating OneDrive Folder for Local Backup without Affecting Remote Files

Prevent OneDrive from deleting remote files during Windows reinstallation by unlinking the account or using symbolic links to isolate local data.

Read More
Force First Frame as Keyframe Without Re-encoding: A Quick Solution

Resolve inaccurate seeking and playback glitches by re-encoding video to ensure the first frame is a valid keyframe.

Read More
Find Information in Database Using WSL (Ubuntu) on Windows-10

Resolve database connection issues from WSL Ubuntu on Windows 10 by configuring client tools and network access to query remote or local servers.

Read More
Configuring a New Router with Different Networks: One Family, One Guest

Resolve IP conflicts and isolate guest traffic by configuring a second router with a distinct subnet via its WAN port.

Read More
Quickly Open Multiple Stock Websites with a Single Command

Solve the problem of manually opening multiple stock research websites by creating a single command to launch them simultaneously on Windows, macOS, or Linux.

Read More
Improved Adobe Acrobat Search Experience: Access Advanced Search with Ease

Access advanced search filters like case sensitivity and regex in Adobe Acrobat by clicking More Options in the Find bar.

Read More
Port Forwarding VM via OpenVPN: A Comprehensive Guide

Configure OpenVPN server and iptables to forward specific ports from VPN clients to a virtual machine's internal IP address.

Read More
Understanding Partitions in the 1980s: A Look Back at MS-DOS and Master Boot Record

Explains how the Master Boot Record and partition table enabled MS-DOS to manage multiple disk volumes on a single physical drive.

Read More
Windows 10 Enterprise: Keyboard Not Detected in Managed Organization with Admin Privileges

Resolve Windows 10 Enterprise keyboard detection failures caused by Group Policy restrictions, driver corruption, or USB enumeration errors.

Read More
Can't Find x86_64 Versions of Applications on MacOS arm64 (M1)

Resolve missing x86_64 app issues on M1 Macs by installing Rosetta 2 and reinstalling apps as universal binaries.

Read More
How to Hide Installation Source for an Android App

Manage Android app installation source visibility by using USB transfers or file managers to reduce browser traces and isolate data via work profiles.

Read More
Connecting Momentus 4200.2 ST9808210A Hard Drive via USB Cable

Resolve inability to access Seagate Momentus 4200.2 ST9808210A hard drive by connecting it via USB using a compatible SATA-to-USB adapter and configuring the disk in Windows.

Read More