SlideShare a Scribd company logo
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
PUBLISH YOUR PACKAGE
TO APPEXCHANGE
IN 2023
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Introduction
What is AppExchange?
New changes applicable since March 2023?
Why should I publish on AppExchange?
How do I publish package to AppExchange?
How do I prepare for Security Review?
Questions
Agenda
Speaker intro
Bohdan Dovhań
Associate Salesforce Architect at SoftServe Inc
3 Listings Published on AppExchange
#50th on Salesforce Stack Exchange
17x Salesforce Certified Specialist
12 years of Development experience
10 years of Salesforce Development experience
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Salesforce Marketplace where packages can be found
for installation or published by ISV (Independent
Software Vendors)
Package is bundled container of code and metadata
which can be published on AppExchange or shared
directly to subscribers
AppExchange
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Since March 16, 2023:
1. The $2,550 initial review fee was eliminated.
2. The $150 annual fee was eliminated.
3. The security review fee is $999 per attempt for paid apps.
4. They claim there will be no fees for Security Reviews for
free solutions while they work to redefine the policy.
March 2023 Change
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
1. Salesforce didn’t accept any new submissions between
March 1 and March 15, 2023 to ensure a smooth transition to
the new fee structure.
2. Technically now all apps (both Free and Paid) require
Security Review fee payment. To reduce it for a free app from
999$ to 1$ open a case to receive a waiver voucher
March 2023 Change
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
UI Change
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Why should you publish your package on AppExchange?
- Extended visibility of the product to potential customers
- Increased trust for the label “Security Review Passed”
- Option to create patch versions
- Option to push upgrades to customers
- Option to use LMA, FMA, Support Console
Why?
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
How?
1. Sign partnership agreement with Salesforce
2. Create a listing on Partner Community
3. Create and develop a package
4. Connect your Packaging Org or Dev Hub to Partner Community
5. Submit for Security Review and pass it
6. Update the listing and publish it
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Select Listing Type
Choose one from three options:
- Packaged Solution
- API
- Consultant
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Select Package Solution Type
Choose one from two
options:
- SF Platform Package
- B2C Commerce
Cartridge
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Select a Salesforce Platform Package Type
Choose one from four options:
- App
- Bolt Solution
- Flow Solution
- Lightning
Component
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Choose one from two languages:
- English
- Japanese
Choose Japanese?
Give it a title
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Fill in other details
Provide Brief Description
Select Required Salesforce Products (e.g. Sales Cloud)
Select Compatible Salesforce Products (can be blank)
Select Supported Salesforce Editions
Select Supported Features (LEX, SF Mobile, Person Accounts,
Multiple Currencies, SF Shield, Lightning App Builder)
Select Supported Industries
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Select Target User Persona
Select Supported Languages
Select Business Needs
Select Equality, Philantrophy badges
Fill in additional requirements
Fill in a business contact information
Continue
no Ukrainian in the list but
there is enemy’s language
My Packages are mostly
Admin&Dev Tools
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Select one of four pricing options
1. Free
2. Paid
3. Paid Add-On Required
4. Freemium
Select Pricing
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Before publishing listing, Salesforce must check that it complies
with partner brand guidelines and partner program policies by:
1. Checking information in the Basics and Price Your Solution
steps.
2. Approval process takes about 30 days.
3. It is possible to continue updating listing while it is not
approved yet
Submit for Approval
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Add SEO Title
Add Tagline
Add Full Description
Add Details
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Add Highlights
Add Terms and Conditions
Add Details
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Upload Small Logo
Upload Large Logo
Include Visuals
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Upload Large Logo
Decide if you allow marketing use
Include Visuals
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Add Screenshots
Add Videos
Include Visuals
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Add Demo Video
Add up to 15 Customer Resources
Include Visuals
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Link Solution
Select developed package – the solution
If it is not present, go to Technologies tab, open Org subtab to
connect either DevHub or Packaging Org for the package
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Connect Org
To select a package for review, connect an org first
To connect 1GMP, you need to connect Packaging Org
To connect 2GMP, you need to connect Dev Hub
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
`
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Choose Installation Method
By default, use AppExchange
Link Solution
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Trials & Marketing
Setup Trial Template to offer free trials for paid app
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Setup Lead Capturing for the following events:
1. Lead watches a demo video
2. Lead takes a test drive
3. Lead signs up for a free trial
4. Lead installs the package solution
Setup Lead Capture
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
When you click Done, you can see overall listing status
Check Listing Status
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Formal Steps
- Fill In Contact Information
- Fill In Technical Details
- Upload Documents (most important)
- Provide information for Test Environments
- Review the Summary
- Pay for Security Review
Security Review
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Use Environment Hub to create a Test/Demo org for Security Review using Trial
Template 0TT3t000004cHv2
Install released package version into created org same as submitted for review.
Create Guest Admin user with appropriate Profile which has Skip Validation in
the name
If needed, configure it for use, for example, assign correct permission set to the
Guest Admin user.
Log in as Guest Admin user and confirm that this user has correct access to the
packaged application
Security Review Test Org
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Technical Steps
- Run CheckMarx Scanner for Salesforce Package
- On Partner Portal
- On Customer Portal
- Run PMD or any other Static Analyzer Tool
- Address every findings from Checkmarx and PMD
- Prepare Solution Architecture And Usage document
- Prepare False Positives document
- if you can’t workaround some findings from Checkmarx
- if you failed Security Review
Security Review
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Common Findings
- Sharing Violation – use WITH SHARING
- Enforce CRUD/FLS: Security.stripInaccessible, WITH USER_MODE
- CSRF – do not perform DML during page load
- SOQL Injection – use escapeSingleQuotes in dynamic queries
- Sensitive Information in Debug – remove all debug logs
- Check external JS library vulnerabilities
- Remove inline CSS and fixed, absolute, or float in CSS or add them as
exceptions to False Positives document
Security Review
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Sharing Violation
Use “with sharing”, “inherited sharing” class declarations
Avoid empty sharing class declarations
Document and justify “without sharing” class declarations.
Verify CRUD and FLS on SOQL and DML
Consider using “WITH USER_MODE” and Security.stripInaccessible
methods
Consider using Custom Permissions for enabling functionality
Consider using Permission Set to combine necessary permissions
together
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
CSRF
Do not perform DML operations on page load
CSRF is an attack which forces an end user to execute unwanted
actions on a web application in which he/she is currently
authenticated. With a little help of social engineering (like sending a
link via email/chat), an attacker may force the users of a web
application to execute actions of the attacker's choosing. A
successful CSRF exploit can compromise end user data and
perform state changing actions on this data without the user’s
knowledge.
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SQL injection is a common application security flaw that results
from insecure construction of database queries with user-
supplied data. When queries are built directly with user data
inlined or concatenated directly with the query text, instead of
using type-safe bind parameters, malicious input may be able
to change the structure of the query to bypass or change
application logic. SQL injection flaws are extremely serious. A
single flaw anywhere in your application may allow an attacker
to read, modify or delete your entire database.
What is SQL Injection?
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Apex does not use SQL, but its own database query language,
SOQL. SOQL is much simpler and more limited in functionality
than SQL. With SOQL injection, you can add additional conditions
to the already existing query but cannot build a new query
altogether. Therefore, the risks are much lower for SOQL
injection than for SQL injection, but the attacks are nearly
identical to traditional SQL injection.
Use binding ”:” or escapeSingleQuotes to fix.
SOQL Injection
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Sensitive Information
Sensitive Information in Debug
Issue Description
Revealing information in debug statements can help reveal potential
attack vectors to an attacker. Debug statements can be invaluable
for diagnosing issues in the functionality of an application, but they
should not publicly disclose sensitive or overly detailed information
(this includes PII, passwords, keys, and stack traces as error
messages, among other things).
Remove all debug logs
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
CSRF
Do not perform DML operations on page load
CSRF is an attack which forces an end user to execute unwanted
actions on a web application in which he/she is currently
authenticated. With a little help of social engineering (like sending a
link via email/chat), an attacker may force the users of a web
application to execute actions of the attacker's choosing. A
successful CSRF exploit can compromise end user data and
perform state changing actions on this data without the user’s
knowledge.
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
Review Time
6 - 9 weeks
First review took 8 weeks for me.
Submission for additional packages took 1-3 weeks.
In exceptional circumstances, priority can be given to a particular
review, but please remember that this really means exceptional
and still requires a security reviewer to become available, which
could be multiple days (our reviews are thorough!). Reach out to
your Partner Account Manager if you need assistance.
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
1. Successful Checkmarx scan does not guarantee Successful pass of Security
Review submission
2. It doesn't report all possible security vulnerabilities that might be found by
manual review of Salesforce Security Review team.
3. Security Review Team will reject the security review if any security vulnerabilities
were found by Checkmarx which are not fixed or mentioned as false positives
4. It is required for Security Review submission, as well as Chimera or Burp or ZAP
for external endpoints if such are used.
Checkmarx scanner
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SF Code Analyzer is very promoted by Salesforce,
however:
SF Code Analyzer scanner just runs PMD.
SF Code Analyzer results are NOT Accepted with
Submission for Security Review
SF Code Analyzer
Questions?
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
References
 https://partners.salesforce.com/pdx/s/pcnews/appexchange-security-review-fee-updates-MC4W7STFOTRNCO5C52G27DQK5J7Y
 https://developer.salesforce.com/blogs/2023/04/prepare-your-app-to-pass-the-appexchange-security-review
 https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/appexchange_publish.htm
 https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_dev2gp_publish_appexchange.htm
 https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/review_and_certification.htm
 https://trailhead.salesforce.com/en/content/learn/v/modules/secure-serverside-development/mitigate-crosssite-request-forgery
 https://trailhead.salesforce.com/en/content/learn/v/modules/secure-serverside-development/mitigate-soql-injection
 https://quip.com/pfqeA8kRTraY

More Related Content

What's hot

Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
Salesforce Admins
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentation
Nithesh N
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
Mohith Shrivastava
 
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Paris Salesforce Developer Group
 
The Role of the Salesforce Administrator
The Role of the Salesforce Administrator The Role of the Salesforce Administrator
The Role of the Salesforce Administrator
Ebsta Limited
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
Shivanath Devinarayanan
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and Tricks
Ryan Flood
 
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Edureka!
 
Ivan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform OverviewIvan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform Overview
LogeekNightUkraine
 
Introduction to Lightning Web Component
Introduction to Lightning Web Component Introduction to Lightning Web Component
Introduction to Lightning Web Component
SmritiSharan1
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
Salesforce Developers
 
Developer group introduction & Salesforce overview
Developer group introduction & Salesforce overviewDeveloper group introduction & Salesforce overview
Developer group introduction & Salesforce overview
Sujesh Ramachandran
 
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
Edureka!
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
Mark Adcock
 
Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)
Salesforce - Sweden, Denmark, Norway
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Introduction to Salesforce Connected Apps
Introduction to Salesforce Connected AppsIntroduction to Salesforce Connected Apps
Introduction to Salesforce Connected Apps
Cloud Analogy
 
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
Salesforce Deutschland
 
Salesforce Communities
Salesforce CommunitiesSalesforce Communities
Salesforce Communities
Sunil kumar
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Salesforce Partners
 

What's hot (20)

Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentation
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
 
The Role of the Salesforce Administrator
The Role of the Salesforce Administrator The Role of the Salesforce Administrator
The Role of the Salesforce Administrator
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and Tricks
 
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
 
Ivan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform OverviewIvan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform Overview
 
Introduction to Lightning Web Component
Introduction to Lightning Web Component Introduction to Lightning Web Component
Introduction to Lightning Web Component
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Developer group introduction & Salesforce overview
Developer group introduction & Salesforce overviewDeveloper group introduction & Salesforce overview
Developer group introduction & Salesforce overview
 
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Introduction to Salesforce Connected Apps
Introduction to Salesforce Connected AppsIntroduction to Salesforce Connected Apps
Introduction to Salesforce Connected Apps
 
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
Marketing Cloud: Salesforce Marketing Cloud: die Customer Journey fängt hier ...
 
Salesforce Communities
Salesforce CommunitiesSalesforce Communities
Salesforce Communities
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
 

Similar to PUBLISHING YOUR PACKAGE TO APPEXCHANGE IN 2023

WG-APTPresentation
WG-APTPresentationWG-APTPresentation
WG-APTPresentation
Serhat Cakmakoglu
 
Building and Distributing a Salesforce App
Building and Distributing a Salesforce AppBuilding and Distributing a Salesforce App
Building and Distributing a Salesforce App
Ross Belmont
 
Surveon Channel Marketing Program Introduction
Surveon Channel Marketing Program IntroductionSurveon Channel Marketing Program Introduction
Surveon Channel Marketing Program Introduction
Surveon Technology Inc.
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's ChecklistWi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
July Systems
 
Salesforce DX Update for ISVs (October 2017)
Salesforce DX Update for ISVs (October 2017)Salesforce DX Update for ISVs (October 2017)
Salesforce DX Update for ISVs (October 2017)
Vivek Chawla
 
BCC: offer for providers of SAP complementary solutions
BCC: offer for providers of SAP complementary solutionsBCC: offer for providers of SAP complementary solutions
BCC: offer for providers of SAP complementary solutions
BCC_Group
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
Acquia
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchange
Right IT Services
 
APP Academy: Distribute Your App Through Automation (October 13, 2014)
APP Academy: Distribute Your App Through Automation (October 13, 2014)APP Academy: Distribute Your App Through Automation (October 13, 2014)
APP Academy: Distribute Your App Through Automation (October 13, 2014)
Salesforce Partners
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
Adam Sandman
 
Application Security Management with ThreadFix
Application Security Management with ThreadFixApplication Security Management with ThreadFix
Application Security Management with ThreadFix
Virtual Forge
 
Simplify your code with Salesforce DX and module development
Simplify your code with Salesforce DX and module developmentSimplify your code with Salesforce DX and module development
Simplify your code with Salesforce DX and module development
Salesforce Developers
 
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Salesforce Partners
 
Softengi - Inspired Software Engineering
Softengi - Inspired Software EngineeringSoftengi - Inspired Software Engineering
Softengi - Inspired Software Engineering
Softengi
 
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Andrey Falko
 
WaveOC Portfolio
WaveOC PortfolioWaveOC Portfolio
WaveOC Portfolio
WaveOC Pte. Ltd.
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Amazon Web Services
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Salesforce Admins
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024
ThousandEyes
 

Similar to PUBLISHING YOUR PACKAGE TO APPEXCHANGE IN 2023 (20)

WG-APTPresentation
WG-APTPresentationWG-APTPresentation
WG-APTPresentation
 
Building and Distributing a Salesforce App
Building and Distributing a Salesforce AppBuilding and Distributing a Salesforce App
Building and Distributing a Salesforce App
 
Surveon Channel Marketing Program Introduction
Surveon Channel Marketing Program IntroductionSurveon Channel Marketing Program Introduction
Surveon Channel Marketing Program Introduction
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's ChecklistWi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
Wi-Fi Analytics Deployment at Multiple Locations - A CIO's Checklist
 
Salesforce DX Update for ISVs (October 2017)
Salesforce DX Update for ISVs (October 2017)Salesforce DX Update for ISVs (October 2017)
Salesforce DX Update for ISVs (October 2017)
 
BCC: offer for providers of SAP complementary solutions
BCC: offer for providers of SAP complementary solutionsBCC: offer for providers of SAP complementary solutions
BCC: offer for providers of SAP complementary solutions
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchange
 
APP Academy: Distribute Your App Through Automation (October 13, 2014)
APP Academy: Distribute Your App Through Automation (October 13, 2014)APP Academy: Distribute Your App Through Automation (October 13, 2014)
APP Academy: Distribute Your App Through Automation (October 13, 2014)
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
 
Application Security Management with ThreadFix
Application Security Management with ThreadFixApplication Security Management with ThreadFix
Application Security Management with ThreadFix
 
Simplify your code with Salesforce DX and module development
Simplify your code with Salesforce DX and module developmentSimplify your code with Salesforce DX and module development
Simplify your code with Salesforce DX and module development
 
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Make Your App Lightning Ready with Winter '17 (December 8, 2016)
Make Your App Lightning Ready with Winter '17 (December 8, 2016)
 
Softengi - Inspired Software Engineering
Softengi - Inspired Software EngineeringSoftengi - Inspired Software Engineering
Softengi - Inspired Software Engineering
 
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
 
WaveOC Portfolio
WaveOC PortfolioWaveOC Portfolio
WaveOC Portfolio
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024
 

More from Bohdan Dovhań

Second-generation managed packages
Second-generation managed packagesSecond-generation managed packages
Second-generation managed packages
Bohdan Dovhań
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
Bohdan Dovhań
 
SFDX - Spring 2019 Update
SFDX - Spring 2019 UpdateSFDX - Spring 2019 Update
SFDX - Spring 2019 Update
Bohdan Dovhań
 
Custom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeCustom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex Code
Bohdan Dovhań
 
Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)
Bohdan Dovhań
 
SFDX Presentation
SFDX PresentationSFDX Presentation
SFDX Presentation
Bohdan Dovhań
 
Sdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniquesSdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniques
Bohdan Dovhań
 
SFDC REST API
SFDC REST APISFDC REST API
SFDC REST API
Bohdan Dovhań
 
Being A Salesforce Jedi
Being A Salesforce JediBeing A Salesforce Jedi
Being A Salesforce Jedi
Bohdan Dovhań
 
Salesforce REST API
Salesforce  REST API Salesforce  REST API
Salesforce REST API
Bohdan Dovhań
 
Salesforce certifications process
Salesforce certifications processSalesforce certifications process
Salesforce certifications process
Bohdan Dovhań
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
Bohdan Dovhań
 
Introduction about development, programs, saas and salesforce
Introduction about development, programs, saas and salesforceIntroduction about development, programs, saas and salesforce
Introduction about development, programs, saas and salesforce
Bohdan Dovhań
 
ExtJS Sencha Touch
ExtJS Sencha TouchExtJS Sencha Touch
ExtJS Sencha Touch
Bohdan Dovhań
 

More from Bohdan Dovhań (14)

Second-generation managed packages
Second-generation managed packagesSecond-generation managed packages
Second-generation managed packages
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
 
SFDX - Spring 2019 Update
SFDX - Spring 2019 UpdateSFDX - Spring 2019 Update
SFDX - Spring 2019 Update
 
Custom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeCustom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex Code
 
Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)
 
SFDX Presentation
SFDX PresentationSFDX Presentation
SFDX Presentation
 
Sdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniquesSdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniques
 
SFDC REST API
SFDC REST APISFDC REST API
SFDC REST API
 
Being A Salesforce Jedi
Being A Salesforce JediBeing A Salesforce Jedi
Being A Salesforce Jedi
 
Salesforce REST API
Salesforce  REST API Salesforce  REST API
Salesforce REST API
 
Salesforce certifications process
Salesforce certifications processSalesforce certifications process
Salesforce certifications process
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
 
Introduction about development, programs, saas and salesforce
Introduction about development, programs, saas and salesforceIntroduction about development, programs, saas and salesforce
Introduction about development, programs, saas and salesforce
 
ExtJS Sencha Touch
ExtJS Sencha TouchExtJS Sencha Touch
ExtJS Sencha Touch
 

Recently uploaded

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

PUBLISHING YOUR PACKAGE TO APPEXCHANGE IN 2023

  • 1. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE PUBLISH YOUR PACKAGE TO APPEXCHANGE IN 2023
  • 2. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Introduction What is AppExchange? New changes applicable since March 2023? Why should I publish on AppExchange? How do I publish package to AppExchange? How do I prepare for Security Review? Questions Agenda
  • 3. Speaker intro Bohdan Dovhań Associate Salesforce Architect at SoftServe Inc 3 Listings Published on AppExchange #50th on Salesforce Stack Exchange 17x Salesforce Certified Specialist 12 years of Development experience 10 years of Salesforce Development experience
  • 4. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Salesforce Marketplace where packages can be found for installation or published by ISV (Independent Software Vendors) Package is bundled container of code and metadata which can be published on AppExchange or shared directly to subscribers AppExchange
  • 5. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Since March 16, 2023: 1. The $2,550 initial review fee was eliminated. 2. The $150 annual fee was eliminated. 3. The security review fee is $999 per attempt for paid apps. 4. They claim there will be no fees for Security Reviews for free solutions while they work to redefine the policy. March 2023 Change
  • 6. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE 1. Salesforce didn’t accept any new submissions between March 1 and March 15, 2023 to ensure a smooth transition to the new fee structure. 2. Technically now all apps (both Free and Paid) require Security Review fee payment. To reduce it for a free app from 999$ to 1$ open a case to receive a waiver voucher March 2023 Change
  • 7. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE UI Change
  • 8. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Why should you publish your package on AppExchange? - Extended visibility of the product to potential customers - Increased trust for the label “Security Review Passed” - Option to create patch versions - Option to push upgrades to customers - Option to use LMA, FMA, Support Console Why?
  • 9. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE How? 1. Sign partnership agreement with Salesforce 2. Create a listing on Partner Community 3. Create and develop a package 4. Connect your Packaging Org or Dev Hub to Partner Community 5. Submit for Security Review and pass it 6. Update the listing and publish it
  • 10. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Select Listing Type Choose one from three options: - Packaged Solution - API - Consultant
  • 11. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Select Package Solution Type Choose one from two options: - SF Platform Package - B2C Commerce Cartridge
  • 12. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Select a Salesforce Platform Package Type Choose one from four options: - App - Bolt Solution - Flow Solution - Lightning Component
  • 13. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Choose one from two languages: - English - Japanese Choose Japanese?
  • 14. Give it a title SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 15. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Fill in other details Provide Brief Description Select Required Salesforce Products (e.g. Sales Cloud) Select Compatible Salesforce Products (can be blank) Select Supported Salesforce Editions Select Supported Features (LEX, SF Mobile, Person Accounts, Multiple Currencies, SF Shield, Lightning App Builder) Select Supported Industries
  • 16. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 17. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 18. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 19. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Select Target User Persona Select Supported Languages Select Business Needs Select Equality, Philantrophy badges Fill in additional requirements Fill in a business contact information Continue no Ukrainian in the list but there is enemy’s language My Packages are mostly Admin&Dev Tools
  • 20. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 21. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 22. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 23. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Select one of four pricing options 1. Free 2. Paid 3. Paid Add-On Required 4. Freemium Select Pricing
  • 24. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 25. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Before publishing listing, Salesforce must check that it complies with partner brand guidelines and partner program policies by: 1. Checking information in the Basics and Price Your Solution steps. 2. Approval process takes about 30 days. 3. It is possible to continue updating listing while it is not approved yet Submit for Approval
  • 26. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 27. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 28. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 29. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Add SEO Title Add Tagline Add Full Description Add Details
  • 30. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 31. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Add Highlights Add Terms and Conditions Add Details
  • 32. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 33. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Upload Small Logo Upload Large Logo Include Visuals
  • 34. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 35. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Upload Large Logo Decide if you allow marketing use Include Visuals
  • 36. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 37. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Add Screenshots Add Videos Include Visuals
  • 38. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 39. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Add Demo Video Add up to 15 Customer Resources Include Visuals
  • 40. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 41. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Link Solution Select developed package – the solution If it is not present, go to Technologies tab, open Org subtab to connect either DevHub or Packaging Org for the package
  • 42. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 43. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 44. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Connect Org To select a package for review, connect an org first To connect 1GMP, you need to connect Packaging Org To connect 2GMP, you need to connect Dev Hub
  • 45. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE `
  • 46. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 47. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 48. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 49. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 50. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Choose Installation Method By default, use AppExchange Link Solution
  • 51. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 52. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Trials & Marketing Setup Trial Template to offer free trials for paid app
  • 53. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 54. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 55. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Setup Lead Capturing for the following events: 1. Lead watches a demo video 2. Lead takes a test drive 3. Lead signs up for a free trial 4. Lead installs the package solution Setup Lead Capture
  • 56. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 57. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE When you click Done, you can see overall listing status Check Listing Status
  • 58. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 59. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 60. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Formal Steps - Fill In Contact Information - Fill In Technical Details - Upload Documents (most important) - Provide information for Test Environments - Review the Summary - Pay for Security Review Security Review
  • 61. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 62. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 63. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 64. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 65. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 66. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 67. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 68. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Use Environment Hub to create a Test/Demo org for Security Review using Trial Template 0TT3t000004cHv2 Install released package version into created org same as submitted for review. Create Guest Admin user with appropriate Profile which has Skip Validation in the name If needed, configure it for use, for example, assign correct permission set to the Guest Admin user. Log in as Guest Admin user and confirm that this user has correct access to the packaged application Security Review Test Org
  • 69. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 70. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 71. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 72. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 73. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 74. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 75. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Technical Steps - Run CheckMarx Scanner for Salesforce Package - On Partner Portal - On Customer Portal - Run PMD or any other Static Analyzer Tool - Address every findings from Checkmarx and PMD - Prepare Solution Architecture And Usage document - Prepare False Positives document - if you can’t workaround some findings from Checkmarx - if you failed Security Review Security Review
  • 76. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Common Findings - Sharing Violation – use WITH SHARING - Enforce CRUD/FLS: Security.stripInaccessible, WITH USER_MODE - CSRF – do not perform DML during page load - SOQL Injection – use escapeSingleQuotes in dynamic queries - Sensitive Information in Debug – remove all debug logs - Check external JS library vulnerabilities - Remove inline CSS and fixed, absolute, or float in CSS or add them as exceptions to False Positives document Security Review
  • 77. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Sharing Violation Use “with sharing”, “inherited sharing” class declarations Avoid empty sharing class declarations Document and justify “without sharing” class declarations. Verify CRUD and FLS on SOQL and DML Consider using “WITH USER_MODE” and Security.stripInaccessible methods Consider using Custom Permissions for enabling functionality Consider using Permission Set to combine necessary permissions together
  • 78. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE CSRF Do not perform DML operations on page load CSRF is an attack which forces an end user to execute unwanted actions on a web application in which he/she is currently authenticated. With a little help of social engineering (like sending a link via email/chat), an attacker may force the users of a web application to execute actions of the attacker's choosing. A successful CSRF exploit can compromise end user data and perform state changing actions on this data without the user’s knowledge.
  • 79. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE SQL injection is a common application security flaw that results from insecure construction of database queries with user- supplied data. When queries are built directly with user data inlined or concatenated directly with the query text, instead of using type-safe bind parameters, malicious input may be able to change the structure of the query to bypass or change application logic. SQL injection flaws are extremely serious. A single flaw anywhere in your application may allow an attacker to read, modify or delete your entire database. What is SQL Injection?
  • 80. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Apex does not use SQL, but its own database query language, SOQL. SOQL is much simpler and more limited in functionality than SQL. With SOQL injection, you can add additional conditions to the already existing query but cannot build a new query altogether. Therefore, the risks are much lower for SOQL injection than for SQL injection, but the attacks are nearly identical to traditional SQL injection. Use binding ”:” or escapeSingleQuotes to fix. SOQL Injection
  • 81. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Sensitive Information Sensitive Information in Debug Issue Description Revealing information in debug statements can help reveal potential attack vectors to an attacker. Debug statements can be invaluable for diagnosing issues in the functionality of an application, but they should not publicly disclose sensitive or overly detailed information (this includes PII, passwords, keys, and stack traces as error messages, among other things). Remove all debug logs
  • 82. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE CSRF Do not perform DML operations on page load CSRF is an attack which forces an end user to execute unwanted actions on a web application in which he/she is currently authenticated. With a little help of social engineering (like sending a link via email/chat), an attacker may force the users of a web application to execute actions of the attacker's choosing. A successful CSRF exploit can compromise end user data and perform state changing actions on this data without the user’s knowledge.
  • 83. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE Review Time 6 - 9 weeks First review took 8 weeks for me. Submission for additional packages took 1-3 weeks. In exceptional circumstances, priority can be given to a particular review, but please remember that this really means exceptional and still requires a security reviewer to become available, which could be multiple days (our reviews are thorough!). Reach out to your Partner Account Manager if you need assistance.
  • 84. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE 1. Successful Checkmarx scan does not guarantee Successful pass of Security Review submission 2. It doesn't report all possible security vulnerabilities that might be found by manual review of Salesforce Security Review team. 3. Security Review Team will reject the security review if any security vulnerabilities were found by Checkmarx which are not fixed or mentioned as false positives 4. It is required for Security Review submission, as well as Chimera or Burp or ZAP for external endpoints if such are used. Checkmarx scanner
  • 85. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE SF Code Analyzer is very promoted by Salesforce, however: SF Code Analyzer scanner just runs PMD. SF Code Analyzer results are NOT Accepted with Submission for Security Review SF Code Analyzer
  • 87. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE
  • 88. SALESFORCE ARCHITECT GROUP, L'VIV, UKRAINE References  https://partners.salesforce.com/pdx/s/pcnews/appexchange-security-review-fee-updates-MC4W7STFOTRNCO5C52G27DQK5J7Y  https://developer.salesforce.com/blogs/2023/04/prepare-your-app-to-pass-the-appexchange-security-review  https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/appexchange_publish.htm  https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_dev2gp_publish_appexchange.htm  https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/review_and_certification.htm  https://trailhead.salesforce.com/en/content/learn/v/modules/secure-serverside-development/mitigate-crosssite-request-forgery  https://trailhead.salesforce.com/en/content/learn/v/modules/secure-serverside-development/mitigate-soql-injection  https://quip.com/pfqeA8kRTraY