Ask Search:
Chris GordonChris Gordon 

I am attempting to build a stage duration report to show the length of time opportunities average in each stage.  Anyone have any tips?

Best Answer chosen by Miglena ( 
Steve MolisSteve Molis
1. Create an Opportunity History Report.
2. Then select Summary or matrix as the Report format.
3. Group the Report by Opportunity History: From Stage
4. Select the Stage Duration field and Summarize(Average)
5. Get me a beer (because you owe me) 
User-added image
Sajee MathewSajee Mathew 
Installed and configured Maildrop 2.9.3 on OSX 10.10.1 and when I click on "Add Mail" or "Add Case", I get this error:
Error executing apple script
script /Applications/ scripts/Add Email to
error {
    NSAppleScriptErrorAppName = "Microsoft Outlook";
    NSAppleScriptErrorBriefMessage = "recipient of item 1 of {incoming message id 380319} doesn\U2019t understand the \U201ccount\U201d message.";
    NSAppleScriptErrorMessage = "Microsoft Outlook got an error: recipient of item 1 of {incoming message id 380319} doesn\U2019t understand the \U201ccount\U201d message.";
    NSAppleScriptErrorNumber = -1708;
    NSAppleScriptErrorRange = NSRange: {1692, 32};

How can I fix this?

Best Answer chosen by Sajee Mathew
Simon FellSimon Fell
You could try this beta release, it has improved interop with Outlook. However as you can probably tell from the release history dates, I haven't worked on it lately, if this is a critial thing for you, you should probably start looking at alternative solutions.
Raj KumarRaj Kumar 
Hi All I am Beginner,

Best Answer chosen by Raj Kumar
Akshay GhorpadeAkshay Ghorpade
Hi Raj, 

1. Can you verify that you are using the same trailhead playground? 

User-added image
2. To view a list of deleted custom objects:
     Go to the object management settings for custom objects.
     Click Deleted Objects at the bottom of the list.
Best Answer chosen by Dez Cesarini
Rajesh Varma MudunuriRajesh Varma Mudunuri
Go to 
  • Setup 
  •  Customize
  •  Tab Names and Labels
  • Rename Tab Names and Labels
  • Click Edit on the left side of Contacts
  • Hit Next
  • Spot the EmailOptOut field
  • you will see something like below screenshot
User-added image

The place where i made it unsubscribe in place of email optout. This is where you can edit the column 
Once you are done with saving go to any contact record to see your new field label once you add and save it to layout.
Only confusion is you wont see the change in the contact setup.
Melissa HubbardMelissa Hubbard 
Custom App (Salesforce CPQ) randomly disappeared from Application drop-down menu on the right for one of my users. No changes were made to the system to justify this. Anyone else ever had this happen? Checked and it shows "visible in app launcher".
Best Answer chosen by Melissa Hubbard
Aleksandra RadovanovicAleksandra Radovanovic
Yeah, that does sound weird. Is the user in Classic or Lightning? Does user have licence assigned to it as well?
Henry SchneiderHenry Schneider 

Hi there, 

I want to create a formula for a field that will enter Text based on other custom checkbox fields. The field will be called "Profile" and the logic would be as follows: 

Basic - True or False
Premium - True or False

Profile - if Basic is True add "Basic", if Premium is True add "Premium", if both are blank, leave blank

The two fields are exclusive, but if for some reason both checkboxes are checked, then Profile should contain both "Basic" and "Premium". 

Any ideas on the best way to write this formula?



Best Answer chosen by Henry Schneider
Lalit AroraLalit Arora
+ Deepak. But if you need it in simpler form you can refer below as well
IF(AND (Basic__c,Premium__c),    "Basic, Premium",
IF(Basic__c,    "Basic",
IF(Premium__c,  "Premium",

Let me know if see any errors while saving!!
Steve BirgeSteve Birge 
Our SFDC Org is at its WFR limits. I am looking for WFRs that I can convert over to Process Builder. I thought this first Use Case might be an easy one but I am not sure there is a way to get it to work. 
  1. I want to send an email to the Opportunity owner when the Opportunity Stage has not changed in more than 7 days.
  2. It is possible that the record may be updated multiple times, but the Stage value is not changed.
  3. I want it to execute only for a subset of all Opportunity Stage values
  4. I want it to execute only for a subset of Record Types
I know how to set up the Criteria logic for the Opportunity Stages and Record Types. What I am not sure is how will I identify when the Stage is older than 7 days. 

I can not set the PB to start the process only when the record is created, beccause the Opportunity may enter a paticular stage well after the created date. This means I need it to start the process when the record is created or editied. I selected the when a record is created or edited option for the Object.

Then for my Criteria, I selected "Yes" for the Do you want to execute the actions only when specified changes are made to the record? option. When I do this I now have a Scheduled Actions option. What I don't know is what date field to pick. Obviously not Created Date. I suspect that Last Modified Date would change whenever the record gets updated, and thus this would not be the right date to use for Opportunity Stage.

I read a post abvout using Last Activity Date, but again, the Opportunity could be changed multiple times without the Opportunity Stage being updated. I guess I could create a custom date field to track the last date the Opportunity Stage was changed, but I am not sure that is the right approach. 

Best Answer chosen by Steve Birge
Mayank SrivastavaMayank Srivastava
Hey Steve,

This is how you will configure your Process (I used Post to Chatter and you can use an Email Alert instead):

User-added image

Configure a Different Node for each Stage (and corresponding record type) and then set the following Time trigger (for each stage node):

User-added image

7 days from now => The time when stage is set to a certain value and then 7 days after that
And then the associated Email Alert.  What this does is that it schedules an action immediately when the Opportunity stage is set to be any specified value (as per the node). Now if the stage changes within the 7 days, the action is taken out of the scheduled actions queue otherwise the Email alert fires after 7 days. 

Simple, straightforward and does the job. 
Noah JurcinNoah Jurcin 
I am simply trying to add 2 year values together:
RIGHT(Fiscal_Year__c, 4) + LEFT(text( Product2.Asset_Eligibility__r.Lifecycle__c), 1)

Everything to the left of the + is a year (ie 2011) and everything to the right is a number of years (ie 4). I simply want to add these two values together, but currently the above formula evaluates to: 20114
As in, 2011 and 4. I want it to read 2015. I thought, okay, that's because the left side is TEXT format. But when I use the VALUE function to turn it into a number, like this:
VALUE(RIGHT(Fiscal_Year__c, 4)) the check syntax button complains "Error: Incorrect parameter type for operator '+'. Expected Number, Data, DateTime, received Text"  Which is strange because the + symbol isn't even passed to the VALUE function. Any idea what I'm doing wrong or how to fix this?
Best Answer chosen by Noah Jurcin
Pattie HeintzPattie Heintz

Ah your formula needs to return a text, lol.  This will work for you:
Text(Value(RIGHT(Fiscal_Year__c, 4)) + Value(LEFT(text( Product2.Asset_Eligibility__r.Lifecycle__c), 1)))

Best Answer chosen by Nathan Lemon
Gabriel DiazGabriel Diaz
If you edit the user record you will see Manager under the Approver Settings. That's where you will have to fill that in and then upon save it will show under Team.
Claire AlvisClaire Alvis 
My organization is adopting Salesforce DX.  I'm currently having an issue with Forecast Categories.

We have changed the values and API names for two of the default categories ("Omitted" and "Closed") to something else.  Running the CLI commands retrieve/convert on our production organization does not generate any metadata files reflecting this change.

I tried to sfdx force:source:push without making any other changes, and got the error that an Opportunity recordType metadata file mentions a category that does not exist (of course, because the scratch org has only the default categories).

I tried creating a scratch org and then using the GUI to change the Forecast Categories (directly in the Opportunity picklist setup) to match the ones in our production org, and push works fine. But I got this error the next time I tried to sfdx force:source:pull
ERROR:  Unable to retrieve file for id 47 of type StandardValueSet due to an internal error:631187314-123505 (-173667445).
A status check confirms DX sees the change:
Remote Add      ForecastCategoryName                            StandardValueSet
Remote Add      Forecasting                                     Settings
I try to make the equivalent metadata files so that pull would be a no-op, and get:
force-app/main/default/standardValueSets/ForecastCategoryName.standardValueSet-meta.xml  This standard value set isn't supported in Metadata API.
I then tried to add lines in my .forceignore file to have pull totally ignore the settings and standardValueSet:
but status still sees those remote changes, and pull still errors in the same way.  This seems like a bug, since it is contrary to how the documentation says .forceignore works.  I would expect status/pull to totally ignore those two files, and definitely not try to pull them to my repo.

I need one of the following:
1) a workaround to allow me to *push* those Opportunity recordType metadata files that mention the non-default categories in a way that doesn't break *pull*, or anything else
2) a way to get *pull* to work after changing the default categories in a scratch org the way I describe above

And since I'm kind of a newbie to Trailblazer, if the .forceignore behavior is really a bug, I would appreciate a pointer to how to submit it as such.
Best Answer chosen by Claire Alvis
Jeffrey StantonJeffrey Stanton
I'm happy to report that we have found a solution, though I'm not sure how supported it will be long-term:  Simply add this to your .forceignore: