Salesforce Architecture and Product Engineering
Crystal Lotus Solutions

AppExchange Product Engineering

AppExchange is Salesforce's enterprise cloud marketplace, and we ship on it ourselves. Second-generation packaging, security review, the License Management App, subscriber-org upgrades. Bring us a product idea, an OEM build, or a package that has stopped being upgradeable.

A managed package moving through build, security review and installation

What We Have Shipped

  • ARM Health Check

    A second-generation managed package that scans a Revenue Cloud org across billing, pricing, contracts, renewals and revenue recognition. Thirty Apex classes, nine Lightning web components, configuration held in custom metadata, freemium licensing enforced through a custom permission and the licence management org.

    Crystal Lotus Product
    2GP, freemium, CI on Bitbucket Pipelines
  • A Package That Updates Its Own Configuration in the Customer's Org

    Most packages need an admin to make changes by hand after every install. This one signs in to the customer's org and updates its own configuration, which meant solving authentication from inside a package under Salesforce's current ISV security rules. It ships its own client app, uses the current OAuth standard with rotating tokens, keeps its secrets in protected metadata and encrypts everything it stores.

    Crystal Lotus Product
    Solves what AuthProvider cannot do in 2GP
  • A Client's Product Line, Packaged and Deployed per Customer

    The third-party due diligence application is a namespaced package deployed to a new org for each of the client's customers, three to four onboardings a year, with product changes going into the package and customer-specific work staying in that customer's org.

    Crystal Lotus Engagement
    Client-owned IP, five deployments

From First Commit to Listed on AppExchange

Four places where product work on the platform goes wrong, and what we do about each. The review documentation, the listing and the upgrade path are part of the build, not extras.

  • Package Architecture

    Namespaces, dependencies, unlocked versus managed, what is upgradeable and what is not. The choices that cannot be undone later, made before the first component is written.

  • Security Review

    Built to pass: field and object permissions enforced everywhere, sharing respected, secrets handled properly, and the documentation the review team asks for written as we go rather than at the end.

  • Licensing and Freemium

    Free tiers that convert: licence management, features gated by permission, trials that expire on time and paid tiers wired to your billing.

  • OEM and Embedded

    Products that ship inside another vendor's package or run on platform licences, with the install and upgrade experience designed rather than left to chance.

AppExchange Products: Questions We Are Asked

Do you build second-generation managed packages?

We do, and we ship our own. ARM Health Check is a 2GP managed package with thirty Apex classes, nine Lightning web components, configuration in custom metadata and freemium licensing enforced through a custom permission and the licence management org, built with CI on Bitbucket Pipelines. Client products are built the same way.

How do you get a package through Salesforce security review?

By building for it from the first commit. Field and object permissions are enforced everywhere, sharing is respected, secrets are handled properly, and the documentation the review team will ask for gets written as we go instead of in a panic at the end.

Can you build an OEM or embedded product?

Yes. Products that ship inside another vendor's package or run on platform licences. The install and upgrade experience is designed up front, and licence management, feature gating and trials are wired to your billing.

Can a package update its own configuration in a customer's org?

Yes. We solved authentication from inside a package under Salesforce's current ISV security rules: the package ships its own client app, uses the current OAuth standard with rotating tokens, keeps its secrets in protected metadata and encrypts everything it stores. Admins no longer make changes by hand after every install.

Our package has stopped being upgradeable. Can it be rescued?

Usually. The first job is to understand the package architecture as it stands: namespaces, dependencies, unlocked versus managed, which components can still be upgraded and which cannot. Some of those choices cannot be undone, so the upgrade path is designed from where the package actually is today, not from where it should have been.

Included in Every Engagement, at No Extra Cost

The things most firms charge for, or quietly leave out. You get them as standard, and your team keeps all of it.

  • A Named Architect for the Whole Engagement

    The person who designs your solution stays on it to the end and joins every review. No hand-off to a rotating bench.

  • A Decisions Log and Architecture Diagrams

    Every choice written down with the reason, so six months later nobody has to guess why the org looks the way it does.

  • Working Demos Every Week

    You see running software each week and steer while it is cheap to change. No status decks.

  • Everything in Version Control

    Metadata, pipelines, packaging and tests from the first sprint. Your org can be rebuilt, audited and handed to anyone.

  • Documentation, Runbooks and Knowledge Transfer

    Your admins can explain the design, not just operate it. We are not building a dependency on us.

  • Thirty Days of Post-Go-Live Support

    After go-live the team stays available for a month to fix, tune and answer questions, inside the original price.

Ready to Talk to an Architect?

A 30-minute call with the architect who would own your work. You leave with a written view of the next step and a rough sizing, whether or not you go ahead with us.

Book an Architecture Discovery Callor email contact@crystallotus.co