Microsoft Outlook Integration

What is everyone’s experience with Outlook integration for NetSuite. I am reading on this forum that it can only sync one account? Has anyone done a successful multi user Outlook sync to NetSuite using Celigo. Any additional documentation or resources would be appreciated.

Hi @Daniel_P :waving_hand:

May I ask if you’re using the Microsoft Outlook - NetSuite integration from CloudExtend, or if you’re using a custom flow in integrator.io?

@mengdionisio We’re wanting to use custom flows in integrator.io and I’m just looking for people with past experiences who may have done this. Best practice approaches, etc.

I just played around with this and was able to create an Outlook connection that can read all user inboxes. Here’s what worked for me:

  1. Register an app in Azure

    • Go to App registrationsNew registration.
    • Leave Supported account types as Accounts in this organizational directory only (celigo.com only - Single tenant).
    • Under Authentication, enable ID tokens (used for implicit and hybrid flows).
    • Create a client secret under Certificates & secrets and copy the value.
  2. Add permissions

    • Use Application permissions (not delegated).

    • Add the scopes you need. In my case:

      • Mail.Read, Mail.ReadWrite, Mail.Send, MailboxSettings.Read, MailboxSettings.ReadWrite
      • (You can just choose the read-only ones if that’s all you need.)
    • Click Grant admin consent.

    • (Optional: I added myself as an app owner, but that may not be necessary.)

  3. Grab your app details

    • From the Overview page, copy:

      • The Application (client) ID
      • The OAuth 2.0 token endpoint (v2) URL (from Endpoints)
  4. Set up the Celigo connection

    • Create a new Outlook connection.

    • Switch to HTTP view.

    • Change the scope to https://graph.microsoft.com/.default.

    • Create a new iClient, switch it to HTTP view, and configure:

      • Grant type = Client credentials
      • Client ID and secret = values you copied earlier
      • Access token URL = the token endpoint you copied
    • Save and close.

  5. Test the connection

    • In the “How to test this connection?” section:

      • Use GET and /users/<user principal name>/messages (replace with an actual UPN/email).
    • You should now be able to export mail for a user.

From here, you can build flows to:

  • Pull a list of users (requires adding the appropriate scope in the app).
  • Loop through and fetch mail for each user.
  • Import messages into NetSuite or any other system.

Let me know how it goes!