User.read.all: Allows the app to read the full set of profile properties, reports, and managers of other users in your organization, on behalf of the signed-in user.
Directory.read.all: Allows the app to read data in your organization’s directory, such as users, groups and apps, without a signed-in user.
Mail.ReadBasic: Allows the app to read email in user mailboxes. Allows the app to read email in the signed-in user’s mailbox, except for body, bodyPreview, uniqueBody, attachments, extensions, and any extended properties. Does not include permissions to search messages.