Start by creating a new Ingestion under Search > Configure Search > Classic Ingestion > Internal Knowledge


Select all the categories of articles that you want to ingest. For some systems like ServiceNow basic filtering options like selection of tables and default filtering options are provided. You can click on the edit icon on right side to have a look at these options.
Note: Basic filtering in wizard flow is only supported for some systems. You might not find edit icon for all the systems.
Note: For few systems like Zendesk, content needs to exist in the category else these categories might not show up in this view.
For example, in the case of ServiceNow the following options are available:

Depending on your use case, you may choose to use Advance mode to ingest your knowledge base. You should use Advance mode if you need custom tables as part of the configuration, or if you require custom filtering of articles. To use Advance mode, click on the toggle next to Advance mode, and proceed to the Advance mode section of this guide to learn how to setup your knowledge in this mode.
Now that you’ve selected your KBs, click on Next: Sample URL to provide the sample article URL.
Provide a sample URL
In this step you will be asked to provide a sample URL, this is the end user facing article URL. Whenever your queries are answered by Moveworks, a user facing link to the article it referred to is also provided so that the user can be redirected to the complete article.
Here is how you get a sample URL for ServiceNow:
Note: This step might not be present for systems where it is not possible for us to fetch sample URL automatically.
Now that you’ve provided a sample article URL, click on Next: Review Samples to go to the final step which is Validation.
Review Samples
Here you can confirm whether the configurations you made are correct. You can always click on Back and make changes.
This page also displays the article count is the total number of articles that will be ingested into Moveworks based on the configurations you just completed. This is not a sample count.

By using Advance mode you have greater control over which articles to ingest. For example, you can define who can access these articles, or you can use customize filters for various knowledge categories.
How to get to Advance mode?
You will find a toggle on the top right corner on the Setup Knowledge Bases step. Toggle this on and you will be taken to Advance mode. Please note that once you switch to Advance mode, all your current progress will be lost.

Note : Some systems that do not support wizard flow will directly take you to Advance mode.
What can you do in Advance mode ? There are multiple controls offered in Advance mode. You can look at the descriptions and make the configurations yourself. Apart from the multiple controls that you discover on this page, there is one major feature of Advance mode:
Select Ingestion System - Moveworks has a wide list of systems that support knowledge ingestion from which will be listed here. We will be selecting SNOW Config for this example.
Start URLs - In order to ingest the Articles from a Knowledge base, the user would need to explicitly mention the complete URL which will be used in the API call. They commonly follow the below structure :

Knowledge Article Filter Rule - This DSL field can be used to filter out Articles in the source system from being ingested. The steps of how to configure this can be followed here.
Field Overrides > Article Url Override - This is the URL template Moveworks will leverage when generating hyperlinks to the article in the source platform in order to generate this for all the ingested Articles.

Variables accessible in Article URL override config:
Per ServiceNow’s Guidance, when versioning is enabled, the article_id is what should be used in the URL template.
In some cases you may want to use the sys_id instead. In these cases, your URL may look like:
In order to Mirror Permissions from ServiceNow for the associated Knowledge, Moveworks also needs to ingest the User Criteria linked to the Knowledge Articles.
Start by creating the User Criteria Ingestion Config which is under Core Platform > Resource Permissions > Mirror Permissions

Finally, navigate to Resource Permissions > Permissions Rules under the Core Platform section in the left navbar. Here you will create a new Permission Rule for allowing Serving of Knowledge, ingested from an integration.

The permissions configuration requires the below details in order to serve up the respective Resource, the Rule associates with.
Always create the initial Permission Strategy to use ABAC with the Rule set to TRUE so the serving can be tested.
You can also write a DSL Rule here utilising user attributes to enable it for subset of users. Example here.
This strategy evaluates the permission rules written in Moveworks DSL Language. You can learn more about the DSL Syntax in the Guide here .
Resource Rule
KB Rule - This is where users will write the DSL rules in the MWDSL Syntax
Boolean Rule
Ex. TRUE or FALSE
⚠️ This acts as the master control here where it enables or disables the serving of content for this integration completely

Attribute Rule
Allowing Knowledge to be served for a subset of user. Ex. user.email_addr IN ["zeeyousuf@moveworks.ai"]

Allowing only certain Articles to be served within the Bot. Ex. resource.article_id IN ["12345","5678"]

Allowing users who have a specific user-tag associated with their Record, access to the Articles in the Bot. Ex. (("HAS_ACCESS_TO_BOT" IN user.user_tags) OR ("MOVEWORKS_INTERNAL_USER" IN user.user_tags))

Integration ID - The connector which is being used to ingest the knowledge content.
Resource Type - Resource Type for which the Rule will apply. Ex. kb, file etc.
Action - ACTION_VIEW
Ignoring to do this can result in a syntactically wrong rule being saved which could cause issues in serving knowledge
Once you have submitted the Resource Permissions ingestion configuration, it will kick off the Ingestion pipeline in the background, the details of the Ingestion times is present in the Moveworks Ingestion Schedule. It is recommended to wait a day before testing this out.
In order to validate the Permissions users would need to change the Permission Rules which were set to ABAC earlier to now use the Mirroring Strategy which is ReBac.
ReBac- Mirroring External System Permissions - This strategy mirrors the permission rules on the External Knowledge source by ingesting them on the Moveworks end. This is currently only supported for ServiceNow
Additional Access
In this drop down, Moveworks requires the user to select the Resource Type, on which the rule will apply. Ex. KB Rule
KB Rule - There are is where the user will write the DSL rules in the MWDSL Syntax. If the Rule is left empty it will default to TRUE.

Additional Restrictions
In this drop down Moveworks requires the user to select the Resource Type, on which the rule will apply. Ex. KB Rule
KB Rule - There are is where users will write the DSL rules in the MWDSL Syntax. If the Rule is left empty it will default to TRUE. You can also write rules utilising internal Attributes which allow knowledge from a specific knowledge base to be served and not others.

Integration ID - The connector which is being used to ingest the knowledge content.
Resource Type - Resource Type for which the Rule will apply. Ex. kb, file etc.
Action - ACTION_VIEW
You should now be good to start testing the serving of Knowledge which permissions are being mirrored from the external system.