ELITEA Toolkit Guide: SharePoint Integration

Introduction

Purpose of the Guide

This guide is your definitive resource for integrating and effectively utilizing the SharePoint toolkit within ELITEA. It provides a detailed, step-by-step walkthrough, from registering your SharePoint application in Azure Active Directory to configuring the toolkit in ELITEA and seamlessly incorporating it into your Agents. By following this guide, you will unlock the power of automated document management, streamlined collaboration workflows, and enhanced information access, all directly within the ELITEA platform. This integration empowers you to leverage AI-driven automation to optimize your SharePoint-driven workflows, enhance team productivity, and improve information management within your organization.

Brief Overview of Microsoft SharePoint

Microsoft SharePoint is a powerful web-based collaboration and document management platform that enables organizations to create websites, document libraries, lists, and other collaborative resources. It is a cornerstone of modern digital workplaces, facilitating teamwork, information sharing, and workflow automation. Key features of SharePoint include:

Integrating SharePoint with ELITEA brings these powerful collaboration and document management capabilities directly into your AI-driven workflows. Your ELITEA Agents can then intelligently interact with your SharePoint sites, lists, and libraries to automate document-related tasks, enhance collaboration processes, and improve information accessibility through AI-powered automation.

Toolkit's Account Setup and Configuration in SharePoint

Registering an App in Azure Active Directory (Azure AD)

To enable secure integration between ELITEA and SharePoint, you need to register an application in Azure Active Directory (Azure AD). This app registration will represent ELITEA and allow it to authenticate and access SharePoint resources.

  1. Access Azure Portal: Open your web browser and navigate to the Azure Portal and log in using an account with sufficient permissions to register applications in Azure AD.
  2. Navigate to App Registrations: In the Azure portal, use the search bar at the top to search for "App registrations" and select "App registrations" from the search results under "Services".
  3. Create New Registration: On the "App registrations" page, click on "+ New registration".

    SharePoint-App_Registration_New_Registration

  4. Configure App Registration Details: On the "Register an application" page, provide the following information:

    • Name: Enter a meaningful and descriptive name for your application registration. For example, use "ELITEA SharePoint Integration" or "ELITEA Agent Access to SharePoint". This name will help you identify the purpose of this app registration later.
    • Supported account types: Select the appropriate account type based on your organization's requirements. In most cases, "Accounts in this organizational directory only ([Your Organization Name] only - Single tenant)" is the recommended option for internal organizational use. If you need to access SharePoint resources across multiple organizations, you may need to select a different option.
    • Redirect URI (Optional): You do not need to configure a Redirect URI for this integration as ELITEA will be authenticating as an application without user interaction. Leave the "Redirect URI" field blank.
  5. Register Application: After providing the application details, click the "Register" button at the bottom of the page to create the app registration.

    SharePoint-Register_an_Application

  6. Note Application Credentials: Once the app registration is created successfully, you will be redirected to the application's "Overview" page. Note down the following credentials from this page, as you will need them to configure the SharePoint toolkit in ELITEA:

    • Application (client) ID: This is the unique identifier for your registered application. Copy and store this value securely.
    • Directory (tenant) ID: This is the unique identifier for your Azure AD tenant (your organization's Azure AD instance). Copy and store this value securely.

    SharePoint-App_Registration_Overview

Configure API Permissions for the Registered App

To allow ELITEA to access SharePoint resources, you need to configure API permissions for your registered application. This involves granting the application the necessary permissions to interact with Microsoft Graph and SharePoint APIs.

  1. Navigate to API Permissions: In your registered app within the Azure portal, navigate to the left-hand menu and click on "API permissions".

    SharePoint-API_Permissions_tab

  2. Add Permissions: On the "API permissions" page, click on "+ Add a permission".

    SharePoint-Add_a_Permission

  3. Select API Type - Microsoft Graph: In the "Request API permissions" panel, select the "Microsoft Graph" API tile. Microsoft Graph provides access to various Microsoft 365 services, including SharePoint.

  4. Select Permission Type - Application permissions: Choose "Application permissions" as the permission type. Application permissions are used when the application acts without a signed-in user, which is the case for ELITEA's SharePoint integration.
  5. Add Microsoft Graph Scopes: In the "Application permissions" section, use the search bar to search for and select the following scopes. These scopes grant ELITEA Agents the necessary permissions to access SharePoint resources through Microsoft Graph:

    • Sites.Read.All: Allows the application to read site collections and list all sites, lists, and libraries in all site collections without a signed-in user.
    • Sites.ReadWrite.All: Allows the application to read and write site collections and list all sites, lists, and libraries in all site collections without a signed-in user. Note: Grant this scope only if your ELITEA Agents need to modify SharePoint content (e.g., create or update files). If you only need read-only access, only grant Sites.Read.All.

    SharePoint-API_Permissions_Microsoft_Graph

  6. Add Permissions - SharePoint API: Click "+ Add a permission" again to add SharePoint-specific permissions. This time, in the "Request API permissions" panel, select the "SharePoint" API tile (you may need to scroll down to find it).

  7. Select Permission Type - Application permissions: Choose "Application permissions" as the permission type again.
  8. Add SharePoint Scopes: In the "Application permissions" section for SharePoint API, use the search bar to search for and select the following scopes. These scopes grant ELITEA Agents direct SharePoint-specific access:

    • Sites.FullControl.All: Allows the application to have full control of all site collections without a signed-in user. Important Security Note: Grant this scope with caution and only if absolutely necessary, as it provides extensive permissions. For most use cases, more granular scopes through Microsoft Graph are sufficient and recommended for better security.

    SharePoint-Microsoft_APIs

    SharePoint-Request_API_Permissions

  9. Add Permissions: After selecting the necessary scopes for both Microsoft Graph and SharePoint APIs, click the "Add permissions" button at the bottom of the "Request API permissions" panel to add the selected permissions to your application registration.

  10. Grant Admin Consent: On the "API permissions" page, you will see the newly added permissions listed. Click the "Grant admin consent for [Your Organization Name]" button and then click "Yes" to grant admin consent for these permissions. Admin consent is required for application permissions to take effect.

SharePoint-Grant_Admin_Consent

Configure the Client Secret

To securely authenticate your ELITEA Agents with SharePoint, you need to create a Client Secret for your registered application. The Client Secret acts as a password for your application when authenticating with Azure AD.

  1. Navigate to Certificates & secrets: In your registered app within the Azure portal, navigate to the left-hand menu and click on "Certificates & secrets".

    SharePoint-Certificates_Secrets_page

  2. Create New Client Secret: On the "Certificates & secrets" page, click on "Client secrets" tab (if not already selected) and then click "+ New client secret".

    SharePoint-New_Client_Secret

  3. Configure Client Secret Details: In the "Add a client secret" panel:

    • Description: Enter a descriptive name for your client secret. For example, use "ELITEA Integration Client Secret" or "SharePoint Access Secret." This description will help you identify the purpose of this client secret later.
    • Expiration: Choose an appropriate expiration period for the client secret from the "Expires" dropdown. For security best practices, it is recommended to set an expiration period and rotate client secrets regularly.
  4. Add Client Secret: Click the "Add" button at the bottom of the "Add a client secret" panel to create the client secret.
  5. Securely Copy and Store Client Secret Value: Immediately copy the generated Client Secret Value that is displayed in the "Client secrets" page. This is the only time you will see the full Client Secret Value. Important Security Note: Store the Client Secret Value securely in a password manager or, preferably, ELITEA's built-in Secrets Management feature. Do not store the Client Secret Value in plain text or in insecure locations. You will need this Client Secret Value to configure the SharePoint toolkit in ELITEA. Note: Take note of the "Value" column, not the "Secret ID" column. The "Value" is the actual client secret, while "Secret ID" is just an identifier for the secret itself.

Granting Access Scope to SharePoint Site (App-Only Access)

To enable ELITEA Agents to access and interact with your SharePoint site and its content, you need to grant specific access permissions to your registered application at the SharePoint site collection level. This is done using the SharePoint App-Only Access via the AppInv.aspx page in the SharePoint Admin Center.

  1. Navigate to SharePoint Site AppInv.aspx Page: Open your web browser and navigate to the following URL, replacing {your-tenant} and {site} with your actual SharePoint tenant name and site name:

    SharePoint-Create_Site

    https://{your-tenant}.sharepoint.com/sites/{site}/_layouts/15/appinv.aspx

    • {your-tenant}: Replace this with your SharePoint tenant name (e.g., epam in epam.sharepoint.com).
    • {site}: Replace this with the URL-encoded name of the specific SharePoint site collection you want to grant access to (e.g., EPAMAlitaDoc for a site named "EPAMAlitaDoc").

    Example URL:

    https://epam.sharepoint.com/sites/EPAMAlitaDoc/_layouts/15/appinv.aspx

  2. Enter Client ID: On the "App permissions request page," in the "App Id" field, enter the Application (client) ID of your registered application that you noted down in Step 1.3. Click "Lookup".

  3. Verify App Information: After clicking "Lookup," SharePoint will retrieve information about your registered application. Verify that the "Title," "App Domain," and "Redirect URL" fields are populated correctly based on your app registration details.
  4. Define Permissions using XML: In the "Permission Request XML" field, define the permissions you want to grant to your application for the SharePoint site collection. Use XML format to specify the permission scopes.

    Example XML Permission Request (Full Control at Site Collection Level):

    xml <AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" /> </AppPermissionRequests>

    Explanation of Example XML:

    • <AppPermissionRequests AllowAppOnlyPolicy="true">: This element indicates that you are requesting app-only access, meaning the application will access SharePoint without a signed-in user context.
    • <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />: This element defines the permission scope and right:
      • Scope="http://sharepoint/content/sitecollection": Specifies that the permission scope is the entire site collection.
      • Right="FullControl": Grants the application Full Control permissions over the site collection. Important Security Note: Grant FullControl only if absolutely necessary. For most use cases, more limited permissions like "Read" or "Write" might be sufficient and are recommended for better security.

    More Granular Permission Scopes (Example - Read Only at Site Collection Level):

    If you only need read-only access, you can use the following XML:

    xml <AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read" /> </AppPermissionRequests>

    Important Security Practice: Grant Least Privilege. Carefully consider the necessary permissions and grant only the minimum required permissions for your ELITEA Agent's intended interactions with SharePoint. Avoid granting "FullControl" or overly broad permissions unless absolutely necessary.

  5. Create and Grant Permissions: After entering the XML permission request, click the "Create" button.

  6. Trust the App: A confirmation page will appear asking if you trust the application. Click "Trust It" to grant the requested permissions to your registered application for the specified SharePoint site collection.

SharePoint-AppInv_Permissions

System Integration with ELITEA

Overview and Usage of SharePoint Integration with ELITEA

The SharePoint toolkit integration in ELITEA provides a powerful bridge between your AI Agents and your Microsoft SharePoint Online environment. This integration empowers your Agents to:

Integration Steps: Configuring the SharePoint Toolkit in ELITEA

To integrate SharePoint with ELITEA and enable your Agents to interact with your SharePoint sites, lists, and libraries, follow these configuration steps within ELITEA:

  1. Navigate to Agents Menu: In ELITEA, go to the Agents menu and either create a new Agent or edit an existing Agent that you want to integrate with SharePoint.
  2. Access Toolkits Section: Within the Agent configuration, scroll down to the "Tools" section.
  3. Add Toolkit: Click the "+" icon under the "TOOLS" section to add a new toolkit.
  4. Select SharePoint Toolkit: From the dropdown list of available toolkits, choose "SharePoint". This will open the "New SharePoint tool" configuration section.
  5. Configure SharePoint Toolkit Settings: Fill in the following configuration fields in the "New SharePoint tool" section:

    • Name: Enter a descriptive Name for your SharePoint toolkit instance. This name will be used to reference the toolkit within your Agent's instructions (e.g., "MySharePointSite", "DocumentLibraryAccess").
    • Description: Provide a brief Description of the toolkit's purpose or the specific SharePoint site it will access (e.g., "Access to Project Marketing SharePoint Site").
    • SharePoint Site URL: Enter the full URL of your SharePoint site collection that you want to access with this toolkit. Ensure you use the correct format, including https:// and the full site URL (e.g., https://your-tenant.sharepoint.com/sites/YourSiteName).
    • Client ID: Paste the Application (client) ID of your registered Azure AD application that you noted down in Step 1.3 (during the "Software-Specific Setup" section of this guide) into the "Client Id" field.
    • Client Secret: Paste the Client Secret Value of your registered Azure AD application that you generated in Step 1.4 (during the "Software-Specific Setup" section of this guide) into the "Client Secret" field. Important Security Note: For enhanced security, consider using the "Secret" option instead and storing your Client Secret securely as a Secret within Secrets feature.

    SharePoint-Toolkit_Configuration

  6. Enable Desired Tools: In the "Tools" section within the SharePoint toolkit configuration, check the boxes next to the specific SharePoint tools you want to enable for your Agent. Select only the tools that your Agent will actually need to use to minimize unnecessary permissions and maintain security. Available tools include:

    • Get All Files
    • Read Document
    • Read List
  7. Complete Setup: Click the arrow icon (located at the top right of the toolkit configuration section) to complete the SharePoint toolkit setup and return to the main Agent configuration menu.

Tool Overview: SharePoint Toolkit Functionalities

Once the SharePoint toolkit is configured and added to your Agent, you can leverage the following tools within your Agent's instructions to interact with your SharePoint sites, lists, and libraries:

Instructions and Prompts for Using the SharePoint Toolkit

To effectively utilize the SharePoint toolkit within your ELITEA Agents, you need to provide clear instructions within the Agent's "Instructions" field, telling the Agent how and when to use these tools.

General Instruction Structure:

When instructing your Agent to use a SharePoint tool, you will typically follow this pattern:

Use the "[tool_name]" tool to [describe the action you want to perform] in SharePoint.
Provide the following parameters:
- Parameter 1: <value or description of value>
- Parameter 2: <value or description of value>
- ...

Example Agent Instructions for SharePoint Toolkit Tools:

Important Considerations for Agent Instructions:

Best Practices and Use Cases for SharePoint Integration

Best Practices for Efficient Integration

Use Cases

The SharePoint toolkit unlocks numerous automation possibilities for document management, collaboration, and information retrieval workflows within ELITEA. Here are some compelling use cases, demonstrating how each tool can be applied, formatted to match the Bitbucket and GitHub guide style:

Troubleshooting and Support

Troubleshooting Common Issues

FAQs

  1. Q: Can I use my regular SharePoint username and password for the ELITEA integration?
    • A: No, it is strongly recommended to use Azure AD App Registration and Client Secrets instead of user credentials for secure integration. App registration provides a more secure and controlled way to grant access to external applications like ELITEA without exposing user accounts.
  2. Q: What permissions should I grant to the Azure AD App Registration for SharePoint integration?
    • A: Grant only the minimum necessary scopes required for your ELITEA Agent's intended interactions with SharePoint. For read-only access, Sites.Read.All scope in Microsoft Graph might be sufficient. If your Agent needs to modify SharePoint content, you might need to grant Sites.ReadWrite.All in Microsoft Graph or more granular SharePoint-specific permissions via AppInv.aspx. Avoid granting "FullControl" or unnecessary permissions.
  3. Q: What is the correct format for the SharePoint Site URL in the toolkit configuration?
    • A: The SharePoint Site URL should be entered in the full format, including https:// and the complete site URL (e.g., https://your-tenant.sharepoint.com/sites/YourSiteName). Ensure there are no typos or missing parts in the URL.
  4. Q: Why is my Agent getting "Permission Denied" errors even though I think I have configured everything correctly?
    • A: Double-check the following:
      • App Registration Permissions: Verify that the API permissions granted to your Azure AD App Registration include the necessary scopes for the SharePoint tools your Agent is trying to use (e.g., Sites.ReadWrite.All for modifying documents).
      • SharePoint Site Collection Permissions: Ensure that you have granted access to your registered App for the specific SharePoint site collection using AppInv.aspx and that the granted permissions are sufficient.
      • Client ID and Client Secret Validity: Double-check that the Client ID and Client Secret are correct, valid, and have not expired or been revoked in Azure AD.

Support and Contact Information

If you encounter any issues, have questions, or require further assistance beyond what is covered in this guide regarding the SharePoint integration or ELITEA Agents in general, please do not hesitate to contact our dedicated ELITEA Support Team. We are here to help you resolve any problems quickly and efficiently and ensure you have a smooth and productive experience with ELITEA.

How to Reach ELITEA Support:

Best Practices for Effective Support Requests:

To help us understand and resolve your issue as quickly as possible, please ensure you provide the following information in your support email:

Before Contacting Support:

We encourage you to first explore the resources available within this guide and the broader ELITEA documentation. You may find answers to common questions or solutions to known issues in the documentation.

To further enhance your understanding and skills in integrating SharePoint with ELITEA, here are some helpful resources: