Platform
Mga tampok
Ahente Studio
Buuin at i-customize ang iyong ahente nang mabilis
Autonomous Engine
Gamitin LLMs upang gabayan ang mga pag-uusap at gawain
Mga Batayan ng Kaalaman
Sanayin ang iyong bot gamit ang mga custom na mapagkukunan ng kaalaman
Handoff ng Tao
Pamahalaan ang mga pag-uusap na may pakikilahok ng tao
Mga mesa
I-store at pamahalaan ang data ng pag-uusap
Mga channel
Whatsapp Emblem
WhatsApp
Instagram Emblem
Instagram
Facebook Messenger logo
Messenger
Slack logo
Slack
Lahat ng channel
Mga pagsasama
Logo ng Hubspot
HubSpot
Notion logo
Notion
Logo ni Jira
Jira
Calendly logo
Calendly
Lahat ng pagsasama
LLM Mga provider
OpenAI logo
OpenAI
Anthropic logo
Anthropic
Groq logo
Groq
HuggingFace logo
Hugging Face
Lahat LLMs
Mga solusyon
Para sa
Enterprise
I-automate ang mga mission-critical production workflow
Mga ahensya
Magbigay ng mga sopistikadong serbisyo ng ahente
Mga developer
Galugarin ang isang matatag na API para sa pagbuo ng ahente
Mga Kwento ng Customer
Tuklasin mula sa matagumpay na mga customer kung paano Botpress ay nagbabago ng negosyo sa buong mundo.
Sa pamamagitan ng Industriya
Ecommerce
Edukasyon
Pananalapi
Hospitality
Lahat ng industriya
Sa pamamagitan ng Kagawaran
Benta
Engineering
produkto
ITSM
Lahat ng departamento
Sa pamamagitan ng Use Case
Automation ng Daloy ng Trabaho
Pamamahala ng Ticket
Shopping Assistant
Copilot ng Produkto
Lahat ng use case
Mga mapagkukunan
Mahalaga
Academy
Matutong bumuo sa pamamagitan ng mga curated na kurso
Library
Mga mapagkukunan upang mapahusay ang iyong mga daloy ng trabaho sa AI
Blog
Mga insight at update sa Botpress at mga ahente ng AI
gusali
Discord
Sumali sa libu-libong mga kapantay at magbahagi ng mga ideya
Docs
Mga komprehensibong gabay at sanggunian
API
Sangguniang materyal para sa paggamit sa mga panlabas na sistema
Mga kaganapan
Mga buwanang pagkikita para sa mga dev at sa tech-curious
Mga video
Mga tutorial, demo, at walkthrough ng produkto
Changelog
Manatiling up-to-date sa pinakabago Botpress mga update
Mga kasosyo
Maging Kasosyo
Sumali sa aming network ng mga sertipikadong eksperto
Mag-hire ng Expert
Kumonekta sa mga kasosyo at consultant
Docs
Enterprise
Pagpepresyo
Mag log in
Makipag-ugnayanMag-sign up
balik sa Hub

SharePoint

v3.0.4
I-install sa iyong Workspace
Pinapanatili ng Botpress Growth Team
  # 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. |

---

Bumuo ng Mas mahusay na may Botpress

Gumawa ng mga kamangha-manghang karanasan sa ahente ng AI.

Magsimula - libre ito
Matuto pa sa Botpress Academy

Bumuo ng mga ahente ng AI nang mas mahusay at mas mabilis gamit ang aming na-curate na koleksyon ng mga kurso, gabay, at tutorial.

Mag-hire ng Expert

Kumonekta sa aming mga sertipikadong developer para makahanap ng ekspertong tagabuo na nababagay sa iyong mga pangangailangan.

Lahat ng System Operational
SOC 2
Certified
GDPR
Sumusunod
© 2025
Platform
Pagpepresyo
Ahente Studio
Autonomous Engine
Mga Batayan ng Kaalaman
Handoff ng Tao
Mga mesa
Hub
Mga pagsasama
Mga channel
LLMs
Mga mapagkukunan
Makipag-usap sa Sales
Dokumentasyon
Mag-hire ng Expert
Mga video
Mga Kwento ng Customer
Sanggunian ng API
Blog
Katayuan
v12 Mga Mapagkukunan
Komunidad
Suporta sa Komunidad
Maging Kasosyo
Maging Ambassador
Maging isang Affiliate
kumpanya
Tungkol sa
Mga karera
Balita at Press
Legal
Pagkapribado