diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts
index 32719bafe9..6a5857604f 100644
--- a/types/office-js-preview/index.d.ts
+++ b/types/office-js-preview/index.d.ts
@@ -9573,6 +9573,124 @@ declare namespace Office {
*/
Removed = "removed"
}
+ /**
+ * Specifies the category color.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ enum CategoryColor {
+ /**
+ * Default color
+ */
+ None,
+ /**
+ * Red
+ */
+ Red,
+ /**
+ * Orange
+ */
+ Orange,
+ /**
+ * Yellow
+ */
+ Yellow,
+ /**
+ * Green
+ */
+ Green,
+ /**
+ * Teal
+ */
+ Teal,
+ /**
+ * Olive
+ */
+ Olive,
+ /**
+ * Blue
+ */
+ Blue,
+ /**
+ * Purple
+ */
+ Purple,
+ /**
+ * Peach/Brown
+ */
+ Peach, // TODO: Confirm if this or Brown
+ /**
+ * Maroon/Cranberry
+ */
+ Maroon, // TODO: Confirm if this or Cranberry
+ /**
+ * Dark peach/Dark brown
+ */
+ DarkPeach, // TODO: Confirm if this or DarkBrown(Graph)
+ /**
+ * Dark maroon/Dark cranberry
+ */
+ DarkMaroon, // TODO: Confirm if this or DarkCranberry(Graph)
+ /**
+ * Steel
+ */
+ Steel,
+ /**
+ * Dark steel
+ */
+ DarkSteel,
+ /**
+ * Gray
+ */
+ Gray,
+ /**
+ * Dark gray
+ */
+ DarkGray,
+ /**
+ * Black
+ */
+ Black,
+ /**
+ * Dark red
+ */
+ DarkRed,
+ /**
+ * Dark orange
+ */
+ DarkOrange,
+ /**
+ * Dark yellow
+ */
+ DarkYellow,
+ /**
+ * Dark green
+ */
+ DarkGreen,
+ /**
+ * Dark teal
+ */
+ DarkTeal,
+ /**
+ * Dark olive
+ */
+ DarkOlive,
+ /**
+ * Dark blue
+ */
+ DarkBlue,
+ /**
+ * Dark purple
+ */
+ DarkPurple
+ }
/**
* Specifies an attachment's type.
*
@@ -11875,6 +11993,21 @@ declare namespace Office {
*
*/
body: Body;
+ /**
+ * Gets an object that provides methods for managing the item's categories.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Appointment Organizer |
+ *
+ *
+ * @beta
+ */
+ categories: Categories;
/**
* Gets or sets the date and time that the appointment is to end.
*
@@ -12746,6 +12879,21 @@ declare namespace Office {
*
*/
body: Body;
+ /**
+ * Gets an object that provides methods for managing the item's categories.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Appointment Attendee |
+ *
+ *
+ * @beta
+ */
+ categories: Categories;
/**
* Gets the date and time that an item was created.
*
@@ -13515,6 +13663,21 @@ declare namespace Office {
*
*/
body: Body;
+ /**
+ * Gets an object that provides methods for managing the item's categories.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ categories: Categories;
/**
* Gets the type of item that an instance represents.
*
@@ -14898,6 +15061,21 @@ declare namespace Office {
*
*/
body: Body;
+ /**
+ * Gets an object that provides methods for managing the item's categories.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Message Compose |
+ *
+ *
+ * @beta
+ */
+ categories: Categories;
/**
* Provides access to the Cc (carbon copy) recipients of a message. The type of object and level of access depends on the mode of the
* current item.
@@ -15739,6 +15917,21 @@ declare namespace Office {
*
*/
body: Body;
+ /**
+ * Gets an object that provides methods for managing the item's categories.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Message Read |
+ *
+ *
+ * @beta
+ */
+ categories: Categories;
/**
* Provides access to the Cc (carbon copy) recipients of a message. The type of object and level of access depends on the mode of the
* current item.
@@ -17200,6 +17393,122 @@ declare namespace Office {
removeHandlerAsync(eventType: Office.EventType, callback?: (asyncResult: Office.AsyncResult) => void): void;
}
+ /**
+ * Represents the categories on an item.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ interface Categories {
+ /**
+ * Adds categories to an item. Each category name must be unique to that mailbox but multiple categories can use the same color.
+ *
+ * @param categories - The categories to be added to the item.
+ * @param options - Optional. An object literal that contains one or more of the following properties.
+ * asyncContext: Developers can provide any object they wish to access in the callback method.
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter of
+ * type Office.AsyncResult.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadWriteItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ addAsync(categories: string[], options?: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult) => void): void;
+ /**
+ * Gets an item's categories.
+ *
+ * @param options - An object literal that contains one or more of the following properties.
+ * asyncContext: Developers can provide any object they wish to access in the callback method.
+ * @param callback - When the method completes, the function passed in the callback parameter is called with a single parameter of
+ * type Office.AsyncResult.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ getAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult) => void): void;
+ /**
+ * Gets an item's categories.
+ *
+ * @param callback - When the method completes, the function passed in the callback parameter is called with a single parameter of
+ * type Office.AsyncResult.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ getAsync(callback: (asyncResult: Office.AsyncResult) => void): void;
+ /**
+ * Removes categories from an item.
+ *
+ * @param categories - The categories to be removed from the item.
+ * @param options - Optional. An object literal that contains one or more of the following properties.
+ * asyncContext: Developers can provide any object they wish to access in the callback method.
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter of
+ * type Office.AsyncResult.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadWriteItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ removeAsync(categories: string[], options?: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult) => void): void;
+ }
+
+ /**
+ * Represents the details of an item's category.
+ *
+ * [Api set: Mailbox Preview]
+ *
+ * @remarks
+ *
+ * | {@link https://docs.microsoft.com/outlook/add-ins/understanding-outlook-add-in-permissions | Minimum permission level} | ReadItem |
+ * | {@link https://docs.microsoft.com/outlook/add-ins/#extension-points | Applicable Outlook mode} | Compose or Read |
+ *
+ *
+ * @beta
+ */
+ interface CategoryDetails {
+ /**
+ * The name of the category. Maximum length is 255 characters.
+ */
+ displayName: string;
+ /**
+ * The color of the category.
+ */
+ color: Office.MailboxEnums.CategoryColor;
+ }
+
/**
* Represents a suggested meeting found in an item. Read mode only.
*