in implementation guides ~ read.
Salesforce Packaging Guide

Salesforce Packaging Guide


First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.


Chapter Welcome to the ISVforce Guide
Resources for Partners
Roles in the Solution Lifecycle
How to Sign Up for Test Environments
Chapter ISVforce Quick Start
Tutorial Sign Up for AppExchange
Step Sign Up for the Partner Program
Step Create a Development and Test Environment
Step Get a Business Org
Step Edit Your Publisher Profile
Signup Summary
Tutorial Developing Your App
Step Create an App
Step Package Your App
Step Assign a Namespace
Step Upload a Beta
Step Install and Test the Beta
Development Summary
Tutorial Publishing and Licensing
Step Uploading to the AppExchange
Step Create an AppExchange Listing
Step Complete the AppExchange Listing
Step Manage Licenses for Your App
Publishing and Licensing Summary
Tutorial Updating Your App
Step Creating a Patch Organization
Step Developing a Patch
Step Uploading the Patch
Step Installing or Pushing a Patch
Updating Your App Summary
Chapter Grow Your AppExchange Business
Chapter Design and Build Your Solution
Create a Secure Solution
Overview of Packages
Planning the Release of Managed Packages
Create a Package
Developing and Distributing Unmanaged Packages
Create and Upload an Unmanaged Package
Install Notifications for Unauthorized Managed Packages
Components Available in Managed Packages
Components Available in Unmanaged Packages
Editing Components and Attributes After Installation
Components Automatically Added to Packages
Special Behavior of Components in Packages
Protected Components
Set Up a Platform Cache Partition with Provider Free Capacity
Understanding Dependencies
Metadata Access in Apex Code
About Permission Sets and Profile Settings
Permission Set Groups
Custom Profile Settings
Protecting Your Intellectual Property
Creating Packaged Applications with Chatter
Matching the Salesforce Look and Feel
Maintaining My Domain and Visualforce URLs
Developing App Documentation

About API and Dynamic Apex Access in Packages

Manage API and Dynamic Apex Access in Packages

Configuring Default Package Versions for API Calls

About the Partner WSDL

Generating an Enterprise WSDL with Managed Packages

Work with Services Outside of Salesforce
Architectural Considerations for Group and Professional Editions
Features in Group and Professional Editions
Limits for Group and Professional Editions
Access Control in Group and Professional Editions
Using Apex in Group and Professional Editions

API Access in Group and Professional Editions

Designing Your App to Support Multiple Editions
Sample Design Scenarios for Group and Professional Editions
Connected Apps
Environment Hub
Get Started with the Environment Hub
Manage Orgs in the Environment Hub
Single Signon in the Environment Hub
Environment Hub Best Practices

Environment Hub FAQ

Considerations for the Environment Hub in Lightning Experience
Developer Hub
Scratch Org Allocations for Partners
Enable Dev Hub Features in Your Org

Add Salesforce DX Users

Free Limited Access License
Manage Scratch Orgs from Dev Hub
Link a Namespace to a Dev Hub Org
Supported Scratch Org Editions for Partners
Notifications for Package Errors
Set the Notification Email Address
Chapter Package and Test Your Solution
About Managed Packages
Configure Your Developer Settings
Register a Namespace Prefix
Specifying a License Management Organization
What are Beta Versions of Managed Packages
Creating and Uploading a Beta Package
Create and Upload a Managed Package
View Package Details
Installing a Package
Component Availability After Deployment
Uninstalling a Package

Installing Managed Packages Using the API

Resolving Apex Test Failures
Running Apex on Package InstallUpgrade
How does a Post Install Script Work
Example of a Post Install Script
Specifying a Post Install Script
Running Apex on Package Uninstall
How does an Uninstall Script Work
Example of an Uninstall Script
Specifying an Uninstall Script
Publishing Extensions to Managed Packages
Chapter Pass the AppExchange Security Review
AppExchange Security Review
How Does AppExchange Security Review Work
Partner Security Portal
Set Up Your Partner Security Portal Login
Security Scanners on the Portal
Office Hours Appointments on the Portal
Test Your Entire Solution
False Positives
Document Your Responses to False Positives
Example Responses to False Positives in Checkmarx Scan Results
Example Responses to False Positives in a Security Review Failure Report
Security Review Resources
Chapter Publish Your Solution on AppExchange
What Is AppExchange
Business Plans for AppExchange Listings
Submit a Due Diligence and Compliance Certification
Publish on AppExchange
Connect a Packaging Org to the Publishing Console
Create or Edit Your Provider Profile
Create or Edit Your AppExchange Listing
Add a Business Plan to an AppExchange Listing
Make Your AppExchange Listing Effective
Select an Installation Option
Register Your Package and Choose License Settings
Complete the Security Review Cycle
How Does AppExchange Search Work
Email Notifications
Collect AppExchange Leads
AppExchange Leads
AppExchange Leads and License Activities
Enable AppExchange Lead Collection
AppExchange Lead Source Codes
Troubleshoot AppExchange Leads
Analytics Reports for Publishers
Update the Package in Your AppExchange Listing

AppExchange FAQ

Can I add more industries

Do I need an APO to publish my app or component on the AppExchange

Can I change my company name


Can I edit a review

Can I keep the same listing but change the package it provides

Can I Update My Solution with a New Version or Patch

How Do Customers Find My Listing

How do I edit a package after Ive created a listing

How do I get an API token for my app

How do I increase my listings popularity

How do I offer a free trial of my app or component

How do I see listings that Salesforce removed

How do I upgrade my customers to a new version

Whats the difference between a free trial and test drive

Where can I share my ideas

Where can I write a review

Can I have multiple listings for an app or component

Chapter Sell on AppExchange with Checkout
AppExchange Checkout
How Is Revenue Shared in AppExchange Checkout
Payment Plans in AppExchange Checkout
Payment Methods in AppExchange Checkout
Get Started with AppExchange Checkout
Support International Payments in AppExchange Checkout
Manage AppExchange Checkout Subscriptions
AppExchange Checkout FAQs
AppExchange Checkout Considerations
Checkout Management App
Checkout Management App Best Practices
Checkout Management App Objects
Get Started with the Checkout Management App
Sample Checkout Management App Customizations
Update Settings in the Checkout Management App
View Checkout Management App Logs
Chapter Monitor Performance with Analytics for AppExchange Partners
Monitor Your AppExchange Performance with Marketplace Analytics
Marketplace Analytics Dashboard
Get Started with the Marketplace Analytics Dashboard
Marketplace Analytics FAQs
AppExchange App Analytics
Request AppExchange App Analytics
Download Package Log Files Usage Summaries and Subscriber Snapshots
Package Usage Summaries
Package Log Files
Subscriber Snapshots
Test Custom Integrations
Chapter Manage Orders
Channel Order App
Channel Order App Objects
Order Types
Order Status
Channel Order App Permission Sets
Set Up the Channel Order App
Install the Channel Order App
Assign Permission Sets to Channel Order App Users
Define a Channel Order App Email Service
Connect the Channel Order App to Salesforce
Display Customers in the Channel Order App
Assign Page Layouts in the Channel Order App
Upgrade the Channel Order App
Channel Order App Upgrade Considerations
Upgrade the Channel Order App
Field Mapping in Channel Order App v and Later
Manage Orders in the Channel Order App
Submit an Order
Edit an Order
Clone an Order
Recall an Order
Delete a Draft Order
Fix Errors on Returned Orders

Channel Order Apex API


Service Order
Service Order Detail

Partner Order Submit API

Chapter Manage Licenses
License Management App
How Does the License Management App Work
Integrate the License Management App into Your Business Processes
Best Practices for the License Management App
Get Started with the License Management App
Install the License Management App
Associate a Package with the License Management App
Configure the License Management App
Manage Leads and Licenses for Your Offering
Modify a License Record in the License Management App
Change the Lead Manager in the License Management App
Refresh Licenses for an Offering in the License Management App
Move the License Management App to Another Salesforce Org
Troubleshoot the License Management App
Leads and Licenses Arent Being Created
Proxy User Has Deactivated Message

License Management App FAQ

Is the LMA compatible with Lightning Experience

Can I install the LMA in a nonproduction Salesforce org

Why cant I see the Modify License button on my license records

the license record

Can I automate the assignment of licenses to users in the subscriber org

Why arent leads and licenses being created in the LMA

number of licensed users
Chapter Manage Features
Feature Parameter Metadata Types and Custom Objects
Set Up Feature Parameters
Install and Set Up the Feature Management App in Your License Management Org
Create Feature Parameters in Your Packaging Org
Add Feature Parameters to Your Managed Package
Reference Feature Parameters to Drive App Behavior and Track Activation Metrics
How Do Feature Parameters Work
Drive App Behavior with LMOtoSubscriber Feature Parameters

Track Preferences and Activation Metrics with SubscribertoLMO Feature Parameters

Hide Custom Objects and Custom Permissions in Your Subscribers Orgs
Best Practices for Feature Management
Considerations for Feature Management
Chapter Provide a Free Trial of Your Solution
Why Use Trialforce
Set Up Trialforce
Link a Package with Your License Management Organization
Request a Trialforce Management Org
Setting Up Custom Branding for Trialforce
Create a Trialforce Source Organization
Create a Trialforce Template
Link a Trialforce Template to the AppExchange
Submit a Trialforce Template for Security Review
Provide a Free Trial on the AppExchange
Provide a Free Trial on the AppExchange Using Trialforce
Offer a Test Drive on AppExchange
Provide a Free Trial on the AppExchange When Your Offering Is Installed
Provide Free Trials on Your Website

Enable the SignupRequest API

Choose a SignUp Form Hosting Option

Create SignUps Using the API

Provision Trial Orgs
Update Your Trial
Trialforce Best Practices

Trialforce FAQ

How do I upgrade my trial with a new version of my offering

Can I distribute my app or component using both Trialforce and the AppExchange

How are trials different from Trialforce
Is it possible to install another app in a trial organization

How do I configure who can use Lightning Experience in my trial org

Chapter Support Your AppExchange Customers
Subscriber Support Console
Viewing Subscriber Details
Request Login Access from a Customer
Log In to Subscriber Orgs
Troubleshooting in Subscriber Organizations
Usage Metrics
Setting up Usage Metrics
Accessing Usage Metrics Data
Usage Metrics Visualization
Chapter Update Your Solution
About Package Versions
Create and Upload Patches
Working with Patch Versions
Versioning Apex Code
Apex Deprecation Effects for Subscribers
Publish Upgrades to Managed Packages
Delete Components from FirstGeneration Managed Packages
Viewing Deleted Components
Modifying Custom Fields after a Package is Released
Manage Versions
Push Package Upgrades to Subscribers
Push Upgrades
Push Upgrade Best Practices
Assign Access to New and Changed Features
Sample Post Install Script for a Push Upgrade
Scheduling Push Upgrades

Appendix A ISVforce User License Comparison

Appendix B OEM User License Comparison