平台
特點
代理工作室
快速建立和自訂您的代理
自主引擎
使用LLMs 來引導對話和工作
知識庫
使用自訂知識來源訓練您的機器人
表格
儲存及管理對話資料
頻道
Whatsapp 標誌
WhatsApp
Instagram
Instagram
FacebookMessenger 標誌
Messenger
Slack 標誌
Slack
所有頻道
整合
Hubspot 標誌
HubSpot
Notion 標誌
Notion
Jira 標誌
Jira
Calendly 標誌
Calendly
所有整合
LLM 提供者
OpenAI 標誌
OpenAI
Anthropic 標誌
Anthropic
Groq 標誌
Groq
HuggingFace 標誌
Hugging Face
所有LLMs
解決方案
適用於
企業
自動執行關鍵任務的生產工作流程
代理機構
提供精密的代理服務
開發人員
探索用於代理程式開發的強大 API
客戶故事
向成功客戶了解Botpress 如何改變全球業務。
按行業
電子商務
教育
財務
接待服務
所有行業
部門
銷售
工程設計
產品
ITSM
所有部門
按使用個案
購物助理
潛在客戶開發
員工體驗
票務管理
所有使用個案
資源
必要
Academy
透過精選課程學習建立
圖書館
增強您 AI 工作流程的資源
部落格
有關Botpress 和 AI 代理的洞察與更新
建築
Discord
加入數以千計的同行並分享想法
文件
全面的指南和參考資料
API
與外部系統搭配使用的參考資料
LLM 排名
比較模型提供者的效能與成本
影片
教學、示範和產品導覽
變更日誌
隨時掌握Botpress 的最新更新
合作夥伴
成為合作夥伴
加入我們的認證專家網路
聘請專家
與合作夥伴和顧問連線
文件
企業
定價
登入
聯絡人註冊
返回 Hub

SharePoint

v3.0.4
在工作區上安裝
維護者 Botpress 成長團隊
  # Sharepoint Document Library Connector

## Overview

The sharepoint library connector integration allows you to setup a connector between a document library in a sharepoint site and a KB in botpress.

## Configuration

Add the following keys to the integration’s `configuration` block:

- **clientId** (required) — Application (client) ID of your Microsoft Entra (Azure AD) app registration.  
- **tenantId** (required) — Directory (tenant) ID of the same app registration.  
- **thumbprint** (required) — Thumbprint of the certificate uploaded to the app registration.  
- **privateKey** (required) — PEM-formatted private key that matches the certificate (everything between `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----`).  
- **primaryDomain** (required) — SharePoint primary domain (the part before `.sharepoint.com`).  
  *Example*: `contoso`  
- **siteName** (required) — Name of the SharePoint site that owns the document libraries you want to sync.  
- **documentLibraryNames** (optional) — Comma-separated list **or** JSON array of document libraries to sync.  
  *Examples*:  
  `Policies,Procedures`  
  `["Policies","Procedures"]`  
- **folderKbMap** (optional) — JSON object that maps `kbId` ⇒ array of folder prefixes for routing files to specific KBs.  
  *Example*:  
  `{"kb-marketing":["Campaigns"],"kb-policies":["HR","Legal"]}`  

**Tip:**  
- If you omit `documentLibraryNames`, **all** document libraries in the specified site will be synced.  
- If you omit `folderKbMap`, every file is routed to the default KB configured for its library.

> [!IMPORTANT]  
> Due to reliability issues, **Moves** and **Copies** are not supported. Those events from sharepoint will not reflect in the knowledge bases. If you wish to move/copy a file to another location, **Upload** or **Create** the file instead. 

## How to's

### How to register a app on Microsoft Entra admin center

- From the Home page of Microsoft Entra admin center, Open App registrations ( This is under Applications in the Left Nav )
- Add a new registration by clicking on “+ New registration”
- Give your app an appropriate name, and click register.
- Open the App registration and take note of the following:
  - `Application (client) ID`
  - `Directory (tenant) ID`

### How to create a certificate for your app registration

- We will be using a self signed certificate to authenticate, to create a self signed certificate run the following commands in order
- `openssl genrsa -out myPrivateKey.key 2048` → This will generate a 2048-bit private key and save it as myPrivateKey.key.
- `openssl req -new -key myPrivateKey.key -out myCertificate.csr` → This will create a CSR cert. You will be prompted to enter some information, fill as needed.
- `openssl x509 -req -days 365 -in myCertificate.csr -signkey myPrivateKey.key -out myCertificate.crt` → This will create a certificate file named myCertificate.crt that is valid for 365 days.

### How to add your certificate to your app registration

- Navigate to the Azure portal and go to your Azure AD app registration.
- Under “Certificates & secrets,” choose “Certificates” and click “Upload certificate.”
- Upload your .crt

### How to update API permissions for your app registration

- Go to “API Permissions” it should be under the Manage Group, in your App Registration "
- Click “Add a permissions”
- click on "Microsoft Graph".
- Select “Application permissions” as the type of permission.
- Check `Sites.FullControl.All`  , `Sites.Manage.All` , `Sites.Read.All` , `Sites.ReadWrite.All`, `Sites.Selected.All`, `Files.Read.All` and `Files.ReadWriteAll`
- Click “Add a permissions again.”
- Click the “Add a permission” button again
- Scroll till you find Sharepoint and click on it.
- Select “Application permissions” as the type of permission.
- Check `Sites.FullControl.All`  , `Sites.Manage.All` , `Sites.Read.All` , `Sites.ReadWrite.All` and `Sites.Selected.All`
- Click “Add permissions.”
- You should see All the permissions you added in the permissions list.
- Click on “Grant admin consent for <your_org_name>”

---

## Folder‑to‑KB Mapping (`folderKbMap`)

*This is an **optional** advanced feature. If you skip it, every file in the document library will go to the single KB you specified above.*

### Why use it?
Sometimes one SharePoint document library contains several distinct collections of content—HR procedures, Legal policies, Marketing campaigns, etc.—but you want each collection to live in its **own** Botpress KB for cleaner search results and permissions.  
`folderKbMap` lets you do exactly that.

### How it works
* `folderKbMap` is a **JSON object** whose keys are **KB IDs** and whose values are **arrays of folder prefixes** (relative paths) to watch.  
* During sync, the integration checks each file’s server‑relative path.  
  * If the path **starts with** one of the prefixes you listed, that file is routed to the corresponding KB.  
  * If no prefix matches, the file falls back to the default KB for the library.

### Configuration syntax
```jsonc
// Example: route folders within the libraries
"folderKbMap": {
  "kb-id-1": ["doclib1","doclib1/ExampleFolder/2025"],
  "kb-id-2":  ["doclib2/HR","doclib2/ExampleFolder"]
}
```
*Prefixes are **case‑insensitive** and may include simple wildcards (`*`).*

### Rules & limitations
1. **No KB sharing across libraries.** A single KB **cannot** receive content from two different libraries—even via folder mapping.  
2. **Create KBs first.** All KB IDs used in `folderKbMap` must already exist in Botpress before you save the configuration.
3. **Recursive files** Every file within a document library, regardles whether it is in a nested folder - will be recursively copied.

### Quick checklist
| ✔ | Step |
|---|------|
| Create a **separate KB** for each content group you want. |
| Identify folder (or folder‑prefix) boundaries inside the SharePoint library. |
| Build a `folderKbMap` JSON object mapping **kbId → [prefixes]**. |
| Add the JSON to your integration configuration. |
| Save & verify: upload a test file in each folder and confirm it appears in the expected KB. |

---

使用Botpress建立更好的網站

打造驚人的 AI 代理體驗。

開始使用 - 免費
箭頭圖示
進一步了解Botpress Academy

使用我們精心挑選的課程、指南和教學,更好更快地建立 AI 代理。

聘請專家

與我們的認證開發人員聯繫,尋找適合您需求的專業建築商。

所有系統運作正常
SOC 2
認證
GDPR
符合規定
© 2025
平台
定價
代理工作室
自主引擎
知識庫
表格
Hub
整合
頻道
LLMs
資源
與銷售人員交談
文件
聘請專家
影片
客戶故事
API 參考資料
部落格
狀態
v12 資源
社區
社區支援
成為合作夥伴
成為大使
成為會員
公司簡介
關於
工作機會
新聞
法律條款
隱私權
©Botpress 2025