Ask Search:
Shannon LandrethShannon Landreth 
I have just started with Trailhead and am working on the first true "hands on project" and am unable to get it to install, does anyone know how to fix this or what I need to do to move forward?

This app can't be installed.
There are problems that prevent this package from being installed.
Custom Field Definitions(00N1I000003P2ch) Duplicate RelationshipNameThe relationship name "Favorites__r" is already used by custom field Favorite__c.Property__c. Please rename existing relationship name.
Best Answer chosen by Shannon Landreth
Amit SinghAmit Singh
Hi Shannon,

Are you trying to install in a New Playground ORG? If no I will suggest you create a new trail playground org and then install the application there?

Piyush SinghalPiyush Singhal 
Since I begun developing in salesforce I have been curious why is it called product2 and why not product.I messed up a project today where I had to create a object with the same name but had to add 2 in the end.

Did someone of the salesforce gods messed up product object initially and it had to named product2.

Best Answer chosen by Piyush Singhal
Steve MolisSteve Molis
I think there was an old version of Products that has been sunsetted, that's why they're called Products2
Brian FergusonBrian Ferguson 
I'm trying to finish the beginner Admin trailhead module but I can't download an app from the app exchange into my Trailhead Playground instead it attempt to download into my PRD ORG.  I sign into Trailhead with my PRD creditals.

Does anyone know what I am doing wrong here?  Please help!
Best Answer chosen by Brian Ferguson
Harisha KHarisha K
When you try downloading the app from APp exchange, it asks for the login credentials. Try giving a Developer ORg credentials, where the Developer Org is connected to Trailhead.

Else, you can have option to loginto Trailhead Playground, when you try completing the challenge.User-added image

You can loginto One of the Playground. In the user record. Reset the password, so that you can use those credentials to login to app exchnage.

Hope this Helps!
Omar TéllezOmar Téllez 
Hi Guys,

Could you help me to confirm if recycle bin is not available in LE, until now I have retrieved some files from Classic, and I can not find how to enable this tool in LE.

Thanks for your comments!!
Best Answer chosen by Omar Téllez
Fatima MasudFatima Masud
Hi Omar,
As of today, there is no way for users to access the Recycling Bin in Lightning.  To retrieve records that have been deleted, you first need to switch back to Salesforce Classic, access the bin, restore your record(s), then switch back to Lightning again. 
Please vote for this idea here:

Gregory HowardGregory Howard 
I am trying to uninstall Nonprofit Success Pack.  I have all the dependencies eliminated except one.  Here's the error I'm getting. 

Custom Object Level This custom object is referenced by a relationship field. Account.Account.Level_del
Custom Object Level This custom object is referenced by a relationship field. Account.Account.Previous_Level

I cannot delete Level nor the relationship fields.  Any ideas?
Best Answer chosen by Ed ( 
John CrimmingsJohn Crimmings
Ran into the same problem with those specific fields.  I had deleted them, but they were sticking around and holding up the uninstall.  Switched to classic, and in the deleted fields, found them and erased both.  That cleared up the problem.  
Casey ShawCasey Shaw 
When i create a brand new visualforce page in the salesforce admin and attempt to view the page, i get the following error:
"This site can’t be reached.’s server IP address could not be found."

When i click on the security link next to the visualforce page, all profiles are enabled.

Here is the VF code:
<apex:page sidebar="false" showheader="false">

Best Answer chosen by Casey Shaw
Casey ShawCasey Shaw
I discovered the root cause of the issue. An installed package (with a blank namespaceprefix) was uninstalled and caused the blank namespaceprefix URL ( on visualforce pages to no longer work.
I resolved this by installing a new package with no namespaceprefix and a dummy file. This seemed to re-enable the blank namespaceprefix.
Julian LeisersonJulian Leiserson 
We have a few installed app packages in our full-text sandbox environment in various stages of testing. We're moving toward final stages of deployment for one of them, which will require a refresh of the full-test sandbox to match our current production org.

1) Is there a good way to transfer the other installed apps/settings to another sandbox? (Or do I need to re-install onto the other sandbox and recreate the fields/formulas/settings on their own?)
2) Would you recommend using a partial copy sandbox or a developer/developer pro sandbox? I haven't used developer/developer pro sandboxes, but I don't know if they will contain enough features/object data to do the proper testing on these apps. [Apps include roll-up helper, data quality dashboards, conga]

Best Answer chosen by Julian Leiserson
Pruthvi RajPruthvi Raj
@Julian: AppExchange apps should be installed into production directly from the AppExchange.  They cannot be promoted from sandbox using deployment tools.  This is true for both managed and unmanaged packages.
However, after you install an app in production you can migrate your customizations and extensions from sandbox.  The IDE doesn't let you download or edit managed components, so the Migration Tool for Ant is your best bet when migrating these components.
Saurabh DuaSaurabh Dua 
What is the process of listing an app on appExchange. 
Best Answer chosen by Saurabh Dua
Amber WilliamsAmber Williams
Hi Saurabh, Ive never heard of this type of agreement. I am considering venturing partnership as both ISV and Consultant with Salesforce. I recently acquired an LLC filing status. A legal partnership is considered an "incorporation" - that which requires organizations to have a limited partnership, not for profit, or limited liability company, S-corp. I've been where you are and know there are steps involved to get to the eligibility stage. Even if the app is free, i believe there is a protocol in place to ensure proprietary rights and other business laws are adhered to.
Go to this link: .. Scroll to the bottom and select the Join Now! button. Fill out the form and wait for a SF Partner rep to get back so you can schedule time with them to discuss your goals. 
Anu MoorthyAnu Moorthy 
Can you let me know how to hide a section in visualforce page onchange of picklist value?
Best Answer chosen by Anu Moorthy
Abhishek SivasubramanianAbhishek Sivasubramanian
The rendered attribute in a page block section needs to get a true or false. If you have a straight forward condition, you could write something like as shown below.
<apex:pageBlockSection title="Test" rendered="{!Account.industry == 'IT'}">

If you have a standard controller with an extensions class OR a custom controller in your visualforce page, you could write your section code in visualforce page as 
<apex:pageBlockSection title="Test" rendered="{!CheckMe}">

You method in the controller would look like
public Boolean CheckMe {
  get {
   Boolean chk = true;
   chk = chk && (acc.industry != 'IT');
   return chk;

Hope this helps.
Please do mark this as the answer if this solves your issue.
Hormoz HekmatHormoz Hekmat 
I wrote a class 
public with sharing class SlackOpportunityPush {
    // To publish Opportunity values in form of a String//
    public static final String slackURL = '';
    public class Oppty {
        @InvocableVariable(label='Opportunity Name')
        public String opptyName;
        public String Owner;
        @InvocableVariable(label='Opportunity Amount')
        public String Amount;
        @InvocableVariable(label='Account Development Owner')
        public String AccountDE;
        public String Account;
    @InvocableMethod(label='Push to Slack')
    public static void postToSlack(List<Oppty> oppties) { 
        Oppty o = oppties[0]; // If bulk, only post first to avoid overloading Slack channel
        Map<String,Object> msg = new Map<String,Object>();
        msg.put('text',  '\n Opportunity Won !  Congrats to Opportunity Owner !  :-  ' +o.Owner +   '\n and Account Development Owner:-  '+ o.AccountDE + '\n who just closed Opportunity:-  ' +o.opptyName +   '\n associated to Account:- ' + o.Account +'\n for Opportunity Amount:- $ ' + o.Amount);
        System.debug('Called msg.put');
        System.debug('OpportunityOwner '+o.Owner);
        System.debug('OpportunityAccount '+o.Account);
        System.debug('OpportunityAmount '+o.Amount);
        String body = JSON.serialize(msg);    
        System.enqueueJob(new QueueableSlackCall(slackURL,'POST',body));
    public class QueueableSlackCall implements System.Queueable, Database.AllowsCallouts {
        public final String url;
        public final String method;
        public final String body;
        public QueueableSlackCall(String url,String method,String body) {
            this.url = url;
            this.method = method;
            this.body = body;
        public void execute(System.QueueableContext ctx) {
            HttpRequest req = new HttpRequest();
            Http http = new Http();
            HttpResponse res = http.send(req);

Test class 
private class SlackOpportunityTest {

static testMethod void testpostToSlack() {
SlackOpportunityPush.Oppty opt = new SlackOpportunityPush.Oppty();
opt.opptyName = 'Unit Test Opt';
opt.Owner = 'Unit Test Owner';

List<SlackOpportunityPush.oppty> lis = new List<SlackOpportunityPush.oppty>();

System.assertEquals(lis, lis); 

Now while Deploying I get this error :

​Methods defined as TestMethod do not support Web service callouts 
Stack Trace: null
Best Answer chosen by Hormoz Hekmat
Puneet MehtaPuneet Mehta
Hi Hormoz,

You will have to use callout mock intefaces to test classes making http calllout.

Further reading: