# Freshworks Connector

## Overview

The Freshworks Connector supports the ingestion of Users and User Profiles. This page describes the steps and configurations needed to ingest these entities from Fresh’s external system.&#x20;

By default, a new Fresh Data Source is configured to fetch Requesters.

## Prepare

Before setting up the Freshworks connector, ensure you have the required credentials and complete any necessary preparations.

### Endpoint

You'll need your base Freshservice URL, which will follow this format: `https://<your_company>.freshservice.com`.

### Authentication

Previous to March 11, 2026, the Freshworks connector only supported token authentication. It has been enhanced to support both Basic and OAuth authentication.

<figure><img src="https://docs.aisera.com/~gitbook/image?url=https%3A%2F%2F2983236984-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FiZkLJr3EjXkd2tHYiQJP%252Fuploads%252FICMgzMSbQsYkLESauQxG%252Funknown.jpeg%3Falt%3Dmedia%26token%3D7ca21a9e-0b1c-479c-981c-6e5b84e47d19&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=863236e4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The Freshworks connector supports **Basic Authentication** with an *API Key*. For guidance on obtaining an API key, consult the Freshworks [authentication documentation](https://api.freshservice.com/#authentication). The API Key will serve as the username for the integration step.

{% hint style="warning" %}
Freshservice no longer supports username/password authentication. If your connector fails to retrieve data, ensure you use an API key for authentication.
{% endhint %}

## Integration Setup

To set up a Freshworks integration:

1. In the Aisera Admin UI navigate to **Settings > Integrations**
2. Click on **+ New Integration**
3. In the menu, select **Freshworks** and click **Next**\ <br>

   <div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F7NZPT9se951FgIfJNBt8%2Fimage.png?alt=media&#x26;token=0a28e484-a998-4689-a25f-c16c6b571a31" alt=""><figcaption></figcaption></figure></div>
4. Enter the configuration details and select **Next**<br>

   <table><thead><tr><th width="140">Field</th><th>Description</th></tr></thead><tbody><tr><td>Name</td><td>The name used to identify the integration</td></tr><tr><td>Endpoint</td><td>The base URL for your Freshservice tenant</td></tr><tr><td>Description</td><td>A description of the integration and it's purpose</td></tr></tbody></table>

   <div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FTxISwarwhyHYqNntYuYu%2Fimage.png?alt=media&#x26;token=be88b500-b0f8-47c0-a873-bacd20398a50" alt=""><figcaption></figcaption></figure></div>
5. Input the API key for the U**sername**
6. Input `DUMMY` for the password, then click **Next**
7. Click **OK** to save the integration

## Data Source Setup

1. In the Aisera Admin UI navigate to **Settings > Data Sources**

2. Click **+ New Data Source** in the upper right corner

3. Select **Freshworks** and click **Next**

4. The required fields will vary based on the selected functions. Enter the configuration details and select **Next**<br>

   <table><thead><tr><th width="200">Field</th><th>Description</th></tr></thead><tbody><tr><td>Name</td><td>The name used to identify your Data Source</td></tr><tr><td>Functions</td><td>Functions dictate how a data source behaves and what data is ingested into the Aisera platform</td></tr><tr><td>Integration</td><td>The integration with the necessary authentication information for data retrieval</td></tr><tr><td>Schedule</td><td>This determines how often the Data Source will request new data</td></tr><tr><td>Description</td><td>A description of the integration and it's purpose</td></tr></tbody></table>

5. All remaining options are optional. See the section below for more information. Click **Next** until the window closes to complete the creation of the **Data Source**

Instructions on ingesting agents will be covered below.

## Optional Setup

### Bypass Test Connection

Disable if you want to bypass the test connection.&#x20;

### Custom Query

This is used to change filtering logic. All articles will be retrieved by the connector, and then checked against the filters set in this field. Articles which do not pass the set criteria will be discarded.

For example, the following filter can be applied:

```json
{
    "folder_visibility" : 3,
    "status" : 1
}
```

The connector will now exclusively fetch draft articles visible to agents.

### Transformation Script

This field is used to transform data at it is being ingested into the Aisera platform. This script is written in JavaScript.

## Post Setup Actions

Please refer to the following sections before running a data source job. Freshworks has a very important distinction between *Agents* and *Requesters***.** By default, all Freshworks Connector functions are configured to fetch Requesters. If you want to configure your data source to fetch Agents, keep in mind that changing mapped fields and queries in between data ingestion jobs can lead to unexpected behavior.

{% hint style="warning" %}
Setting the **Override Configuration** for *any* function applies the override to *all* functions. Configuring the connector to ingest Agents for one function will make it ingest Agents for all functions.
{% endhint %}

### User Learning

#### Requesters

By default, the Freshworks Data Source is set to retrieve Requesters from Freshservice when configured to use the **Learn Users** function. The mappings are loaded by default and are ready to be used.

#### Agents

To retrieve Agents from Freshservice, configure the **Overrides** **Configuration** field in the Datasource settings. Consult your Aisera Team for the necessary JSON override file.

The email-related field mapping will need to be changed for Agents from `primary_email` to `email` .

### User Profile Learning <a href="#pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-5.-user-profile-learning" id="pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-5.-user-profile-learning"></a>

To ingest User Profiles, you also need to ingest Users. This means that you must choose both the **Users Learning** and the **User Profiles Learning** function in the **Functions** field for the Data Source. Choosing only the latter will prevent the entries from being properly stored in the database.

#### **Requesters**

The Freshworks Data Source is configured by default to ingest Requesters. However, it is necessary to remove the `userProfileRoleName` field. This field mapping is designed to indicate that a User Learning entry is an agent. You may either change the fixed value or delete it if it is not necessary.

#### **Agents**

To use Agents as User Profiles, apply the same JSON Override Configuration used for Agent User entries. Consult your Aisera Team for the necessary JSON override file.

The email-related field mapping will need to be changed for Agents from `primary_email` to `email` .

### User Groups Learning <a href="#pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-6.-learn-kbs-with-acl-tags" id="pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-6.-learn-kbs-with-acl-tags"></a>

By default, the Freshworks Connector ingests Requester Groups when the **User Groups Learning** function is selected. Consult your Aisera Team for the necessary JSON override file.

### Learn KBs with ACL Tags <a href="#pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-6.-learn-kbs-with-acl-tags" id="pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-6.-learn-kbs-with-acl-tags"></a>

Documents in Freshworks can contain various attributes that are related to the ACL mechanism.

By default, the Freshworks connector does not ingest tags connected to visibility. You need to use Override configs in a Data Source configuration. Consult your Aisera Team for the necessary **Override Configuration** and **Transformation** script.

### Data Ingestion

After you've successfully set up your connector, your data will automatically sync according to the schedule settings or on demand, as specified during the Data Source Configuration step. However, you should perform a manual sync immediately. This initial run will serve two key purposes:

After setting up your connector, your data will sync automatically based on your schedule parameters, or you can choose the "on demand" configuration to sync data only when requested.

1. It confirms the connector is working properly.
2. It provides an immediate view of the information being ingested into the Aisera Application, allowing you to validate and begin working with the data.

To manually ingest data:

1. In the Aisera Admin UI navigate to **Settings > Data Sources.**<br>

   <div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FUIsDFUfemqsV7ML86iHS%2FDataIngestion-DataSourceWindow.png?alt=media&#x26;token=c41635bd-16b9-4b13-b35b-84705fa26309" alt=""><figcaption><p>Data Sources Window</p></figcaption></figure></div>
2. **Click** on the **Data Source** you wish to manually ingest data from.
3. At the top right of the **Data Source Details** page, click the **Play** button to manually ingest data.<br>

   <figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FWOAAURoDxlvnQcfI7gws%2FDataIngestion-DataSourceDetailsWindow.png?alt=media&#x26;token=41069e6a-e0be-4924-a9b2-41aae8fb5d43" alt=""><figcaption><p>Data Source Window</p></figcaption></figure>

### Review Crawled Knowledge Documents <a href="#pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-7.-review-crawled-knowledge-documents" id="pdf-page-sbcjvznhfwzqsvcf0dsg-pdf-page-l4uu8rwvqrc0pfi25tez-id-7.-review-crawled-knowledge-documents"></a>

After the Data Source run completes, the administrator may review all the knowledge documents and ingested sections.

To view all the ingested documents:

1. Navigate to **AI Workbench > Review** on the left-hand main navigation panel
2. Click the **Knowledge Review** tab at the top of the page
3. You will see **Commit Reviewed** and the number of documents that are ingested
4. Since this is the first crawl, all the documents are **Reviewed** by default
5. Click on **Commit Reviewed** and click **Commit**
6. Navigate to **SOR > Knowledge** window in the left panel and you will see all the ingested documents
