---
title: "create_microsoft_promotion_extension. Metadata MCP tool reference"
url: https://metadata.io/developers/tools/create_microsoft_promotion_extension
description: "Add a time-bound promotional offer (sale, discount, promo code) that shows under a Microsoft Ads (Bing) ad — flag a holiday occasion, pick the discount style (% off or $ off), o… Writes tool on the Metadata MCP server, with its full JSON Schema."
source: metadata.io
---

# create_microsoft_promotion_extension

Add a time-bound promotional offer (sale, discount, promo code) that shows under a Microsoft Ads (Bing) ad — flag a holiday occasion, pick the discount style (% off or $ off), o…

Writes [extensions](https://metadata.io/developers/tools/#cat-extensions)

## What it does

## Arguments

| Argument | Type |   | Notes |
|---|---|---|---|
| `occasion` | string | required | one of: `NONE`, `BACK_TO_SCHOOL`, `BLACK_FRIDAY`, `BOXING_DAY`, `CARNIVAL`, `CHINESE_NEW_YEAR`, `CHRISTMAS`, `CYBER_MONDAY`, `DIWALI`, `EASTER`, `EID_AL_ADHA`, `EID_AL_FITR` |
| `url` | string | required |   |
| `item` | string | required |   |
| `category_type` | string | required | one of: `MONETARY`, `UP_TO_MONETARY`, `PERCENT`, `UP_TO_PERCENT` |
| `category_amount` | number |   | USD amount; supply when category_type is MONETARY or UP_TO_MONETARY. |
| `category_percent` | number |   | Percent (≤100); supply when category_type is PERCENT or UP_TO_PERCENT. |
| `details_type` | string | required | one of: `NONE`, `ON_ORDERS_OVER`, `PROMO_CODE` |
| `details_promo_code` | string |   | Promo code; supply when details_type is PROMO_CODE. |
| `details_amount` | number |   | Threshold USD amount; supply when details_type is ON_ORDERS_OVER. |
| `start_date` | string | required | ISO-8601 "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'". Future or present. |
| `end_date` | string | required | ISO-8601 "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'". Future or present. |

## Request

**Request template, not a complete runnable example.** Replace placeholders, empty objects, arrays, and zero values with valid account-specific inputs. Read required fields and nested constraints in the full schema. Confirm the account, connected channels, and referenced assets before calling a write tool.

## Response

## Related

Other extensions tools:

- [add_extensions_to_native_campaign](https://metadata.io/developers/tools/add_extensions_to_native_campaign) Writes
- [create_google_business_logo_extension](https://metadata.io/developers/tools/create_google_business_logo_extension) Writes
- [create_google_callout_extension](https://metadata.io/developers/tools/create_google_callout_extension) Writes
- [create_google_image_extension](https://metadata.io/developers/tools/create_google_image_extension) Writes
- [create_google_lead_form_extension](https://metadata.io/developers/tools/create_google_lead_form_extension) Writes
- [create_google_price_extension](https://metadata.io/developers/tools/create_google_price_extension) Writes
- [create_google_promotion_extension](https://metadata.io/developers/tools/create_google_promotion_extension) Writes
- [create_google_sitelink_extension](https://metadata.io/developers/tools/create_google_sitelink_extension) Writes

[Browse the tool catalog](https://metadata.io/developers/tools/) · [machine-readable index](https://metadata.io/developers/tools.json)
