Ask Search:
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: https://success.salesforce.com/ideaView?id=08730000000DsAuAAK

Regards.
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 (salesforce.com) 
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. xxxxx--c.visualforce.com’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">
</apex:page>

Help?
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 (mydomain--c.visualforce.com) 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]

Thanks!
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 Force.com IDE doesn't let you download or edit managed components, so the Force.com 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: https://partners.salesforce.com/s/appvendors .. 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 = 'https://hooks.slack.com/services/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';
    
    public class Oppty {
        @InvocableVariable(label='Opportunity Name')
        public String opptyName;
        
        @InvocableVariable(label='Owner')
        public String Owner;
        
        @InvocableVariable(label='Opportunity Amount')
        public String Amount;
        
        @InvocableVariable(label='Account Development Owner')
        public String AccountDE;
        
        @InvocableVariable(label='Account')
        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);
        
        
        msg.put('mrkdwn',true);
        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();
            req.setEndpoint(url);
            req.setMethod(method);
            req.setBody(body);
            Http http = new Http();
            HttpResponse res = http.send(req);
        }
 
    }
    
}

Test class 
@isTest
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>();
lis.add(opt);
SlackOpportunityPush.postToSlack(lis);

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:

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restful_http_testing_httpcalloutmock.htm
 
Lloyd SilverLloyd Silver 
How can I check API usage and what applications are making the calls?
Best Answer chosen by Miglena (Salesforce.com) 
Joshua PyleJoshua Pyle

@Kirill, put this URL in for your instance.  It's how I found the API report.

https://na1.salesforce.com//00O?rt=104&retURL=%2F00O&c=UN&c=FULL_NAME&c=EM&c=CID&c=TS&c=CC&duel0=FULL_NAME%2CUN%2CEM&scope=organization&details=yes

Replace the na1 with your instance.  Below is the same url without the na1.salesforce.com

/00O?rt=104&retURL=%2F00O&c=UN&c=FULL_NAME&c=EM&c=CID&c=TS&c=CC&duel0=FULL_NAME%2CUN%2CEM&scope=organization&details=yes

Corinna RossknechtCorinna Rossknecht 
Hey there,

How can I start tracking calls and show the calling history in each Leads/Contacts/Opportunitites, when using Skype Click-to-Call? Any help appreciated!
Best Answer chosen by Corinna Rossknecht
Pruthvi RajPruthvi Raj
@Corinna : I might not be of great help here . Can you try contacting the customer service of the app , as they are the right persons for solving the issue ?
Casey EyeCasey Eye 
I am wondering if there is a way to get Salesforce to import the client e-mails into Sharefile, and possibly create an account into Sharefile?
Best Answer chosen by Casey Eye