Skip to main content

Microsoft Sharepoint + Planner integration in Journeys

How to authenticate SharePoint and Planner with Journeys

Written by Anna Sóley Karlsdóttir
Updated over a week ago

This article shows you how to integrate Microsoft SharePoint and Planner with Journeys ⚙️

What you can do with this integration:

  • Send files to SharePoint and store them in specific folders

  • Retrieve files from SharePoint

  • Automatically add, modify, or delete rows in Excel files or SharePoint lists

  • Create tasks in Microsoft Planner

⚠️ Note: Steps 1-4 require Microsoft admin access. If that's not you, share this article with your IT team before getting started.


Step 1: Create a Microsoft Entra application

Microsoft Entra is Microsoft's portal for managing how apps access your organization's data.

  1. Log in to the Microsoft Entra admin center: https://entra.microsoft.com

  2. In the search bar, search for App registrations and open it

  3. Click New registration

  4. Fill in the following fields and then click Register:

    • Name: anything you like, e.g. 50skills Journeys

    • Supported account types: Single tenant only

    • Redirect URI: Leave empty

  5. You have now created a new Microsoft Entra application. Copy the Client ID and Tenant ID, as shown in the screenshot below, and store in a safe place. We will need them later.


Step 2: Create a client secret

  1. In the left sidebar, go to Certificates & secrets and click New client secret.

  2. Fill in:

    • Description: e.g. 50skills Journeys - Sharepoint - YYYY-MM-DD

    • Expires: your preferred expiration date

  3. Click Add.

  4. ⚠️ Important: Copy the client secret value immediately (you won't see it again) and paste somewhere safe. We will use it later.

Tip: Set a calendar reminder to create a new client secret before this one expires, otherwise the integration will stop working.


Step 3: Add Microsoft Graph API permissions

  1. In the left sidebar, go to API permissions and click Add a permission:

  2. Select Microsoft Graph

  3. Select Application permissions

  4. Now search for and add the permission(s) that match your use case:

    For SharePoint

    • Sites.Selected (recommended): Limits Journeys' access to only the specific SharePoint sites granted in step 4.

    • Sites.ReadWrite.All: Gives Journeys access to all SharePoint sites in your organization. Use this if you don't need to restrict access to specific sites.

    For Planner

    • Tasks.ReadWrite.All

  5. Once you've selected the relevant permission, click Add permissions.

  6. Next, click Grant admin consent.

  7. Make sure the permission's status column says Granted before you move onto the next step.


Step 4: Grant access to your SharePoint site

⏩ If you chose Sites.ReadWrite.All or Tasks.ReadWrite.All in step 3, skip this step and go directly to step 5.

If you chose Sites.Selected, a SharePoint admin must grant access to your specific SharePoint site. To do so, you'll need the client ID and application name from step 1.

Option A: Using PnP PowerShell

Run the following two commands:

  1. Connect to your SharePoint site:

    Connect-PnPOnline -Url https://{{tenant_name}}.sharepoint.com/sites/{{site_name}} -Interactive

    Replace {{tenant_name}} and {{site_name}} with your own values.

  2. Grant access:

    Grant-PnPAzureADAppSitePermission `
    -AppId {{application_client_id}} `
    -DisplayName "{{application_name}}" `
    -Permissions Write

    Replace {{application_client_id}} and {{application_name}} with your own values.

Option B: Using the Microsoft Graph API

Send a POST request to:

https://graph.microsoft.com/v1.0/sites/{{site_id}}/permissions

With this JSON body:

{
"roles": ["write"],
"grantedToIdentities": [
{
"application": {
"id": "{{application_client_id}}",
"displayName": "{{application_name}}"
}
}
]
}

Replace {{site_id}}, {{application_client_id}}, and {{application_name}} with your own values.


Step 5: Set up authentication in Journeys

You're now ready to complete the setup in Journeys. You'll need the client ID, tenant ID, and client secret from earlier steps 🚀

  1. In Journeys' integration builder, open your SharePoint integration. If you don't see it yet, ask the 50skills team to copy the template to your account.

  2. Go to Authentication and fill in the following fields:

    • Authentication type: Bearer token

    • 💡 Note: Replace {{tenant_id}} with your tenant ID from step 1

    • Client ID: your client ID from step 1

    • Client secret: your client secret from step 2

    • Request type: Multipart

    • Client ID key: client_id

    • Client secret key: client_secret

    • Extra data:

      {
      "grant_type": "client_credentials",
      "scope": "https://graph.microsoft.com/.default"
      }
    • Prefix: Bearer

    • Token location: access_token

    • Extra headers: Leave blank

  3. Click Test and if everything is set up correctly, you should see a successful response.

And you are done! Authentication is set 🎉


What's next?

Your integration template is pre-built with all the endpoints you need. To use them, you'll need to locate the IDs for the specific SharePoint sites, drives, folders, files, or tables you want to work with.

Watch this step-by-step guide for instructions on how to find these IDs:

If you run into any issues, reach out to the 50skills team, we're happy to help! 🚀

Did this answer your question?