Websites
Crawl and index web pages from any public or authenticated website. Navigate to Content > Websites to manage web sources.Adding a Web Crawler
Click +Web Crawl and configure the following:Advanced Crawl Options
URL Filtering
Control which pages are crawled using rules:- Crawl everything — All discovered URLs
- Crawl everything except — Block URLs matching specified conditions
- Crawl only specific URLs — Allow only URLs matching specified conditions
Authentication
Search AI supports two authentication methods for protected websites: Basic HTTP Authentication- Username/email and password
- Optional authorization fields (headers, payload, query string, path parameters)
- Authentication URL (may differ from source URL)
- Test type: Text Presence, Redirection, or Status Code
- Form fields with key, type, and value
- Session maintained after initial authentication
- Same test options as Basic Auth
The crawl source type cannot be changed after the crawler is created. All other configuration fields can be updated at any time.
Managing Web Sources
If a page is manually deleted and the source is recrawled, the page reappears unless the crawl options are updated to exclude it — for example, by adding it to the block list under URL Filtering.
Troubleshooting
Documents
Upload and index files directly to Search AI. Navigate to Content > Documents to manage uploaded files.Supported Formats
PDF, DOCX, PPT, TXT, XLSX (scanned PDFs and password-protected files not supported)Upload Options
Upload Limits
Contact support to increase these limits.
Managing Documents
- View files: Click any directory to see its files with type and page count
- View file details: Click a file for preview, metadata, and JSON view
- Delete file: Actions > Delete (from directory or file details page)
- Delete directory: Actions > Delete (removes directory and all files)
- Search: Use search bar on Directory page or within directory details
For efficient ingestion of content from spreadsheets, see Ingestion from Spreadsheets.
Connectors
Pre-built integrations for 60+ third-party applications. Navigate to Content > Connectors to configure integrations. Once a connector is configured and authentication is completed:- Data from the third-party application is ingested, indexed, and made available for search within Search AI.
- The access privileges of the content are maintained as per the privileges assigned to the user in the third-party repository. This ensures that only the files accessible to the user in the third-party application are visible to the user via Search AI as well.
Connector Setup Workflow
To set up a new connector, select the application connector from All Connectors and provide the configuration details. Choose it from the list of supported connectors and enter the configuration details. For comprehensive instructions on setting up connectors, refer to the specific connector documentation.- Step 1: Authentication: Provide the necessary authentication details (OAuth credentials, API keys, tokens, etc) to establish a connection with the external application.
- Step 2: Manage Content: Choose the type of content to be ingested. Apply filters as needed and optionally customize field mappings to align source fields with the Search AI schema.
- Step 3: Permissions: Select the permission level for the users to access content.
- Step 4: Content: Once synchronization is complete, view the ingested content in the application. You can also configure a scheduler to enable automatic periodic synchronization.
- Step 5: Schedule Sync: View the Sync log and optionally enable automatic periodic synchronization.
Configuration Options
Content Types: Most connectors support multiple content types (pages, articles, tasks, tickets, documents). Select which types to ingest under the Ingestion section. Filters: Some connectors support selective ingestion by timeframe, category, user assignment, or other criteria. Field Mapping: Customize how source fields map to Search AI’s schema using custom scripts for data transformation. Learn More.Sync Operations
Managing Connectors
- Enable/Disable: Toggle connector without deleting data (disables sync temporarily). Disabling a connector doesn’t delete the ingested content. It disables any future data synchronization operation with the third-party application. The sync is resumed based on the configuration after the connector is enabled again.
- View content: Content tab lists ingested items with URLs and timestamps.
- Remove connector: Connection Setup > Remove Source. Deletes this content source. This will also delete any data in Search AI indexed from the content source.
- View Content Sync Logs: Connector Settings > Schedule Sync. Capture the full history of connector runs, including start/finish times, document counts, ingestion errors, and status. Sync logs are retained indefinitely.
- View Content Training Logs: Index Configuration > Train > View Training Logs. Use training logs to track training outcomes, identify errors, and ensure your content is ready for search. Training logs are retained for 30 days. For logs older than 30 days, only failed or skipped document details are available. Each log entry includes the training type (Full or Incremental), the time training was initiated, the number of documents successfully processed, the number of documents that encountered errors, the number of documents skipped due to no content found, and an overall status, marked as failed if any document fails. At the document level, each training job also records the document name, extraction strategy, transformation strategy applied, processing status, and the reason for any failure or skipping.
Custom Connector
For applications without a pre-built connector, the Custom Connector uses REST APIs via a middleware service, Custom Connector Service, provided by Search AI. Setup Steps:- Download the reference service implementation from Search AI.
- Configure
config.jsonwith application details and content fields. Set up authentication. - Make required changes to the service.
- Host the service.
- Configure the service endpoint in Search AI.
- The service processes content in batches of 30 documents.
- RACL support available via
sys_raclfield in config file. Use the Permission Entity APIs to add list of permitted users for the content.
JSON Connector
Upload structured data in JSON format for indexing.- Upload up to 10 files at once
- Maximum 15 MB per file
- Add to existing source or create new
Supported Connectors
Search AI provides out-of-the-box support for ingesting data from a range of third-party repositories. If you want to use a repository not listed below, contact us. RACL: Auto — permissions synced automatically from source; Manual — RACL available, manual entity management required; No — not supported.
¹ LumApps supports attachment ingestion.
For any connectors not listed above, use the Custom Connector or contact Kore.ai.
Role-based Access Control (RACL)
RACL ensures users only see content they’re authorized to access by synchronizing permissions from source applications. For example, if User A has access to policy documents and User B can only view FAQs, and both query a policy description — User A receives an answer sourced from the policy document, while User B receives an answer sourced from the FAQs. The response content differs based on each user’s access permissions.RACL in Search AI
RACL is supported for connector-sourced content only. It does not apply to websites or uploaded documents.
How RACL Works
Search AI enforces access control in three steps: Step 1 — Retrieve and Store Permissions During ingestion, the connector fetches permission data from the source application along with the content. This access information is stored in thesys_racl field of every indexed chunk.
Search AI handles two types of permissions:
When group permissions are involved, Search AI creates a Permission Entity for each group and stores it in
sys_racl. Individual users must then be associated with that Permission Entity — either automatically by the connector or manually via API.
Example — Group Permission
Consider a Google Drive file shared with two individuals and one group:
john.doe@example.com(individual)jane.doe@example.com(individual)testteam@example.com(group)
sys_racl field for the indexed chunks would look like this:
john.doe and jane.doe are matched directly. For testteam@example.com, Search AI must resolve which individual users belong to that group — either automatically (for supported connectors) or via the Permission Entity APIs.
To verify stored permissions:
- Go to Content and open the JSON view for any file.
- Check the
sys_raclfield to confirm what identities or entities are stored. - The same information is available per chunk in the Content Browser.
Step 2 — Verify User Identity at Query Time When a user submits a query, Search AI matches their identity against the
sys_racl field of indexed chunks. Only chunks where the user’s identity appears — directly or through a Permission Entity — are eligible to generate answers.
Access control rule: Only users whose identities appear in the
sys_racl field — directly or through a resolved Permission Entity — can view answers generated from that content. Step 3 — Resolve Group Identities Group-level permissions store a Permission Entity in
sys_racl rather than individual user identities. To enforce access at query time, Search AI must resolve which individual users belong to each Permission Entity.
This resolution works in two ways:
Automatic Resolution — For supported connectors, Search AI automatically fetches group membership data from the source and maintains up-to-date user-to-group mappings. No manual action is required.
Refer to this to know the list of connectors that support automatic resolution of permission entities.
Manual Resolution — For connectors without automatic resolution, use the Permission Entity APIs to manually associate users with each Permission Entity. Refer to individual connector documentation to confirm which method applies.
Enabling RACL
- Go to the Permissions page of the connector.
- Select Restricted Access.
Updating Permissions After Configuration Changes
RACL Scheduler
Access permissions change more frequently than content. Configure a separate permission sync schedule to keep RACL data up to date without triggering a full content re-sync.- Open the Permissions section of the connector.
- Enable Permissions Sync Scheduled.
- Set the desired time and frequency.
RACL Limitations
- Supported for connector content only — not for websites or uploaded documents.
- Switching from Restricted to Public Access automatically disables RACL.
- For connectors without automatic resolution, manual Permission Entity management via API is required.
For complex RACL requirements or custom access control implementations, contact us for expert guidance.
Email Notifications
Search AI can send email alerts for long-running tasks, including web crawls, connector syncs, and training jobs. You can choose to receive notifications only for failures or for all job events - start, complete, or fail. This lets you stay informed without having to manually check job status.- Notifications are disabled by default.
- Notifications are sent for both manually triggered and scheduled jobs.
- For new applications, Failures only is selected by default. Existing applications continue to receive notifications for All Events unless the setting is changed.
- Choose whether to receive notifications for failures only or all events.
- Select the Search AI modules for which you want to receive notifications.
- Add one or more team members as email recipients.
- Receive alerts for both manually triggered and scheduled jobs.
- On the Websites or Connectors page, click the email icon to open the Notification Settings in Search AI.
- Toggle the Enable switch on.
- Under Select Event Types, choose one of the following:
- Failures only — Receive email notifications only when a sync or training job fails or partially fails. Successful job notifications are suppressed.
- All Events — Receive email notifications for initiation, success, and failure events for the selected modules.
- Under Select Modules, choose one or more modules for which notifications are required.
- In the Send to users field, type an email address and press Enter. Repeat for each recipient.
- Click Save.