I'm trying to create one report (to be as a mailing list) that combines Opportunities with Accounts and Contacts but I can't find a way. I need all the Contacts for Accounts which have Opportunities on them where the Opp stage is Trial.

Any ideas.


  • My intial thought will be to explore Joint Reports for this Commented Dec 5, 2012 at 10:00
  • Thank you all.Is seems there is no easy way. I ended up puling the data out to an excel file, I did some manipulation (joining two reports) to find the desired contacts. I then created a Campaign and imported my contacts excel as campaign members.From here it is easy to create Mass email per campaign...
    – Dedo
    Commented Dec 5, 2012 at 13:23

4 Answers 4


Create a Roll-Up Summary field on Account that gives you the COUNT of Opportunities where Stage = 'Trial'.

Then your report will be on Accounts and Contacts, where Account.Count_of_Trial_Opps__c > 0.


You can do it with SOQL, not so easy with reports. Reports aren't great when you want to go into 2 different "branches" (from Account to Contacts + from Account to Opportunities).

Joined report might be OK but will show you a lot of "false positives" (only the opportunity-related side will respect your filter by Stage). This might change in later releases, after all in the beginning joined reports didn't support charts or exporting to excel...

Can you consider fixing your data so for example once Opp is in Trial state all contacts from Account are linked to it via OpportunityContactRole? This will probably require some triggers in order to maintain...

If that's also not a valid solution - you might be able to pull it off with some kind of analytic snapshots?

SOQL could be as easy as

SELECT FirstName, LastName, Email, Account.Name
FROM Contact
WHERE AccountId IN (SELECT AccountId FROM Opportunity WHERE StageName = 'Trial')

You could do this with Custom Report Types (CRT). Create a CRT based on Contacts that have at least one Opportunity. When you build a report on that type you can than filter on the Opportunity Stage and the Contact's Account.

  • It's worth noting that this will ONLY display contacts that are tied to Opportunities via Contact Roles. If you want to show all contacts for an Account, custom report types won't help.
    – smohyee
    Commented Jul 15, 2015 at 20:09

You can create a custom report type with a primary object Contacts with Opportunities, and filter by Opp stage.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .