Optimizely Opal's Microsoft Graph connector tools let you manage your Microsoft 365 calendar and file ecosystem directly within the Opal platform. These tools streamline meeting scheduling, calendar management, and file browsing across OneDrive and SharePoint, including robust capabilities for going through document libraries, retrieving site pages, and organizing drives. The tools integrate with Microsoft 365 to keep your workflow connected and efficient without needing to switch between Opal and the Microsoft 365 admin panel or individual apps like Outlook, Teams, or SharePoint.
Key Capabilities
User and directory management
- User profiles – Access and retrieve user information from Azure Active Directory.
- Directory operations – Browse organizational structure and user relationships.
- Tenant information – Get details about the Microsoft 365 organization.
File and drive operations
- OneDrive access – Navigate and manage files in OneDrive for Business.
- SharePoint integration – Access SharePoint sites and document libraries.
- Drive management – List and access organizational drives.
- File operations – Read, write, and manipulate files across Microsoft cloud storage.
Communication and collaboration
- SharePoint sites – Access collaborative workspaces and content.
Security and compliance
- Azure AD authentication – Secure authentication through Microsoft identity platform.
- Token management – Automatic token refresh and session management.
- Permission scoping – Granular control over API access permissions.
- Audit logging – Comprehensive logging of API operations and access.
Get started
First, an Opal administrator must connect Opal with Microsoft Graph using Optimizely Connect Platform (OCP). Microsoft Graph uses system-level OAuth by default. After installing the connector in OCP and adding the tools to Opal, users and agent builders can optionally log in to Microsoft Sharepoint, OneDrive, and Outlook Calendar to access their personal Microsoft information from within Opal. Administrators only need to install the Microsoft Graph connection in OCP once.
Prerequisites
- Microsoft 365 – Active subscription with appropriate licenses.
- Azure AD – Application registration with Microsoft Graph permissions.
- Network access – Outbound HTTPS access to Microsoft Graph endpoints.
Connect Opal with Microsoft Graph
Install Microsoft 365 Opal Tool in OCP
In the OCP App Directory, complete the following:
- Click the Microsoft 365 Opal Tool connector tool.
- Click Install App.
- Log in to Microsoft.
Enable instance-level Opal OAuth (Optional)
Microsoft Graph uses system-level OAuth by default. If your organization requires instance-level OAuth, complete the following steps:
- Go to the Settings tab.
- Expand the Microsoft 365 Settings.
- Toggle Instance level Opal OAuth on and enter your Microsoft 365 Connection Name.
-
Click Save.
Add to Opal
- Go to the Settings tab.
- Expand the Add to Opal section.
-
Click Add to Opal to register the Microsoft Graph connector tools to the corresponding Opal instance.
After you complete the previous steps, Opal users can then follow the steps in the User-level auth for Microsoft section to login with their personal information if you enabled instance-level Opal OAuth.
User-level auth for Microsoft
After an administrator connects Opal with Microsoft Graph, you can log in from Opal to access your information if they enabled instance-level Opal OAuth. User-level authorization ensures individual Opal users and agent builders can only access data they have permission to access within Microsoft.
To authenticate, complete the following steps in Opal:
- Go to Tools > Connectors.
-
Click Connect for the Microsoft Onedrive & Sharepoint
or Microsoft Outlook Calendar tools.
- Log in to Microsoft.
- Grant the requested permissions.
Microsoft Graph connector tools
After an administrator Installs Microsoft graph in OCP and you log in to Microsoft using User-level auth for Microsoft, you can call the following tools in Opal. Click a tool's name to expand it and learn when to use the tool, required and optional parameters, and example prompts on how to call the tool. If you do not provide a required parameter, Opal prompts you for it.
Microsoft Outlook Calendar
microsoft_graph_create_meeting – Creates a new calendar event or meeting in Microsoft Graph (Outlook).
-
When to use
- Schedule a new meeting with one or more attendees directly from Opal.
- Create an online Teams meeting with a generated join URL.
- Set up a calendar event with a specific location, agenda, and reminder.
- Book a recurring or time-sensitive meeting without leaving your workflow.
- Create a meeting on behalf of another user's calendar.
-
Parameters
-
subject– The title or subject of the meeting. -
start– The meeting start date and time, including timezone. Format:{"dateTime": "2024-12-01T10:00:00", "timeZone": "UTC"} -
end– The meeting end date and time, including timezone. Format:{"dateTime": "2024-12-01T11:00:00", "timeZone": "UTC"} - (Optional)
attendees– A list of attendees with their names and email addresses. Format:[{"emailAddress": {"name": "Jane Doe", "address": "jane@example.com"}, "type": "required"}] - (Optional)
body– The meeting description or agenda. Format:{"contentType": "HTML", "content": "Meeting description here."} - (Optional)
location– The physical or virtual location of the meeting. Format:{"displayName": "Conference Room A"} - (Optional)
isOnlineMeeting– Set totrueto generate a Teams or Skype join link. - (Optional)
onlineMeetingProvider– The online meeting provider:teamsForBusinessorskypeForBusiness. - (Optional)
importance– Priority of the meeting:low,normal, orhigh. - (Optional)
reminderMinutesBeforeStart– Number of minutes before the meeting to send a reminder (for example,15). - (Optional)
categories– Comma-separated tags or categories to organize the meeting (for example,"Q4, Sales"). - (Optional)
isAllDay– Set totrueto create an all-day event. - (Optional)
isReminderOn– Set totrueto enable reminders for this meeting. - (Optional)
showAs– How the time appears in the calendar:free,tentative,busy,oof, orworkingElsewhere. - (Optional)
calendarId– The ID of a specific calendar to create the meeting in. - (Optional)
userId– The ID of another user whose calendar should be used. Defaults to the authenticated user.
-
-
Example prompts
- Schedule a 1-hour Teams meeting called "Q4 Planning Sync" tomorrow at 10am with jane.doe@example.com and mark.smith@example.com.
- Create a meeting called "Campaign Review" on December 5th from 2pm to 3pm in Conference Room B, and set the importance to high.
- Book an online meeting for next Monday at 9am titled "Onboarding Kickoff" and include the agenda: cover product setup, access provisioning, and Q&A.
- Set up a 30-minute meeting called "Design Handoff" on Friday at 11am with a 15-minute reminder and invite the design team at design@example.com.
- Create an all-day calendar event called "Company Offsite" on March 10th and mark it as out of office.
microsoft_graph_delete_meeting – Deletes an existing calendar event or meeting from Microsoft Graph (Outlook).
-
When to use
- Cancel and remove a meeting from a user's calendar.
- Clean up outdated or duplicate calendar events.
- Delete a meeting that was created in error.
- Remove a meeting from a specific calendar or on behalf of another user.
-
Parameters
-
meetingId– The unique identifier of the meeting to delete. - (Optional)
calendarId– The ID of the specific calendar containing the meeting. - (Optional)
userId– The ID of the user whose calendar to delete from. Defaults to the authenticated user.
-
-
Example prompts
- Delete the meeting with ID AAMkAGI2TGuLAAA= from my calendar.
- Cancel the meeting AAMkAGI2TGuLAAA= on behalf of user john.doe@example.com.
- Remove the meeting AAMkAGI2TGuLAAA= from calendar AAMkAGI2TGuLBBB=.
microsoft_graph_list_meetings – Retrieves a list of calendar events or meetings from a user's Microsoft Graph calendar.
-
When to use
- View all upcoming meetings within a specific date range.
- Search for meetings by subject or keyword.
- Retrieve a paginated list of calendar events for review or reporting.
- Check meetings on behalf of another user's calendar.
- Filter and sort meetings to find specific events quickly.
-
Parameters
- (Optional)
startDateTime– Start of the time range to filter meetings (for example,2024-12-01T00:00:00Z). - (Optional)
endDateTime– End of the time range to filter meetings (for example,2024-12-31T23:59:59Z). - (Optional)
top– Maximum number of meetings to return. Defaults to 50, max 999. - (Optional)
skip– Number of meetings to skip for pagination. - (Optional)
filter– Data filter expression for advanced filtering (for example,contains(subject,'team')). - (Optional)
orderBy– Field to sort results by (for example,start/dateTime desc). - (Optional)
select– Comma-separated list of specific fields to return (for example,subject,start,end,organizer). - (Optional)
calendarId– The ID of a specific calendar to list meetings from. - (Optional)
userId– The ID of the user whose calendar to query. Defaults to the authenticated user.
- (Optional)
-
Example prompts
- Show me all my meetings in December 2024.
- List my next 10 upcoming calendar events.
- Find all meetings with "team" in the subject from this month.
- Show meetings on john.doe@example.com's calendar for next week, sorted by start time.
- List my meetings from January 1st to January 31st, showing only the subject, start, and end time.
microsoft_graph_update_meeting – Updates an existing calendar event or meeting in Microsoft Graph (Outlook).
-
When to use
- Change the time, date, or duration of an existing meeting.
- Add or remove attendees from a scheduled meeting.
- Update the meeting agenda, location, or subject.
- Change the importance level or reminder settings on a meeting.
- Convert an in-person meeting to an online Teams meeting.
-
Parameters
-
meetingId– The unique identifier of the meeting to update. - (Optional)
subject– The new title or subject of the meeting. - (Optional)
start– The new meeting start date and time, including timezone. Format:{"dateTime": "2024-12-01T10:00:00", "timeZone": "UTC"} - (Optional)
end– The new meeting end date and time, including timezone. Format:{"dateTime": "2024-12-01T11:00:00", "timeZone": "UTC"} - (Optional)
attendees– Updated list of attendees with their names and email addresses. Format:[{"emailAddress": {"name": "Jane Doe", "address": "jane@example.com"}, "type": "required"}] - (Optional)
body– The new meeting description or agenda. Format:{"contentType": "HTML", "content": "Updated agenda here."} - (Optional)
location– The new meeting location. Format:{"displayName": "Conference Room B"} - (Optional)
isOnlineMeeting– Set totrueto add a Teams or Skype join link. - (Optional)
onlineMeetingProvider– The online meeting provider:teamsForBusinessorskypeForBusiness. - (Optional)
importance– Updated priority of the meeting:low,normal, orhigh. - (Optional)
reminderMinutesBeforeStart– Updated number of minutes before the meeting to send a reminder. - (Optional)
categories– Updated comma-separated tags or categories for the meeting. - (Optional)
isReminderOn– Set totrueto enable reminders for this meeting. - (Optional)
showAs– How the time appears in the calendar:free,tentative,busy,oof, orworkingElsewhere. - (Optional)
calendarId– The ID of the specific calendar containing the meeting. - (Optional)
userId– The ID of the user whose calendar to update. Defaults to the authenticated user.
-
-
Example prompts
- Update the meeting AAMkAGI2TGuLAAA= to start at 3pm instead of 2pm.
- Add jane.doe@example.com as an attendee to meeting AAMkAGI2TGuLAAA=.
- Change the subject of meeting AAMkAGI2TGuLAAA= to "Q1 Strategy Review" and update the location to Conference Room C.
- Convert meeting AAMkAGI2TGuLAAA= to a Teams online meeting and set the importance to high.
- Update the agenda for meeting AAMkAGI2TGuLAAA= to include a section on budget review and set a 30-minute reminder.
microsoft_graph_get_meeting – Retrieves detailed information about a specific calendar event or meeting from Microsoft Graph.
-
When to use
- Look up the full details of a specific meeting, including attendees, time, and location.
- Check the online meeting join URL for a Teams or Skype meeting.
- Retrieve attendee response statuses for a scheduled meeting.
- Access meeting recurrence settings or attached files.
- Verify meeting details before making updates or sending communications.
-
Parameters
-
meetingId– The unique identifier of the meeting to retrieve. - (Optional)
select– Comma-separated list of specific fields to return (for example,subject,start,end,organizer,attendees,location). - (Optional)
expand– Comma-separated list of related entities to expand in the response (for example,calendar,attachments). - (Optional)
calendarId– The ID of the specific calendar containing the meeting. - (Optional)
userId– The ID of the user whose calendar to query. Defaults to the authenticated user.
-
-
Example prompts
- Get the details of meeting AAMkAGI2TGuLAAA= from my calendar.
- Show me the attendees and their response statuses for meeting AAMkAGI2TGuLAAA=.
- Retrieve the Teams join URL for meeting AAMkAGI2TGuLAAA=.
- Get the subject, start time, end time, and organizer for meeting AAMkAGI2TGuLAAA= on john.doe@example.com's calendar.
- Show me the full details of meeting AAMkAGI2TGuLAAA=, including any attachments.
Microsoft OneDrive and Sharepoint
microsoft_graph_list_drive_contents – Lists files and folders in a OneDrive or SharePoint drive location.
-
When to use
- Browse the contents of a OneDrive or SharePoint document library.
- Go through folder structures to find specific files.
- Filter drive contents by file type (for example, only show PDFs or PowerPoint files).
- Retrieve file metadata such as size, last modified date, and download URLs.
- Paginate through large folders with many files or subfolders.
-
Parameters
-
driveId– The unique identifier of the OneDrive or SharePoint drive to browse. - (Optional)
folderPath– Path to a specific folder within the drive (for example,Documents/Projects). Defaults to the root. - (Optional)
folderId– The ID of a specific folder to list contents of. Can be used as an alternative tofolderPath. - (Optional)
fileType– Filter results by file extension (for example,pptx,docx, orpdf). Returns only files matching this type. - (Optional)
top– Maximum number of items to return per page. Defaults to 100. - (Optional)
nextLink– Pagination URL returned from a previous response. Use this to retrieve the next page of results. Do not modify the URL.
-
-
Example prompts
- List all files in my OneDrive drive b!abc123def456.
- Show me the contents of the Documents/Projects folder in drive b!abc123def456.
- List only the PowerPoint files in drive b!abc123def456.
- Show the first 50 files in drive b!abc123def456 and then get the next page of results.
- Browse the Marketing folder in my SharePoint drive and show me all PDF files.
microsoft_graph_list_drives – Lists OneDrive and SharePoint drives available to a user or within a SharePoint site.
-
When to use
- Discover all drives available to a specific user.
- Retrieve the drives associated with a SharePoint site.
- Find drive IDs needed for browsing drive contents with other tools.
- Identify available document libraries before navigating or searching files.
-
Parameters
- (Optional)
userId– The ID of the user to list drives for. Usemefor the currently authenticated user. - (Optional)
siteId– The ID of a SharePoint site to list drives for.
- (Optional)
-
Example prompts
- List all drives available to me.
- Show me all the drives for user john.doe@example.com.
- What drives are available on the SharePoint site contoso.sharepoint.com,abc123,def456?
- Get all document libraries for my SharePoint site so I can browse the files.
microsoft_graph_list_onedrive_drives – Lists all OneDrive drives accessible to the authenticated user, including personal, shared, and SharePoint site drives.
-
When to use
- Get a comprehensive list of all OneDrive drives the current user has access to.
- Discover shared drives or SharePoint site drives alongside a personal OneDrive.
- Retrieve drive IDs, storage quota, and ownership information for available drives.
- Identify which drives to target before browsing or searching for files.
- Audit available storage locations across personal and organizational drives.
-
Parameters
- (Optional)
includePersonal– Set totrueto include the user's personal OneDrive. Defaults totrue. - (Optional)
includeShared– Set totrueto include drives shared with the user. Defaults totrue. - (Optional)
includeSites– Set totrueto include drives from SharePoint sites. Defaults totrue.
- (Optional)
-
Example prompts
- Show me all OneDrive drives I have access to.
- List only my personal OneDrive, not shared or site drives.
- What SharePoint site drives are available to me?
- Show me all shared drives accessible to me, excluding personal and site drives.
- List all my available drives so I can find where a file is stored.
microsoft_graph_get_drive – Retrieves detailed information about a specific OneDrive or SharePoint drive.
-
When to use
- Get metadata and details about a specific drive by its ID.
- Check storage quota and usage information for a drive.
- Retrieve the default drive for the currently authenticated user.
- Look up drive ownership and type information before browsing its contents.
-
Parameters
- (Optional)
driveId– The ID of the specific drive to retrieve. If not provided, returns the default drive for the user. - (Optional)
userId– The ID of the user to get the default drive for. Usemefor the currently authenticated user.
- (Optional)
-
Example prompts
- Get details about my default OneDrive.
- Show me the storage quota and usage for drive b!abc123def456.
- Get information about the default drive for user john.doe@example.com.
- What are the details of drive b!abc123def456, including its type and owner?
Sharepoint
microsoft_graph_find_sharepoint_list – Finds a SharePoint list or document library by name within a specific SharePoint site.
-
When to use
- Look up the ID of a specific SharePoint list or document library by its display name.
- Locate a document library such as "Site Pages" or "Documents" before accessing its contents.
- Verify that a list exists within a SharePoint site before performing further operations.
- Retrieve list metadata including creation date, URL, and template type.
- Discover all available lists within a site when the target list name is unknown.
-
Parameters
-
siteId– The unique identifier of the SharePoint site to search within. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). -
listName– The display name of the SharePoint list or document library to find (for example,Site Pages,Documents, orSite Assets).
-
-
Example prompts
- Find the "Site Pages" library in my SharePoint site contoso.sharepoint.com,abc123,def456.
- Look up the list ID for "Project Documents" in SharePoint site contoso.sharepoint.com,abc123,def456.
- Does a list called "Marketing Assets" exist in SharePoint site contoso.sharepoint.com,abc123,def456?
- Find the "Documents" library in my SharePoint site so I can browse its files.
- Get the metadata for the "Site Assets" library in SharePoint site contoso.sharepoint.com,abc123,def456.
microsoft_graph_find_site_page – Finds a SharePoint site page by name and retrieves its page ID and metadata.
-
When to use
- Resolve a SharePoint page name to a page ID before retrieving its content.
- Check whether a specific page exists within a SharePoint site.
- Retrieve basic metadata about a page, such as its URL and last modified date, without fetching its full content.
- Look up a page ID to use with other tools that require it as an input.
- Find a site's home page or any custom page by name.
-
Parameters
-
siteId– The unique identifier of the SharePoint site containing the page. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). -
pageName– The name of the page to find. Can be provided with or without the.aspxextension (for example,HomeorHome.aspx).
-
-
Example prompts
- Find the "Home" page in my SharePoint site contoso.sharepoint.com,abc123,def456.
- Get the page ID for "Visiting-the-Austin-office.aspx" in SharePoint site contoso.sharepoint.com,abc123,def456.
- Does a page called "ProjectOverview" exist in SharePoint site contoso.sharepoint.com,abc123,def456?
- Look up the metadata for the "TeamPage" page in my SharePoint site.
- Find the page ID for the home page of SharePoint site contoso.sharepoint.com,abc123,def456 so I can retrieve its content.
microsoft_graph_get_sharepoint_page_content – Retrieves the raw HTML content of a specific SharePoint site page.
-
When to use
- Read and extract the content of a SharePoint page for summarization or analysis.
- Retrieve the full HTML of a page for content migration or archival purposes.
- Access page metadata such as URL and last modified date alongside its content.
- Pull content from a SharePoint knowledge base page for further processing.
- Copy content from one SharePoint page to use elsewhere.
-
Parameters
-
siteId– The unique identifier of the SharePoint site containing the page. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). -
pageName– The name of the SharePoint page to retrieve. Can be provided with or without the.aspxextension (for example,HomeorHome.aspx). - (Optional)
listId– The ID of the SharePoint list containing the page. If not provided, the tool will automatically find the "Site Pages" library. Providing this can improve performance.
-
-
Example prompts
- Get the content of the "Home" page from SharePoint site contoso.sharepoint.com,abc123,def456.
- Summarize the content of the "ProjectOverview.aspx" page in my SharePoint site.
- Retrieve the HTML content of the "TeamPage" page from SharePoint site contoso.sharepoint.com,abc123,def456.
- What does the "Onboarding" page say in my SharePoint site contoso.sharepoint.com,abc123,def456?
- Pull the content from the "Marketing Strategy" page in SharePoint site contoso.sharepoint.com,abc123,def456 so I can copy it into a document.
microsoft_graph_get_site – Retrieves detailed information about a specific SharePoint site.
-
When to use
- Look up metadata and properties for a specific SharePoint site.
- Retrieve a site ID needed for use with other SharePoint tools.
- Access a SharePoint site using its hostname and server-relative path.
- Get information about the root site of a SharePoint tenant.
- Verify a site exists and retrieve its URL before browsing its contents or pages.
-
Parameters
- (Optional)
siteId– The unique identifier of the SharePoint site. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). - (Optional)
hostname– The hostname of the SharePoint tenant (for example,contoso.sharepoint.com). Can be used with or withoutsitePath. - (Optional)
sitePath– The server-relative path of the site (for example,/sites/projectsite). Must be used together withhostname.
- (Optional)
-
Example prompts
- Get details about the SharePoint site contoso.sharepoint.com,abc123,def456.
- Retrieve information about the root SharePoint site at contoso.sharepoint.com.
- Get the site ID and URL for the SharePoint site at contoso.sharepoint.com/sites/marketing.
- Show me the metadata for the SharePoint site at contoso.sharepoint.com/sites/projectsite.
- Find the SharePoint site contoso.sharepoint.com,abc123,def456 so I can browse its document libraries.
microsoft_graph_get_site_page_structured_content – Retrieves structured content from a SharePoint site page, including all web parts and their content in an organized format.
-
When to use
- Retrieve clean, structured content from a modern SharePoint page for summarization or analysis.
- Extract text from all web parts on a page without parsing raw HTML.
- Access the full canvas layout of a SharePoint page, including sections and web part structure.
- Pull content from a SharePoint knowledge base or intranet page for further processing.
- Generate a report or summary from the content of a specific SharePoint page.
-
Parameters
-
siteId– The unique identifier of the SharePoint site containing the page. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). - (Optional)
pageName– The name of the SharePoint page to retrieve. Can be provided with or without the.aspxextension (for example,HomeorHome.aspx). Required ifpageIdis not provided. - (Optional)
pageId– The unique identifier of the SharePoint page. Required ifpageNameis not provided. Can be retrieved using themicrosoft_graph_find_site_pagetool.
-
-
Example prompts
- Get the structured content of the "Home" page from SharePoint site contoso.sharepoint.com,abc123,def456.
- Summarize the content of the "Onboarding.aspx" page in my SharePoint site contoso.sharepoint.com,abc123,def456.
- Retrieve and extract the text from all web parts on the "Marketing Strategy" page in SharePoint site contoso.sharepoint.com,abc123,def456.
- Get the structured layout of SharePoint page b1234567-89ab-cdef-0123-456789abcdef in site contoso.sharepoint.com,abc123,def456.
- What does the "Company News" page say in my SharePoint site contoso.sharepoint.com,abc123,def456?
microsoft_graph_list_site_contents – Lists files and folders in a SharePoint site's document library or list.
-
When to use
- Browse files and folders within a SharePoint site's default document library.
- Go to a specific SharePoint list or library by providing its ID.
- Filter site contents by file type to find specific documents.
- Paginate through large SharePoint libraries with many files or subfolders.
- Retrieve file metadata such as size, URL, and last modified date from a SharePoint site.
-
Parameters
-
siteId– The unique identifier of the SharePoint site. Format:hostname,site-collection-id,site-id(for example,contoso.sharepoint.com,abc123,def456). - (Optional)
listId– The ID of a specific list or library to access. If not provided, uses the site's default document library. - (Optional)
folderPath– Path to a specific folder within the library (for example,/Documents/Projects). - (Optional)
folderId– The ID of a specific folder to list contents of. Can be used as an alternative tofolderPath. - (Optional)
fileType– MIME type to filter results by (for example,application/pdf). Returns only files matching this type. - (Optional)
top– Maximum number of items to return. Defaults to 200. - (Optional)
skip– Number of items to skip for pagination.
-
-
Example prompts
- List all files in the default document library of SharePoint site contoso.sharepoint.com,abc123,def456.
- Show me the contents of the Documents/Projects folder in SharePoint site contoso.sharepoint.com,abc123,def456.
- List only the PDF files in the SharePoint site contoso.sharepoint.com,abc123,def456.
- Browse the contents of library b57af081-936c-4803-a120-d94887dc6c05 in my SharePoint site.
- Show me the first 50 files in SharePoint site contoso.sharepoint.com,abc123,def456 and then get the next page.
microsoft_graph_list_sites – Lists SharePoint sites accessible to the authenticated user.
-
When to use
- Discover all SharePoint sites available to the current user.
- Search for a specific SharePoint site by name or keyword.
- Retrieve site IDs needed for use with other SharePoint tools.
- Paginate through a large number of SharePoint sites in an organization.
- Audit available SharePoint sites before browsing their contents or pages.
-
Parameters
- (Optional)
search– Search query to find sites by name or content (for example,marketing). Returns all sites if not specified. - (Optional)
filter– OData filter expression to narrow results (for example,siteCollection/hostname eq 'contoso.sharepoint.com'). - (Optional)
orderBy– Field to sort results by (for example,displayNameorcreatedDateTime). - (Optional)
top– Maximum number of results to return. Defaults to 25, max 1000. - (Optional)
skip– Number of results to skip for pagination.
- (Optional)
-
Example prompts
- List all SharePoint sites I have access to.
- Find all SharePoint sites with "marketing" in the name.
- Show me the top 50 SharePoint sites in my organization, sorted by display name.
- List all SharePoint sites on contoso.sharepoint.com.
- Find the SharePoint site for the sales team so I can browse its files.
Architecture
Authentication and Security
- Microsoft Azure AD – Secure authentication through Azure Active Directory.
- MSAL integration – Microsoft Authentication Library for token management.
- OAuth 2.0 – Industry-standard authentication and authorization.
- Device code flow – Secure authentication without password storage.
API Integration
- Microsoft Graph API – Unified endpoint for Microsoft 365 services.
- REST API – Standard HTTP-based API communication.
- Batch operations – Efficient bulk operations for improved performance.
- Real-time updates – Support for webhooks and change notifications.
Supported Microsoft 365 services
Core services
- Azure Active Directory – Identity and access management.
- OneDrive for Business – Cloud file storage and sync.
- SharePoint Online – Collaboration and document management.
Data types
- User profiles – Personal and organizational information.
- Files and folders – Documents, images, and media files.
- SharePoint lists – Structured data and custom content types.
API permissions
Application permissions (app-only access)
- Files.ReadWrite.All – Access and write all files.
- Sites.ReadWrite.Al: – Access and write all SharePoint sites.
- Calendars.ReadWrite – Access and write to all Calendars (not recommended).
Delegated permissions (user context)
- Files.ReadWrite – Access user's files.
- Sites.ReadWrite.All – Access SharePoint sites.
- Calendars.Read – Access to your Calendar.
- Calendars.Read.Shared – Access to your Calendar and shared Calendars.
- Calendars.ReadWrite – Access and write to your Calendar.
- Calendars.ReadWrite.Shared – Access and write to your Calendar and share Calendars.
If you use Opti ID, administrators can turn off generative AI in the Opti ID Admin Center. See Turn generative AI off across Optimizely applications.
Article is closed for comments.