Join Panaya and a select few Salesforce Techincal Architects as we discuss best practices for maintaining and building healthy Salesforce architecture for your business.
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Maintaining a-healthy-architecture-in-sf
1. Best Practices for
Healthy Salesforce
Architecture
__
Meighan Brodkey
Technical Architect, MVP
__
Guillermo Pedroni
Technical Solution Architect, MVP
Brought to you by Panaya
3. Whether you need to backup your data, or migrate data, you should be thinking about your short, mid and long term strategy.
How far back is critical?
(Years: 1,2,3+)
How much data is really needed?
(Cycle, Amounts, Keys)
Know Your History
What About Historical Data?
__ __ __
Compliance or contractual concerns?
(Support, Warranty, Sales, Finance, or Legal?)
4. Sandboxes: More Than Just a Playground
__
You can use them to:
› Do regular Metadata Backups
• Monthly, Quarterly, Yearly
› Park Deployments that have stalled
out.
• Use in combination with outbound
packages pre-built and ready to go with
install instructions.
5. Integration Users are Your Friend
Access:
Full Admin: Ideal for systems that should
manipulate data/metadata, 100% Trust.
Limited-Almost Unlimited Access: Ideal
when you need more fine tuning &
control.
Benefits:
By designating a dedicated API User/s
you will know what system last logged in
or modified the system. Remember, they
do cost money.
Security:
Consider how you manage these
accounts password either manually
resetting them, or using a password
manager integration for schedule
resetting.
3rd Party Integrations Need Access to Ya Know? But, they shouldn’t mimic your access.
Backdoors: Consider Global Validation Rule Bypass Methods for API Users.
6. Time to Integrate?
What’s on the Menu?__
ETL tools Custom Integration/API
› Plug and Play / Partial Configuration
solutions.
› Move data from one system to another that
may include transforming the data.
› May incur some fee to use depending on
your use case and complexity.
› May require a developer for more complex
integration.
› May hit your 24hr API limit depending on
solutions.
› Highly scalable but has long term
dependencies and long term complexity.
› Require a developer for more complex
integration.
› Unlimited integration possibilities depending
on dev skill set.
› May hit your 24hr API limit depending on
solutions.
Outbound Messages
› An Admin can configure it.
› Move data from one system to another
that may include transforming the data.
› No Dev required, usually.
7. Don’t Over Use
Declarative Automation to Scale
Workflow Process Builder Flow Triggers
› Great: Quick, easy automation, &
simple audit management. Runs on
Edit/Create. Generally bulkified.
Doesn’t Break.
› Can’t: Execute complex tasks such
as updating parent objects through
standard lookup.
› Limit: 50-300 per object, 2,000 per
org. At high usage can slow down
the org. Single decision making
outcomes.
› Great: Complex automation &
updates any related record. Runs
on Edit, Create, & Invokable.
› Can’t: Auditing isn’t easy, config is
slow, isn’t totally bulkified, ref
unrelated records.
› Limit: Numbers must be defaulted
or get a NULL point error. Can’t do
outbound messaging. 50 per
object, 2,000 active per process
type. Runs in user context.
Breakable.
› Great: More Complex automation
& branching. Collecting data &
presenting on demand UI.
› Can’t: Auditing isn’t easy, config is
slow, isn’t totally bulkified.
› Limit: Similar to Process Builder. 50
Versions. 2,000 active per type.
Runs in user context. Breakable.
› Great: Highly Complex Automation,
Can be fully bulkified. Update
unrelated records. Just about
anything complex.
› Can’t: Auditing isn’t easy,
configuration has to be thought
through.
› Limit: Can’t run unlimited resources.
Breakable.
8. APEX Code
Sky is the Limit?
You may not be a dev, so you need to know how to avoid limits & when to
phone for help to enlist your trusty Dev to expand your ideas. Remember
you have processing limits to consider but apex is the most powerful
automation choice at hand.
› 100 SOQL queries for Sync. 200 for Async.
› Pickups 50,000 records per query
Apex Runs in 2 Basic Ways:
Synchronous: Run in real time.
› Trigger (before/after & insert, update, delete/undelete)
› Controllers (Extension/Custom)
› Great for immediate/instant automation.
Asynchronous: Runs at the very end, when resources are available, after
user clicks save.
› Batch Jobs
› Future Calls
› Great for things you don’t need right now, but at some point in the near
future.
Future Proof: Some Code with Custom Metadata Types which allows your
criteria to be configurable vs 100% coded.
10. Properly plan
your security
› Get the right licenses
› End of Quarter deals don’t mean it’s the right option or that something is more
features/less, check the matrix
› Only show users what have to see and increase access from there
› Get your OWD right, it’s the foundation of your security pyramid
› Know when you are over your head, work with a consultant to setup
your org/Senior Admin with experience in numerous orgs or a
Technical Architect
› There is absolutely nothing wrong with saying I don’t know, or I need some help or I need
advice
› Build to scale, don’t build for just this project, make sure your design
is sustainable and will grow with you
11. Secure
Your Org
› Enable Multi-Factor Authentication (MFA)
› Run Security Health Check or OrgMonitor with Every
Release
› Set Login IP Ranges
› Educate Users About Phishing
› Decrease Session Timeout Thresholds
› Password Policies
› Enable
› Consider Salesforce Shield
› My Domain
12. Don't overdo
your design
› Keep it simple. No reason to go overboard if you can keep it
simple
› Know MVP vs future
› Build your backlog, but know what you need now
› Design review board, get input from others on your solution
› Make sure you get proper requirements, good requirements are
key to your build
› Simple stories, do more stories if you have to vs too much on one
› Grooming your tickets for the sprint ensures your stories match
up with the changes for the project as you’ve built
› We work agile, things change - you can’t go off old information
13. Know
your data
› Clean and map your data before you insert/update
› Don’t import dirty data
› If you have numerous files make sure you properly merge/map
› Know which columns line up
› Know which fields are required and which are not
› Know which tool works for your data situation
› Build an off switch in your validation rules and automation -
triggers, process builders and workflows with a hierarchy
custom setting
14. Perm Sets
and Streamline
Profiles
› Keep your Profiles to a minimum
› Use perm sets for one off access
› Use permissions sets to build increased access
› Don’t forget about Permission Set Groups
› Does your Sales team get a usual set of permission sets?
› Put them together in a Perm Set Group and make assignment easy
› Don’t give more access than you need
15. Know Your
Options
› Out of the box vs Buy vs Build declarative vs Build code
› Know the limits, Pros and Cons going withOOTB vs Apps
vs Declarative vs Code
› Just because you can build a flow for it, doesn’t mean you should, Eg when it’s
functionality that exists OOTB.
› Use what you have in front of you
› Know what your requirements are
› Don't over engineer
› Fun and new doesn’t make it the best choice
› Also, If you make it too complex right away, it won’t grow with you
17. We reduce the time, cost and risk of
any ERP or SFDC change by up to 50%
Next Generation Impact Analysis
Test Management
Accelerated ALM
Founded 2006
Leader in Next Gen Impact Analytics
& Testing for
7 Global offices
About
Panaya
Bringing Agility
to Enterprise
Applications
Endorsed by:
Trusted by over 3,000 enterprise customers
19. 0 2000 4000 6000 8000 10000
Field
Report
Apex Class
Email Template
Workflow Rule
Workflow Field Update
Visual Force Page
Workflow Email Alert
Validation Rule
Dashboard
Page Layout
Apex Trigger
Visual Force Component
Assignment Rule Entry
The Salesforce Ripple Effect
40,000 Components
100,000 Inter Dependencies
I’m just tweaking
a single field…
20. How can I enhance
processes and components
without breaking my org?
How can I quickly identify
the scope of each change?
How can I reveal and
minimize risk before going to
production?
Discover Salesforce Agility
So many windows open,
so little fresh air.
22. *All product names, logos, and brands are property of their respective owners. All company, product and service names used in this presentations are for identification purposes only. Use of
these names, logos, and brands does not imply endorsement or sponsorship. Panaya disclaims proprietary interest in the marks and names of others.
Best app for your heavily customized org!
I think this is the most powerful, most useful app we've purchased.
Just let Panaya know what you are about to change and you'll get all impacted components right away.
Play your changes and tests in a click of a button.
This app saves us hours of investigation efforts before each change and most important- prevent bugs and failures of the system.
Essential for Truly Knowing Your Instance
For orgs, young or old, it is easy to never get the full picture when analyzing, testing, and developing components within your environment.
Panaya provides a way to know what you should know and presents it in a way that allows for easy action. This tool has been essential for my
organizations evaluation of unused fields and mor recently, our migration to Lightning. Not only is it a valuable resource, its customer service has
been a key factor in our understanding and use. Panaya has a team of responsive representatives that are eager to hear feedback and develop
Panaya to meet your needs. I would highly recommend this tool.
A great tool for dynamic Salesforce environments
We were customers of Panaya's earlier impact analysis tool, ChangeGuru, and bemoaned its demise but were elated when the company released
ForeSight, which you can consider ChangeGuru on steroids. we have a highly customized, dynamic Salesforce org and it's often difficult anticipating the
repercussions of even the smallest change. ForeSight lets us identify all of the Salesforce elements that impact or are impacted by changes to other
elements. it's far better than relying on the scream test. ForeSight is also very fast because it reaches frequently updated snapshots of your org's
structure rather than using brute force on every search. We also appreciate that Panaya is constantly adding new features and refining ForeSight and
tech support has been very knowledgeable and responsive. Highly recommended.
Editor's Notes
Cycle: Daily, Weekly, Monthly, Quarterly
Amounts: All or Some Objects? Are there Unnecessary Objects?
Keys: Do you need the keys to access other or legacy databases?
Marketing users for 3rd party tools.
Data Enrichment, ERP or other 3rd Party system integrations that may manipulate Salesforce.
When to use? Path of lease Resistance is key!
Flow: Create a record, Update related records, Launch a Quick Action, Post to Chatter, Launch a Flow, Call Apex code, Submit for approval, Invoke another process