> For the complete documentation index, see [llms.txt](https://docs.userlane.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.userlane.com/assistance/the-assistant/connections/knowledge-connectors.md).

# Knowledge connectors

Connecting SharePoint, Confluence, KnowledgeOwl, and Zendesk so the Assistant answers from existing documentation.

A knowledge connector links the Assistant[^1] to a documentation system the organization already runs, so answers can draw on material that is already written and maintained. Four systems can be connected: SharePoint, Confluence, KnowledgeOwl, and Zendesk.

<div data-with-frame="true"><figure><img src="https://259567114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FF6bxg8i3T6U4vZ3k7PHi%2Fuploads%2Fci0DIjNEz4gj9gOZUlFc%2Fintegrations.png?alt=media&#x26;token=0bd930d9-5f02-43f3-a77b-41424f86295b" alt="The list of knowledge sources available to connect in the Userlane portal"><figcaption><p>SharePoint, Confluence, KnowledgeOwl, and Zendesk can be connected as knowledge sources.</p></figcaption></figure></div>

This article covers connecting one source for the organization and switching it on for a single application. At the end, an end user searching in that application sees results from the connected system alongside guides and announcements.

{% hint style="warning" %}
**Before starting.** Connecting a source needs API access to that system and a Userlane role with permission to change global settings. SharePoint also needs an administrator for the Microsoft Entra ID tenant, because Userlane has to be registered there as an application before any connection can be made.
{% endhint %}

## What each connector reaches

The setup is the same for all four connectors. What differs is how each one authenticates and, more importantly, whose permissions decide what the Assistant can see.

<table><thead><tr><th width="177.171875">Source</th><th>Authenticates with</th><th>Content scope follows</th></tr></thead><tbody><tr><td>SharePoint</td><td>A registered Entra ID application, using application permissions[^2]</td><td>The registered application</td></tr><tr><td>Confluence</td><td>An API token</td><td>The Confluence user the token belongs to</td></tr><tr><td>KnowledgeOwl</td><td>An API key and a project ID</td><td>The KnowledgeOwl project the key belongs to</td></tr><tr><td>Zendesk</td><td>An API token</td><td>The Zendesk user the token belongs to</td></tr></tbody></table>

For Confluence, KnowledgeOwl, and Zendesk the identity behind the token is the access control. Create an account or project specifically for the connection, restrict it to the spaces or categories that should be searchable, and generate the token from that account. Anything the account can read becomes answerable.

{% hint style="danger" %}
**SharePoint does not apply individual user permissions.** The connector returns what the registered Entra ID application can read, through the Microsoft Graph API[^2]. It does not check what the person asking the question is allowed to see in SharePoint. Restrict the connection to specific site collections or sub-URLs that are safe for everyone in scope.
{% endhint %}

SharePoint has two further limits. It works with SharePoint Online only, not on-premise. And Graph reaches page names, titles, page text, lists, and list items, but not wiki pages and not content embedded as images or attached documents.

## Connect the source for the organization

A source is connected once for the whole organization. Switching it on for individual applications is a separate step, which means one connection can serve several applications.

{% hint style="info" %}
**Where this lives.** Connection settings sit in the global settings for the account, not in the settings for a single application.
{% endhint %}

{% stepper %}
{% step %}

#### Prepare the account or application in the source system

Follow the source system's own instructions for creating credentials. Set permissions before generating anything, because the credential inherits whatever access the account has at that moment.

{% tabs %}
{% tab title="SharePoint" %}
An Entra ID administrator registers Userlane as an application in the tenant linked to SharePoint. The registration needs application permissions rather than delegated permissions, with `Sites.Read.All` on `Microsoft.Graph` as the minimum. An administrator has to grant consent, and has to grant it again every time the application's permissions change.

Collect four values: the URL of the SharePoint subsite the connection should search, the tenant ID, the application (client) ID, and the client secret. Copy the secret value, not its ID, at the moment it is generated. It is shown once.

The client secret carries an expiry date. Note that date somewhere the team will see it. When the secret expires, the connection stops returning results until a new secret is generated and entered.
{% endtab %}

{% tab title="Confluence" %}
Create a Confluence user for the connection and give it access only to the spaces that should be searchable. Generate an API token from that user's account.

The number of API tokens available is limited per workspace, so share tokens across teams where that is practical. Some Confluence plans do not allow token generation at all. A workspace that is not reachable by third-party applications over the internet cannot be connected.

Collect three values: the Confluence workspace URL, the user's email address, and the token.
{% endtab %}

{% tab title="KnowledgeOwl" %}
Create a KnowledgeOwl project for the connection and set its permissions and restrictions before generating anything. The connection inherits the access of the project the API key is generated for.

Collect three values: the knowledge base URL, the API key, and the project ID. The project ID is the string at the end of the knowledge base administration URL, after `/articles/id/`.
{% endtab %}

{% tab title="Zendesk" %}
Create a Zendesk user for the connection and restrict it to the content that should be searchable. Generate an API token from that user.

Collect three values: the Zendesk URL, the user's email address, and the token.
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

#### Open the integration settings for the account

Open the global settings for the account and find the list of sources available to connect. Select the system to connect.
{% endstep %}

{% step %}

#### Enter the connection details

Complete the form with the values collected in step 1. Every connector asks for the URL of the source system. For SharePoint that URL points at a single subsite rather than the whole tenant, which makes it the main control over what the connection can reach.

Connectors also take a name for the connection. Set it deliberately when more than one connection of the same type exists, because the name is what appears later when switching the connection on per application.
{% endstep %}

{% step %}

#### Save and connect

Saving tests the connection immediately. A successful test moves the connection into the list of connected sources. A failed test returns an error naming the cause, usually an unreachable URL or a rejected credential.

A connection can be edited or removed later from the same list.
{% endstep %}
{% endstepper %}

## Activate the connection for an application

A connected source stays inactive until it is switched on for an application. Repeat this for every application that should use it.

1. Adjust the reader-facing text first, in the text customization settings. Connected sources introduce labels for document results and for the preview window, and those labels reach end users the moment the connection goes live. Setting them beforehand avoids showing default wording that does not match the organization's own terminology.
2. Open the search settings for the application.
3. Confirm that search is available in the Assistant for this application. A connection cannot return anything if search is switched off.
4. Enable the connection by name.

## Troubleshooting

<table><thead><tr><th width="218.390625">Problem</th><th>Likely cause</th><th>What to do</th></tr></thead><tbody><tr><td>Saving the connection fails</td><td>The URL is wrong, or the credential was rejected</td><td>Read the error under the fields. For SharePoint, confirm administrator consent was granted after the last permissions change</td></tr><tr><td>The connection saves but no results appear</td><td>The connection is not switched on for this application, or search is switched off for it</td><td>Check both controls in the application's search settings</td></tr><tr><td>A SharePoint connection that worked stops returning results</td><td>The client secret has expired</td><td>Generate a new client secret in the Entra ID application registration, then edit the connection and enter it</td></tr><tr><td>Results are missing content that exists in the source</td><td>The credential's account cannot reach it. For SharePoint, the content type is out of scope</td><td>Widen the account's permissions, or accept the Graph limits on wiki pages and embedded content</td></tr><tr><td>A reader sees the preview but cannot open the original</td><td>The source system requires a login, and the reader does not have one</td><td>Expected behavior. The preview is the fallback</td></tr><tr><td>The connection cannot reach the source system at all</td><td>The source system restricts inbound traffic by IP address</td><td>Allow the public IP that Userlane connects from. Confirm the current address with Userlane support before opening a rule, because it depends on how the account is hosted</td></tr><tr><td>Results do not match the source system's own search</td><td>Userlane queries the source API live and applies its own ranking</td><td>Expected behavior. The two result sets are not comparable</td></tr></tbody></table>

## Relevant articles

{% content-ref url="/pages/XDGntxUJimFOtJOihyow" %}
[The Assistant](/assistance/the-assistant.md)
{% endcontent-ref %}

{% content-ref url="/pages/7EPCKtnfdYXjGlW43dbR" %}
[Connect your own AI service](/assistance/the-assistant/connections/connect-your-own-ai-service.md)
{% endcontent-ref %}

{% content-ref url="/pages/14ViydxzHwBkmZMnQj6h" %}
[AI features: what data is processed and where](/security-and-privacy/ai-features-what-data-is-processed-and-where.md)
{% endcontent-ref %}

{% content-ref url="/pages/SRW9iMERFNl0SSjAfJnd" %}
[Environment prerequisites](/deployment/rollout/environment-prerequisites.md)
{% endcontent-ref %}

## FAQ

<details>

<summary>Which systems can be connected as a knowledge source?</summary>

SharePoint, Confluence, KnowledgeOwl, and Zendesk.

</details>

<details>

<summary>Is a knowledge source connected once, or once per application?</summary>

A source is connected once for the organization, then activated separately for each application that should use it.

</details>

<details>

<summary>Does the SharePoint connector apply each end user's SharePoint permissions?</summary>

No. The SharePoint connector returns what the registered Entra ID application can read. It does not check the permissions of the person asking.

</details>

<details>

<summary>Does a SharePoint connection need maintenance after setup?</summary>

Yes. The Entra ID client secret expires. The connection stops returning results until a new secret is generated and entered.

</details>

<details>

<summary>Does Userlane store a copy of connected content?</summary>

No. Userlane queries the source system's API for each request and does not index the content.

</details>

<details>

<summary>Can the SharePoint connector reach an on-premise SharePoint installation?</summary>

No. The connector works with SharePoint Online only.

</details>

<details>

<summary>Can an end user open the original document from a result?</summary>

Yes, if they have a login for the source system. Without one, they can read the preview inside the Assistant but cannot open the original.

</details>

[^1]: The AI Assistant is the conversational feature inside the Userlane Assistant panel that answers questions from published and connected content, and hands off to guides or support.

[^2]: The Microsoft Graph API is the interface Microsoft provides for reading data across its cloud services, including SharePoint Online.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.userlane.com/assistance/the-assistant/connections/knowledge-connectors.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
