When you first use Report Sender and click New Schedule, you'll see a warning about authorization, followed by a Salesforce permissions screen asking you to approve access. If you've wondered why that comes up, this article is for you.
This is the warning users see:
And this is the permission request:
Why does Report Sender need all this access?
When you're sending reports, you want the data to look exactly like the user who scheduled the report sees it, right? And you want the code to be able to see any data that's in that report, right? So that's why we need to be able to log in as you and access the APIs.
With technical terms:
When the report sender job runs, it makes API calls to the reporting API to get the report data. To do this, it needs to log in as the user who scheduled the report.
When a user schedules a report for the first time, Report Sender requests their permission via Oauth and stores the resulting token in a private custom setting. This token is used when Report Sender needs to send reports as this user.
How Report Sender uses your Oauth token:



