Explore Courses Blog Tutorials Interview Questions
0 votes
in Salesforce by (11.9k points)

I'm trying to write an app on the SalesForce platform that can pull a list of contacts from a report and send them to a web service (say to send them an email or SMS)

The only way I can seem to find to do this is to add the report results to a newly created campaign, and then access that campaign. This seems like the long way around.

Every post I read online says you can't access the reports through Apex, however most or all of these posts were written before Version 20 of the API was released last month, which introduced a new report object. I can now programmatically access info about a report (Such as the date last run etc) but I still can't seem to find a way to access the result data contained in that report.

Does anyone know if there's a way to do that?

1 Answer

0 votes
by (32.1k points)
edited by

The one and only way to do this at the moment is indeed to scrape the CSV document. I would guess that Conga etc are using exactly this method.

We've been doing this for a while now, and it works. The only warnings are:

  • Salesforce username / password / security token needs to be shared with the app connecting. If the password is modified the token also needs to change and must be re-entered.

  • You have to know the host of the account, which can be tricky to get correct. For example, while most European accounts would use to access CSV, our account uses na7 (North America 7) even though we're located in Ireland. I'm currently sending the page host to the app and parsing it to calculate the correct subdomain to use, but I think there has to be a better way to do this.

Salesforce really needs to sort this out by supplying an API call which allows custom report results to be exported on the fly and allowing us to use OAuth to connect to it. But of course, this is unlikely to happen.

Want to get certified in Salesforce? Here is the Salesforce Online Training you are looking for.

Browse Categories