Skip to content

App registration in Microsoft Entra ID

Several invoiceR functions access your Microsoft 365 tenant: the mailbox for email import, sending email, SharePoint as storage, user import and sign-in with Microsoft. This requires an app registration in Microsoft Entra ID (formerly Azure Active Directory). Your IT creates it; the app only receives the rights the respective function needs.

You can use one app for all functions or a separate one per function. For security reasons, separate apps with minimal rights are preferable.

  1. Sign in at https://portal.azure.com and open Microsoft Entra ID.
  2. Note the Tenant ID on the overview.
  3. Click App registrations > New registration.
  4. Enter a meaningful Name, for example invoiceR mailbox or invoiceR SharePoint, and click Register.
  5. Note the Application (client) ID.
  6. Under Certificates & secrets, click New client secret, enter a description and choose the validity period.
  7. Note the Value of the new secret immediately. It is only shown once.
Overview of an app registration in Microsoft Entra ID with the Application (client) ID and Directory (tenant) ID highlighted

Under API permissions > Add a permission, add the rights the respective function needs. Many rights then require admin consent: a user with administrator rights in the tenant clicks Grant admin consent for ….

FunctionPermissionsGuide
Email import from Microsoft 365Office 365 Exchange Online: IMAP.AccessAsApp (application)Mailbox connection
Sending email through Microsoft GraphMicrosoft Graph: Mail.Send (application)Sending and importing email
SharePoint as storageSharePoint: Sites.Selected (application), plus a certificateDocument storage and archive
User importMicrosoft Graph: User.Read.All, Group.Read.All, GroupMember.Read.All (application)Users and sign-in
Sign-in with MicrosoftRedirect URI, ID tokens, claim emailUsers and sign-in

For the setup in invoiceR, enio needs:

  • Tenant ID
  • Application (client) ID
  • Client Secret (value), if the function needs one
  • depending on the function, further details such as the object ID of a group or the certificate