# Pegasus

**Platform ID:** 10144

**Document Version:** 1.0

**Date:** 09-12-2025

## 1. Introduction

Pegasus is Unifize’s Azure Marketplace onboarding experience that enables organizations to purchase and activate Unifize directly through Microsoft’s commercial marketplace.

With this integration:

* Customers can subscribe to Unifize through Azure Marketplace using their Microsoft account.
* Private offers, custom pricing, and user-based billing are supported.
* Subscription details flow securely from Azure Marketplace to Unifize.
* Customers are guided through a simple onboarding workflow before activation.

The Pegasus onboarding page ensures that customers who have purchased a Unifize subscription on Azure Marketplace can seamlessly complete provisioning and begin using their workspace.

***

### **2. Functionalities & Capabilities**

**2.1 Direct Purchase through Azure Marketplace:** Customers can discover Unifize on Azure Marketplace and purchase a subscription using Microsoft’s billing system.

**2.2 Secure Authentication:** All access to the Pegasus onboarding page uses Microsoft Entra ID (Azure AD) SSO. Only users who arrive with a valid purchase token from Azure Marketplace can access subscription details.

**2.3 Automatic Subscription Resolution:** When customers land on the Pegasus page via the Azure flow, Unifize automatically retrieves:

* Subscription ID
* Plan & Plan ID
* Quantity (seats)
* Offer ID
* Purchaser details
* Subscription term information
* Tenant ID

These details appear exactly as shown in the buyer’s Azure portal.

**2.4 Guided Onboarding Workflow:** Once subscription details are resolved, users see:

* A summary of their Marketplace subscription
* A status badge (e.g., *Pending Activation*)
* An **Onboard** button to notify the Unifize team and begin provisioning

**2.5 Subscription Lifecycle Management:** Although mostly handled in the backend, customers should know:

* **Activation:** Billing begins only after account provisioning is completed and the customer confirms.
* **Plan Changes:** If users modify their plan/quantity in Azure, Unifize automatically updates their workspace usage.

**2.6 Error Handling for Unauthorized Access:** If users access the Pegasus URL directly (**without coming from Azure Marketplace**), they will see:

* **“Missing token. Please access this page from Azure Marketplace.”**
* Subscription details will not load
* The page cannot proceed to onboarding

<figure><img src="/files/KWP8q3cIpruLT7Xzor8u" alt=""><figcaption></figcaption></figure>

This ensures only valid Marketplace purchases are processed.

### **3. Admin Journey (Partner Center Setup)**

This section describes how Unifize admins prepare and configure offers that customers will see on the Azure Portal.

#### **Step 1: Configure Marketplace Offers in Partner Center**

Admins must create and configure Unifize Marketplace offers at:

[https://partner.microsoft.com/en-us/dashboard/marketplace-offers/overview](https://partner.microsoft.com/en-us/dashboard/marketplace-offers/overview**)

Here, admins define:

* The offer name & description
* Plans and pricing
* Billing model (per-user, flat rate, etc.)
* Offer visibility (public or private)
* Technical configuration (landing page, callback URL, webhook endpoints)

Reference Document: [https://learn.microsoft.com/en-us/partner-center/marketplace-offers/plans-pricing](https://learn.microsoft.com/en-us/partner-center/marketplace-offers/plans-pricing**)

***

#### **Step 2: Configure Private Plans**&#x20;

Private plans allow Unifize to offer custom pricing or negotiated terms.

To configure:

* Add **Tenant IDs** for each customer who should see the plan.
* Tenant ID = The customer’s Azure Active Directory Organization ID.

Only tenants added to the plan will be able to view or subscribe to it from Azure Marketplace.

**Important Notes for Admins:**

* Multiple private plans may be created for different customers.
* Unifize (and Unifize dev) also requires tenant IDs for testing.
* Customers with a matching tenant ID will see the plans list under *Private Plans* on the Azure Portal.

***

#### **Step 3: Validate the Marketplace Technical Requirements**

Ensure:

* **Landing Page URL** (Pegasus) is correctly added.
* **Fulfillment APIs** are correctly configured for:
  * Resolve
  * Activate
  * Update
  * Suspend
  * Delete
* **Webhook endpoint** is set up to handle lifecycle events.

***

#### **Step 4: Publish or Update the Offer:** Once plans and tenant IDs are configured:

* Submit the offer for validation
* Wait for Microsoft approval
* Once approved, the private plan becomes visible to the mapped tenant users on [**portal.azure.com**](http://portal.azure.com)

***

## **4. User Journey**

Once the admin setup is complete, the customer follows this flow on Azure Marketplace and Unifize.

{% @arcade/embed flowId="qr8SKD6t05KHwqAnlL87" url="<https://app.arcade.software/share/qr8SKD6t05KHwqAnlL87>" %}

#### **Step 1: Access Azure Portal**

Customer begins their journey at the Azure Portal, which is the 1st touchpoint for them: [**https://portal.azure.com**](https://portal.azure.com)

Only users belonging to a tenant whose ID was added to the private offer can proceed.

***

#### **Step 2: Navigate to Private Plans**

Inside Azure Portal:

1. Go to **Marketplace**
2. Open **Private Plans**
3. View all custom Unifize plans assigned to their tenant

If their tenant ID was not added, they cannot see or purchase the plan.

***

#### **Step 3: Open the Unifize Private Plan**

Selecting the plan opens the **Subscription and Plan** page, where users can:

* View the custom plan created for them
* Review pricing and usage model (e.g., per-user pricing)
* Confirm subscription details

***

#### **Step 4: Subscribe to the Plan**

The user clicks **Subscribe**.

They are then redirected to a **Microsoft form**, where they must fill out:

* Purchaser name
* Business email (becomes primary user ID in Unifize)
* Organization details
* Additional required fields

After entering details:

1. Click **Review + Subscribe**
2. Click **Subscribe**

Microsoft processes the subscription.

***

#### **Step 5: Configure the Account**

After the subscription is successfully created, Azure displays: **“Configure account now.”**

Clicking this redirects the user to the **Unifize Pegasus landing page.**

***

#### **Step 6: View Subscription Details on Pegasus**

On the Pegasus landing page, the customer sees:

* Subscription Name
* Plan Name
* Purchaser Email
* Quantity
* Tenant ID
* Subscription ID
* Offer ID
* Term Dates (if available)
* Status: **Pending Activation**

**Note:** Users **cannot** directly access the URL without a Marketplace token. Attempting to do the same will throw an error: **“Missing token. Please access this page from Azure Marketplace.”**

***

#### **Step 7: Initiate Onboarding**

User clicks the **Onboard** button.

They will see a confirmation: **“Onboarding request created successfully.”**

This signals that their subscription details have been sent to Unifize.

<figure><img src="/files/uRQVWymnk4IoXwTCVKNA" alt=""><figcaption></figcaption></figure>

***

## **5. Backend Workflow After Onboarding**

Once a user clicks **Onboard**, Unifize automatically performs the following:

**1. Create an Organization (Org):** The customer’s **tenant ID** becomes the Org identifier.

**2. Create the Initial User:** The **purchaser’s email** becomes the first user in Unifize. This user represents the organization admin.

**3. Notify Unifize Admin:** A provisioning workflow is triggered internally to notify the admin.

**4. Workspace Provisioning Completion:** The CS team looks into the onboarding of the customer. After CS confirms the account setup:

* The subscription can then be Activated from Azure Marketplace.
* Activation begins billing for the customer.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.unifize.com/pegasus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
