Skip to content

Customer Management

Track and manage all your cloud marketplace customers from a unified dashboard.

Overview

The Customers module provides a centralized view of all customers who have purchased or expressed interest in your marketplace offerings. Monitor their entitlements, usage patterns, contract status, and engagement history.

Customer Dashboard

Access the customer dashboard from Customers in the main navigation.

Customer Information

Each customer profile includes:

Basic Details

  • Company name and industry
  • Contact information (name, email, phone)
  • AWS Account ID (cloud identifier)
  • Marketplace platform (AWS/Azure)
  • Registration date

Entitlements

  • Products and plans purchased
  • Subscription status (active/expired)
  • Pricing dimensions and quantities
  • Expiration dates
  • Associated private offers

Annual Revenue

  • Calculated from active entitlements
  • Based on pricing tiers and quantities

Finding Customers

Use the search bar to find customers by:

  • Company name
  • Contact name
  • Contact email
bash
# API: List all customers for organization
GET /customers
Authorization: Bearer YOUR_TOKEN

Customer Details

Click on any customer row to view their complete profile in a side panel.

Customer Details Panel

The side panel displays:

  • Company Name: From customer profile
  • Annual Revenue: Automatically calculated from active entitlements
  • Entitlements List: All products and subscriptions
    • Product/listing information
    • Subscription status (active/expired)
    • Pricing dimensions and quantities
    • Expiration dates

Available Actions

  • Create Replacement Offer: Available when customer has active offers
  • View Entitlement Details: Expand any entitlement to see full details

Real-time Data

Customer entitlements are updated in real-time when changes occur in AWS/Azure Marketplace.

Customer Actions

Create Replacement Offer

For customers with active offers, you can create replacement offers:

  1. Open customer details panel
  2. Click Create Replacement Offer
  3. Configure new pricing and terms
  4. Submit to AWS Marketplace

When Available

The replacement offer option only appears when a customer has active accepted offers.

Customer Status

Customers are tracked based on their entitlement status:

Active Customers

  • Have at least one subscription with status: subscribed
  • Entitlement expiration is null or in the future
  • Displayed in customer table with active subscription count

Expired Customers

  • All entitlements have expired
  • Expiration date has passed
  • Displayed with expired subscription count

API Reference

Get All Customers

bash
GET /customers
Authorization: Bearer YOUR_TOKEN

Response:

json
{
  "code": 200,
  "data": [
    {
      "id": "customer-uuid",
      "organizationId": "org-uuid",
      "cloudIdentifier": "aws-customer-identifier",
      "details": {
        "company": {
          "name": "Acme Corporation",
          "industry": "Technology",
          "website": "https://acme.com"
        },
        "contacts": [
          {
            "name": "John Doe",
            "email": "john@acme.com",
            "phone": "+1234567890"
          }
        ],
        "account": {
          "accountId": "123456789012",
          "platform": "aws"
        }
      },
      "createdAt": "2026-01-15T10:00:00Z",
      "updatedAt": "2026-01-15T10:00:00Z"
    }
  ]
}

Get Customer by ID

Includes entitlement history and active offers:

bash
GET /customer/:id
Authorization: Bearer YOUR_TOKEN

Response:

json
{
  "code": 200,
  "data": {
    "id": "customer-uuid",
    "cloudIdentifier": "aws-customer-identifier",
    "details": {
      "company": { "name": "Acme Corporation" },
      "contacts": [{ "name": "John Doe", "email": "john@acme.com" }],
      "account": { "accountId": "123456789012", "platform": "aws" }
    },
    "activeOffers": [
      {
        "id": "offer-uuid",
        "status": "accepted",
        "listingId": "listing-uuid"
      }
    ],
    "entitlementHistory": [
      {
        "id": "entitlement-uuid",
        "customerId": "customer-uuid",
        "listingId": "listing-uuid",
        "details": {
          "subscriptionStatus": "subscribed",
          "expiration": "2027-01-15T10:00:00Z",
          "entries": [
            {
              "name": "enterprise",
              "units": 1,
              "price": "100.00"
            }
          ]
        }
      }
    ]
  }
}

Get Customer by Cloud Identifier

bash
GET /customer/byCloudIdentifier/:cloudIdentifier
Authorization: Bearer YOUR_TOKEN

Create Customer

bash
POST /customer
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json

{
  "cloudIdentifier": "aws-customer-identifier",
  "details": {
    "company": {
      "name": "Acme Corporation",
      "industry": "Technology"
    },
    "contacts": [
      {
        "name": "John Doe",
        "email": "john@acme.com",
        "phone": "+1234567890"
      }
    ],
    "account": {
      "accountId": "123456789012",
      "platform": "aws"
    }
  }
}

Update Customer

bash
PUT /customer/:id
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json

{
  "details": {
    "company": {
      "name": "Updated Name"
    },
    "contacts": [
      {
        "name": "Jane Doe",
        "email": "jane@acme.com",
        "phone": "+1234567890"
      }
    ]
  }
}

Delete Customer

bash
DELETE /customer/:id
Authorization: Bearer YOUR_TOKEN

Best Practices

  1. Keep Contact Info Updated: Ensure customer contact details are current
  2. Monitor Entitlements: Regularly check customer subscription status
  3. Proactive Engagement: Reach out to customers with expiring entitlements
  4. Use Replacement Offers: Update pricing or terms for existing customers
  5. Track Revenue: Monitor calculated annual revenue from entitlements

Troubleshooting

Customer Not Appearing

  • Check if AWS/Azure sync is complete
  • Verify customer has accepted an offer
  • Ensure proper IAM/API permissions

Incorrect Usage Data

  • Verify metering events are being sent
  • Check for duplicate entries
  • Ensure timestamp is in correct format

Entitlement Mismatch

  • Trigger manual sync from AWS/Azure
  • Verify contract is active in marketplace
  • Check for recent changes in marketplace console

Next Steps

Need Help?

Contact support@automatum.io for assistance with customer management.

Automatum GTM Platform