# SharePoint API

## Create an app in the Microsoft Entra to enable your chat agent to fetch SharePoint data

Ebbot utilizes the Microsoft Graph API to fetch SharePoint content and convert it to Ebbot documents for your AI agent to generate responses from. In order to keep the content secure, our SharePoint scraper must be granted permissions to read the content of sites and pages. Each client therefore needs to create an app in their Microsoft Entra environment which has Full Control permissions to the SharePoint sites and pages in question. Ebbot has no control over this app, it will only be used to grant Ebbot read permissions to the selected sites.

Access the guide on how to create a Full Control App through the link below.

{% content-ref url="sharepoint-api/guide-create-full-control-app" %}
[guide-create-full-control-app](https://docs.ebbot.ai/ebbot-docs/core-capabilities/ebbotgpt/ebbotgpt-knowledge/source-types/api-sources/sharepoint-api/guide-create-full-control-app)
{% endcontent-ref %}

### Why a Full Control App is needed (and why it's safe)

We understand the term "Full Control" can sound concerning. Let's clarify exactly what it means in this context.

Note: This permission – "Full Control" – does not give Ebbot full control over your SharePoint environment.&#x20;

Instead, you will create a new, dedicated application **within your own Microsoft Entra ID (Azure)**. Think of this app as a temporary, specialized administrator that only you control.

* **You Create It, You Control It:** This application is created and managed entirely by you. Ebbot has no access to or control over it.
* **Its Sole Purpose:** The *only* reason this app needs `FullControl` permissions is so it has the authority to grant another application (the Ebbot scraper) the simple `read` permission it needs to **view** content on specific sites.

### Give Ebbot permission to read SharePoint sites using our Postman Collection

When a FullControl app is in place, the app needs to grant the Ebbot app \`read\` permissons to each individual site that should be scraped. This process involves several steps to get everything working, and to help with this, we have created a Postman Collection that contains all the necessary API calls needed.&#x20;

Access the guide on how to import and use the Postman Collection through the link below.

{% content-ref url="sharepoint-api/guide-import-and-use-postman-collection" %}
[guide-import-and-use-postman-collection](https://docs.ebbot.ai/ebbot-docs/core-capabilities/ebbotgpt/ebbotgpt-knowledge/source-types/api-sources/sharepoint-api/guide-import-and-use-postman-collection)
{% endcontent-ref %}

## Understanding what data is imported from SharePoint to EbbotGPT Knowledge

Before you finalize the connection, it is important to understand what data Ebbot extracts and how we process it.

### Supported content

We currently support the import of:

* 📄 Site Pages: Text on pages.
* 📝 Word Documents: `.docx` files stored in document libraries.
* 📑 PDFs: `.pdf` files stored in document libraries. *(Available from 2025-12-16)*

### How we read your pages

SharePoint pages are built using blocks called "Web Parts." To ensure EbbotGPT provides accurate answers without visual clutter, we apply specific cleaning rules:

* Text Only: We specifically target Text Web Parts. We extract the written content—including formatting like bold text, bullet points, and headers—to understand the structure of your document.
* What We Skip: We generally ignore non-text visual elements to keep the data clean. This includes:
  * Image galleries
  * "Quick Links" buttons
  * Embedded calendars or weather widgets
  * Third-party application blocks

## Authenticate in Ebbot to use the SharePoint content as knowledge

When all steps above are complete, you should be able to create a new source in EbbotGPT knowledge using your content from SharePoint. To do this, first log in to the Ebbot platform.

Then, in the left sidebar, navigate to EbbotGPT > Knowledge.

Click the "Sources" tab and the "Create new" button in the top left.&#x20;

Select SharePoint API as type, then click "Authenticate with SharePoint". This opens a dialog box where you need to log in to the Microsoft Azure portal with an account that has permissions to your FullControl app.

Done – after Ebbot completes its run, you should see documents in Ebbot corresponding to your SharePoint sites.

<figure><img src="https://2117387010-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3rWESGvwA3vHJ3zNiAG1%2Fuploads%2FJNsbIVIXoeJ0M4alRKyh%2Fimage.png?alt=media&#x26;token=a2e3b5a1-4e22-4504-ac99-bb6506216569" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ebbot.ai/ebbot-docs/core-capabilities/ebbotgpt/ebbotgpt-knowledge/source-types/api-sources/sharepoint-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
