The UltimateGPT settings page is the place to manage knowledge sources for your UltimateGPT bot.
On the UltimateGPT page, you can import articles from a Zendesk help center or with a CSV file. UltimateGPT has its search engine made specifically for the use-case and UltimateGPT doesn't fetch data live from the knowledge base but instead imports the articles into the search engine. UltimateGPT allows you to add multiple knowledge sources to your bot. It means that you can import articles from multiple Zendesk Help Centers, CSV files, or a combination of both.
By default, all articles from all your knowledge sources will be used by the bot to find an answer - but you can also build rules based on conditional logic which we cover here.
Importing a Zendesk Help Center
To import a Zendesk help center, choose "Zendesk" as the source and type in the help center URL. The URL is the full URL to the help center or a part of the help center. You can specify the locale in the URL path to specify which language articles to import. For example ultimateai.zendesk.com/hc/en-us
Private articles can be imported from your help center by specifying an email address for a user account that has access to the pages and an API access token to your Zendesk (switch on "Import private articles" first).
The API access token can be generated by following these steps.
- Go to your Zendesk admin console
- Select “Apps and integrations”
- Select “Zendesk API”
- Enable “Token access” if not enabled yet
- Click “Add API token”
- Add a name for the token
- Copy the token value to “API Access Token” field to the Ultimate dashboard
One caveat of importing private pages is that Zendesk doesn't give any hints if the credentials are wrong but instead just exports all of the public articles successfully. Therefore, you won't see any errors if the email or the token were mistyped. It's highly recommended to double-check the values before importing and test that the bot can answer questions with the private pages after the import has finished.
Zendesk help centers can also be set up for regular reimporting to keep the bot up to date. Simply select the import frequency or select "Never" if you want to import the help center only once.
Importing a Salesforce Help Center
To import a Salesforce help center, choose "Salesforce" as the source.
Before typing in the help center URL you want to add as a knowledge source, you need to log in to your Salesforce environment. This is necessary for authentication purposes and to provide you with access.
Once authenticated, you can add the URL to your help center and import.
Importing a Freshdesk Help Center
To import a Freshdesk help center, choose "Freshdesk" as the source and type in the help center URL. The URL is the full URL to the help center or a part of the help center.
You can then define an import frequency as "daily", "weekly", or "monthly".
To finalize the import, an API token is needed. You can generate this token in your Freshdesk environment.
Importing a CSV File
CSV files are a solution for importing all the knowledge bases and sources that aren't natively supported by the Ultimate platform. The CSV file is a simple with "title" and "content" columns for each article, one per row. Optionally each row can also have "labels", "locale" and "article_url" fields for organizing the articles. Labels is a list of label names separated by space and the values can be anything you like. Locale is for organizing articles by language and market and while the values can be anything, it's recommended to follow standard practices of locales and use values such as "en-US" or "fi-FI". article_url is the external web address where the article can be found and is used in the sources and insights. The file format has a comma `,` as a column separator, and a double quote `"` as the string quote character. The first row is for the header.
title,content,locale,labels,article_url
Zendesk Help Center,"To import Zendesk help center, choose ""Zendesk"" as source and type in the help center URL. The URL is the full URL to the help center or a part of the help center. You can specify the locale in the URL path to specify which language articles to import. For example ultimateai.zendesk.com/hc/en-us",en-us,import
Private articles can be imported from you help center by specifying an email address for a user account that has access to the pages and an API access token to your Zendesk."
CSV Files,"CSV files are a solution for importing all the knowledge bases and sources which aren't natively supported by Ultimate platform. The CSV file is a simple two column file with ""title"" and ""content"" for each article, one per row. The file format has a comma `,` as column separator and double quote `""` as string quote character. The first row is for the header.",en-us,import zendesk,"https://ultimateai.zendesk.com/hc/en-us/articles/11712552235154"
The contents can contain HTML tags so there's no need to strip the HTML tags out. And indeed the tags can help as they give structure to the articles and that structure helps the search understand the article sections.
The CSV files cannot be reimported automatically so if your content changes, you need to create a new CSV and import that.
Using the Web Crawler as a Knowledge Source
“Web Crawler” is an available Knowledge Source option when setting up an Ultimate GPT bot. It means that UltimateGPT bots can retrieve information from a web page.
To set it up click “Add Source” and select “Web Crawler”.
Choose a name for your new Knowledge Source. It is how you will identify it in our dashboard.
Insert the URL you want the Web Crawler to go through. The Web Crawler will only collect information from pages listed in the Start URL and their sub-pages. By activating the Crawl exact URL the Web Cawler will only collect information from pages listed in the Start URL’s section without the sub-pages. If disabled, the Web Crawler crawler will apply a maximum crawling depth of 15 sub-pages.
The Web Crawler is best suited to get information from a knowledge base, a FAQ, or a product description page. It is less suited to e-commerce web shops. For e-commerce pages, we recommend our users build an integration able to retrieve the relevant product information.
Using the Include URLs and Exlude URLs settings allows you to customize the crawling scope. Note that this affects only the links found on the pages, when crawling sub-pages. If you want to crawl a page, make sure to specify its URL in the Start URLs field.
Include URLs example
If the URL structure is inconsistent as in the example below.
Start URL: https://support.example.com/en/support/home
Article URL: https://support.example.com/en/support/solutions/articles/…
You can add the following URL in the Include field:
https://support.example.com/en/support/**
This way the Web Crawler will include all of the articles even though their path is different from the starting URL.
Exclude URLs example
Start URL: https://www.example.com/en
This page is very broad and includes irrelevant pages (*e.g. careers page).
To exclude these irrelevant pages you would need to add the following URL in the Exclude field: https://wwwexample.com/en/careers/**
This way crawler will exclude all of the content from the careers page and its sub-pages.
Alongside plaintext, Globs have a set of control (or special) characters that allow them to become far more powerful than just plain text.
For example: https://support.example.com/** let the crawler access all URLs starting with https://support.example.com/
For example: https://{store,docs}.example.com/** let the crawler access all URLs starting with https://store.example.com/ or https://docs.example.com/
https://example.com/**/*\?*foo=* allows the crawler to access all URLs that contain foo query parameters with any value.
Learn more about globs and test them here.
Search Rules for Knowledge Sources
It can be helpful to create search rules to control which knowledge sources are used to find answers to a user’s question. For example, you could create search rules that use different knowledge sources based on the visitor’s locale or other session parameters to customise the experience for different visitor segments.
To configure search rules for your bot’s knowledge sources, go to the “Search Rules” tab on the UltimateGPT bot settings page.
The default rule to use all data sources will already be there. You can not delete this default rule but you can edit it if you want to configure a different default behaviour ie: to use one specific knowledge source as the default.
To create a new search rule, follow these steps:
- Click on the Create Rule button.
- Enter a name and optionally add a description for the rule.
- Select the knowledge sources that you want to include in the rule.
- In the Advanced Settings section, you can add conditions to each knowledge source. For example, you could add a condition that only includes articles that match a specific URL, locale or have a specific label.
- Click on the Save button.
Once you have created a search rule, you can use it in the dialogue builder by following these steps:
- Select the UltimateGPT Node that you want to edit.
- Turn off the “Use default search rule” toggle.
- Select the rule you want to use.
- Click on the Publish Changes button.
We recommend using the search rules in combination with conditional blocks in the dialogue builder. That way you can ensure that the bot provides the most relevant and accurate answers to your user’s queries based on parameters in the conversation session.
Examples
Multilingual Knowledge Sources
- Note the URL the language code for the versions of your knowledge base/ For example, we have en-us at the end of our URL for the American English version - ultimateai.zendesk.com/hc/en-us
- Create a search rule for each - "English KB" "Turkish KB" "Hebrew KB"
- In the GPT Reply of each language - define the correct KB
- You can also use Conditional Blocks based on active_language parameters so if active_language: heb ---> use "Hebrew KB"
Labelled Content
The label option within the search rules allows you to show or hide content based on the labels you apply to the articles. It could be you have member-specific pages or product-specific pages that you only want to be used if the user is identified. So within your dialogue flow, after you have done CRM, API, or metadata collection to verify a user, you can then show them gated content with the rule.
In the screenshot below I could use the ugpt label that is applied to this article and have a rule with conditional blocks that only shows this to people who are identified via our CRM as being on a package that contains UltimateGPT.