Adobe Creative Cloud

Adobe Creative Cloud is a suite of design, photography, video, and web development applications. ZombieLicenseHunter connects via Server-to-Server OAuth to sync user accounts, product entitlements, and activity data — enabling detection of inactive or over-provisioned Creative Cloud licenses.

Prerequisites

  • Adobe Admin Console access with System Administrator role
  • Access to the Adobe Developer Console to create projects and credentials

Setup Instructions

Step 1: Create an Adobe Developer Console Project

  1. Go to developer.adobe.com/console and sign in with your Adobe admin account.
  2. Click Create new project.
  3. Give the project a name (e.g., "ZombieLicenseHunter") and click Save.

Step 2: Add the User Management API

  1. In your project, click Add API.
  2. Select User Management API from the list and click Next.
  3. Choose OAuth Server-to-Server as the credential type and click Next.
  4. Select a product profile (or accept the default) and click Save configured API.

Step 3: Copy Your Credentials

On the OAuth Server-to-Server credential page, copy the following values — you will need them in Step 4:

Field Where to Find It
Client ID Shown on the credential overview page
Client Secret Click Retrieve client secret (shown once — store securely)
Organization ID Shown at the top of the Developer Console, or under Organization in the credential details. Format: XXXXXXXXXXXXXXXX@AdobeOrg

Step 4: Connect in ZombieLicenseHunter

  1. In ZombieLicenseHunter, go to Integrations → Add Integration and select Adobe Creative Cloud. Leave Category as Application.
  2. Enter the credentials copied in Step 3:
    • Domain — your Organization ID, the full string ending in @AdobeOrg. The field is labelled Domain on the form; the hint beneath it names the Organization ID.
    • Client ID
    • Client Secret
  3. Click Save Integration. ZombieLicenseHunter validates the credentials by requesting an access token from Adobe, then encrypts and stores them.
  4. An initial background sync begins immediately.

What Gets Synced

Field Description
User identity Adobe user ID (UUID), email address
Product entitlements Group memberships representing assigned product licenses (e.g., "All Apps", "Photoshop", "Acrobat Pro")
Last login Most recent sign-in timestamp
Account creation date When the user was provisioned in the Admin Console

Tokens are short-lived (24 hours) and re-exchanged automatically on each sync cycle via client credentials grant. There is no refresh token.

Troubleshooting

"Invalid credentials" on save Verify that the Organization ID, Client ID, and Client Secret were copied exactly. The Organization ID must include the @AdobeOrg suffix. Trailing whitespace is a common cause of failure.

"domain (OrgID) is required" error The Domain field is empty. Paste your full Organization ID from the Adobe Developer Console into it.

Token exchange fails with 401 Confirm the OAuth Server-to-Server credential is active in the Developer Console. If you recently created it, wait a few minutes for propagation. Also verify that the User Management API was added to the project.

Users not appearing after sync Ensure the User Management API is added to your project (Step 2). Without it, the credential won't have the user_management_sdk scope needed to list users.

Rate limiting (429 errors) ZombieLicenseHunter already rate-limits Adobe API calls to 25 requests per minute. If you see 429 errors, another application may be consuming your organization's UMAPI quota. Contact Adobe support to check your rate limits.

Partial data — missing product entitlements Product entitlements appear as group memberships in Adobe UMAPI. Users must be assigned to product profiles in the Adobe Admin Console for their entitlements to appear. Users with direct "All Apps" entitlements but no product profile assignment may show with an empty license list.