Knowledge Base
Interact with Knowledge Base API to manage folders, knowledge bases, articles, templates, documents, comments, and perform searches with AI-powered assistance.
Triggers
Events from this node that can start a flow. Add one from Choose a trigger.
Article Created
Triggered when a new article is created in the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, baseId is $trigger.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
Article Updated
Triggered when an article is updated in the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, baseId is $trigger.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
Article Deleted
Triggered when an article is deleted from the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, id is $trigger.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Document Created
Triggered when a new document is uploaded to the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, accessLevel is $trigger.output.accessLevel.
{
"accessLevel": "string",
"createdAt": "string",
"folderId": "string",
"id": "string",
"metadata": {},
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"type": "string",
"updatedAt": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Document access level (private, public) |
createdAt | Text | Creation timestamp |
folderId | Text | Folder ID (deprecated) |
id | Text | Unique identifier for the document |
metadata | Object | Document metadata |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
type | Text | Document type |
updatedAt | Text | Last update timestamp |
Document Updated
Triggered when a document is updated in the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, accessLevel is $trigger.output.accessLevel.
{
"accessLevel": "string",
"createdAt": "string",
"folderId": "string",
"id": "string",
"metadata": {},
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"type": "string",
"updatedAt": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Document access level (private, public) |
createdAt | Text | Creation timestamp |
folderId | Text | Folder ID (deprecated) |
id | Text | Unique identifier for the document |
metadata | Object | Document metadata |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
type | Text | Document type |
updatedAt | Text | Last update timestamp |
Document Deleted
Triggered when a document is deleted from the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, id is $trigger.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Folder Created
Triggered when a new folder is created in the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, breadcrumb is $trigger.output.breadcrumb.
{
"breadcrumb": "string",
"breadcrumbArray": [
"string"
],
"childFolderCount": 0,
"childKbCount": 0,
"count": 0,
"createdAt": "string",
"createdBy": "string",
"id": "string",
"name": "string",
"parentDirId": "string",
"path": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
breadcrumb | Text | Path by name (deprecated) |
breadcrumbArray[] | List | Path by name array |
childFolderCount | Number | Count of child folders |
childKbCount | Number | Count of child knowledge bases |
count | Number | Count of child items (deprecated) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the folder |
id | Text | Unique identifier for the folder |
name | Text | Folder name |
parentDirId | Text | Parent directory ID |
path | Text | Full path of the folder by ULID |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the folder |
Folder Updated
Triggered when a folder is updated in the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, breadcrumb is $trigger.output.breadcrumb.
{
"breadcrumb": "string",
"breadcrumbArray": [
"string"
],
"childFolderCount": 0,
"childKbCount": 0,
"count": 0,
"createdAt": "string",
"createdBy": "string",
"id": "string",
"name": "string",
"parentDirId": "string",
"path": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
breadcrumb | Text | Path by name (deprecated) |
breadcrumbArray[] | List | Path by name array |
childFolderCount | Number | Count of child folders |
childKbCount | Number | Count of child knowledge bases |
count | Number | Count of child items (deprecated) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the folder |
id | Text | Unique identifier for the folder |
name | Text | Folder name |
parentDirId | Text | Parent directory ID |
path | Text | Full path of the folder by ULID |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the folder |
Folder Deleted
Triggered when a folder is deleted from the knowledge base
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, id is $trigger.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Knowledge Base Created
Triggered when a new knowledge base is created
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, accessLevel is $trigger.output.accessLevel.
{
"accessLevel": "string",
"baseType": "string",
"createdAt": "string",
"createdBy": "string",
"datasourceId": "string",
"description": "string",
"id": "string",
"name": "string",
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"processType": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Access level (private, public) |
baseType | Text | Type of knowledge base (document, article, from_datasource) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the knowledge base |
datasourceId | Text | Datasource ID |
description | Text | Knowledge base description |
id | Text | Unique identifier for the knowledge base |
name | Text | Knowledge base name |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
processType | Text | Knowledge base processing type |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the knowledge base |
Knowledge Base Updated
Triggered when a knowledge base is updated
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, accessLevel is $trigger.output.accessLevel.
{
"accessLevel": "string",
"baseType": "string",
"createdAt": "string",
"createdBy": "string",
"datasourceId": "string",
"description": "string",
"id": "string",
"name": "string",
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"processType": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Access level (private, public) |
baseType | Text | Type of knowledge base (document, article, from_datasource) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the knowledge base |
datasourceId | Text | Datasource ID |
description | Text | Knowledge base description |
id | Text | Unique identifier for the knowledge base |
name | Text | Knowledge base name |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
processType | Text | Knowledge base processing type |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the knowledge base |
Knowledge Base Deleted
Triggered when a knowledge base is deleted
Settings
No settings.
Output
Later steps use this data through Current Trigger in the $ picker. For example, id is $trigger.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Actions
Steps this node can perform. Add one from Add a step, then pick the action.
List Folders
Retrieve a list of folders
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Parent Directory ID | Text | Parent directory ID (default: /root) | |
| Depth | Number | Maximum depth to traverse (max: 5, default: 2) Default: 2 | |
| Take | Number | Number of items to take Default: 100 |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
Create Folder
Create a new folder
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Name | Text | Yes | Folder name (max 60 characters, min 1 character, required by OpenAPI spec) |
| Parent Directory ID | Text | Parent directory ID (max 27 characters, default: /root) |
Output
Later steps use this data by picking this step in the $ picker. For example, breadcrumb is $.<step ID>.output.breadcrumb.
{
"breadcrumb": "string",
"breadcrumbArray": [
"string"
],
"childFolderCount": 0,
"childKbCount": 0,
"count": 0,
"createdAt": "string",
"createdBy": "string",
"id": "string",
"name": "string",
"parentDirId": "string",
"path": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
breadcrumb | Text | Path by name (deprecated) |
breadcrumbArray[] | List | Path by name array |
childFolderCount | Number | Count of child folders |
childKbCount | Number | Count of child knowledge bases |
count | Number | Count of child items (deprecated) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the folder |
id | Text | Unique identifier for the folder |
name | Text | Folder name |
parentDirId | Text | Parent directory ID |
path | Text | Full path of the folder by ULID |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the folder |
List Knowledge Bases
Retrieve a list of knowledge bases
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Parent Directory ID | Text | Parent directory ID (default: /root) | |
| Cursor | Text | Pagination cursor | |
| Take | Number | Number of items to take Default: 100 | |
| Direction | Choice | Pagination direction Options: Forward, Backward |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
Create Knowledge Base
Create a new knowledge base
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Name | Text | Yes | Knowledge base name (max 60 characters, min 1 character, required by OpenAPI spec) |
| Description | Text | Knowledge base description (max 255 characters, optional - can be null) | |
| Parent Directory ID | Text | Parent directory ID (max 27 characters, default: /root) | |
| Access Level | Choice | Yes | Access level (private or public) Options: Private, Public |
| Base Type | Choice | Yes | Type of knowledge base (article) Options: ArticleDefault: article |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"baseType": "string",
"createdAt": "string",
"createdBy": "string",
"datasourceId": "string",
"description": "string",
"id": "string",
"name": "string",
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"processType": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Access level (private, public) |
baseType | Text | Type of knowledge base (document, article, from_datasource) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the knowledge base |
datasourceId | Text | Datasource ID |
description | Text | Knowledge base description |
id | Text | Unique identifier for the knowledge base |
name | Text | Knowledge base name |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
processType | Text | Knowledge base processing type |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the knowledge base |
List Articles
Retrieve a list of articles with pagination, filtering, and sorting (based on OpenAPI /v20250606/articles/)
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Knowledge base ID to list articles from (optional) | |
| Status | Choice | Article status filter Options: Draft, Published | |
| Sort By | Choice | Sort by field (default: createdAt) Options: Created At, Updated At, Title | |
| Sort Order | Choice | Sort order (default: desc) Options: Ascending, Descending | |
| Include Knowledge Base Info | Yes / No | Whether to include knowledge base information in the response (default: false) | |
| Include User Info | Yes / No | Whether to include created by and updated by information in the response (default: false) | |
| Include Schedule Info | Yes / No | Whether to include schedule information in the response (default: false) | |
| Search Query | Text | Search query across articles (title, content, keywords) | |
| Cursor | Text | Pagination cursor (exclusive cursor key, max 400 chars) | |
| Take | Number | How many items to retrieve (min: 1, max: 100, default: 10) Default: 10 | |
| Direction | Choice | Direction to retrieve items (default: forward) Options: Forward, Backward |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
Create Article
Create a new article in a knowledge base (based on OpenAPI CreateArticleRequest)
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Yes | Knowledge base ID where the article will be created |
| Title | Text | Yes | Title of the article (max 255 characters, min 1 character, required by OpenAPI spec) |
| Content | Text | Yes | Content of the article (max 5000 characters, min 1 character, required by OpenAPI spec) |
| Status | Choice | Article status (default: published, based on OpenAPI ArticleStatus enum) Options: Published, DraftDefault: published | |
| Keywords | List | Keywords of the article for better searchability (array of strings, default: []) | |
| Custom Data | List | Custom data fields for additional metadata (array of CustomDataInput objects, default: []) | |
| Related Articles | List | Related article IDs (array of strings, max 5 items, default: []) |
Output
Later steps use this data by picking this step in the $ picker. For example, baseId is $.<step ID>.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
General Search
Search across all entities
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Search Query | Text | Yes | Search query |
| Entities | Multiple choice | Entity types to search (array of strings) Options: Folder, Base, Article, Document |
Output
Later steps use this data by picking this step in the $ picker. For example, query is $.<step ID>.output.query.
{
"query": "string",
"results": [
{
"data": [
"string"
],
"type": "string"
}
],
"took": 0,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
query | Text | Search query |
results[] | List | Search results |
results[].data[] | List | Entity payload |
results[].type | Text | Entity type |
took | Number | Time taken for search in milliseconds |
total | Number | Total number of results |
Retrieve Folder
Retrieve a specific folder by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Folder ID | Text | Yes | Folder ID to retrieve |
Output
Later steps use this data by picking this step in the $ picker. For example, breadcrumb is $.<step ID>.output.breadcrumb.
{
"breadcrumb": "string",
"breadcrumbArray": [
"string"
],
"childFolderCount": 0,
"childKbCount": 0,
"count": 0,
"createdAt": "string",
"createdBy": "string",
"id": "string",
"name": "string",
"parentDirId": "string",
"path": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
breadcrumb | Text | Path by name (deprecated) |
breadcrumbArray[] | List | Path by name array |
childFolderCount | Number | Count of child folders |
childKbCount | Number | Count of child knowledge bases |
count | Number | Count of child items (deprecated) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the folder |
id | Text | Unique identifier for the folder |
name | Text | Folder name |
parentDirId | Text | Parent directory ID |
path | Text | Full path of the folder by ULID |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the folder |
Update Folder
Update an existing folder
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Folder ID | Text | Yes | Folder ID to update (max 27 characters) |
| Name | Text | Yes | New folder name (max 60 characters, min 1 character, required by OpenAPI spec) |
Output
Later steps use this data by picking this step in the $ picker. For example, breadcrumb is $.<step ID>.output.breadcrumb.
{
"breadcrumb": "string",
"breadcrumbArray": [
"string"
],
"childFolderCount": 0,
"childKbCount": 0,
"count": 0,
"createdAt": "string",
"createdBy": "string",
"id": "string",
"name": "string",
"parentDirId": "string",
"path": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
breadcrumb | Text | Path by name (deprecated) |
breadcrumbArray[] | List | Path by name array |
childFolderCount | Number | Count of child folders |
childKbCount | Number | Count of child knowledge bases |
count | Number | Count of child items (deprecated) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the folder |
id | Text | Unique identifier for the folder |
name | Text | Folder name |
parentDirId | Text | Parent directory ID |
path | Text | Full path of the folder by ULID |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the folder |
Delete Folder
Delete a folder by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Folder ID | Text | Yes | Folder ID to delete |
Output
Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Folder Explorer
Advanced folder exploration with breadcrumb support and cursor pagination
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Parent Directory ID | Text | Parent directory ID (default: /root) | |
| Resolve Breadcrumb | Yes / No | Whether to resolve breadcrumb for each document (default: false) | |
| Cursor | Text | Exclusive cursor key for pagination (max: 400 chars) | |
| Take | Number | How many items to retrieve (max: 100, default: 10) Default: 10 | |
| Direction | Choice | Direction to retrieve items (default: forward) Options: Forward, Backward |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
Retrieve Knowledge Base
Retrieve a specific knowledge base by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Yes | Knowledge base ID to retrieve |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"baseType": "string",
"createdAt": "string",
"createdBy": "string",
"datasourceId": "string",
"description": "string",
"id": "string",
"name": "string",
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"processType": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Access level (private, public) |
baseType | Text | Type of knowledge base (document, article, from_datasource) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the knowledge base |
datasourceId | Text | Datasource ID |
description | Text | Knowledge base description |
id | Text | Unique identifier for the knowledge base |
name | Text | Knowledge base name |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
processType | Text | Knowledge base processing type |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the knowledge base |
Update Knowledge Base
Update an existing knowledge base
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Yes | Knowledge base ID to update |
| Name | Text | Yes | New knowledge base name (max 60 characters, min 1 character, required by OpenAPI spec) |
| Description | Text | New knowledge base description (max 255 characters, optional - can be null) | |
| Access Level | Choice | Yes | Access level (private or public) Options: Private, Public |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"baseType": "string",
"createdAt": "string",
"createdBy": "string",
"datasourceId": "string",
"description": "string",
"id": "string",
"name": "string",
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"processType": "string",
"updatedAt": "string",
"updatedBy": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Access level (private, public) |
baseType | Text | Type of knowledge base (document, article, from_datasource) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the knowledge base |
datasourceId | Text | Datasource ID |
description | Text | Knowledge base description |
id | Text | Unique identifier for the knowledge base |
name | Text | Knowledge base name |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
processType | Text | Knowledge base processing type |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the knowledge base |
Delete Knowledge Base
Delete a knowledge base by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Yes | Knowledge base ID to delete |
Output
Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Retrieve Article
Retrieve a specific article by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article ID to retrieve |
Output
Later steps use this data by picking this step in the $ picker. For example, baseId is $.<step ID>.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
Update Article
Update an existing article
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article ID to update |
| Knowledge Base ID | Text | Yes | Knowledge base ID for the article (present in API schema; not required by update endpoint). |
| Title | Text | Yes | New article title (max 255 characters) |
| Content | Text | Yes | New article content (max 5000 characters) |
| Status | Choice | Article status (default: published) Options: Published, DraftDefault: published | |
| Keywords | List | Article keywords for better searchability (array of strings) | |
| Custom Data | List | Custom data fields for additional metadata (array of CustomDataInput objects) | |
| Related Articles | List | Related article IDs (array of strings, max 5 items) |
Output
Later steps use this data by picking this step in the $ picker. For example, baseId is $.<step ID>.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
Delete Article
Delete an article by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Knowledge Base ID | Text | Yes | Knowledge base ID containing the article |
| Article ID | Text | Yes | Article ID to delete |
Output
Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Search Articles
Search specifically for articles
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Search Query | Text | Yes | Search query for articles |
| Knowledge Base ID | Text | Limit search to specific knowledge base |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
List Documents
Retrieve a paginated list of documents by parent directory ID (based on OpenAPI /documents)
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Parent Directory ID | Text | Parent directory ID to filter documents (max 50 characters, default: /root) | |
| Resolve Breadcrumb | Yes / No | Whether to resolve breadcrumb for each document (default: false) | |
| Cursor | Text | Exclusive cursor key for pagination (max 400 characters) | |
| Take | Number | How many items to retrieve (min: 1, max: 100, default: 10) Default: 10 | |
| Direction | Choice | Direction to retrieve items (default: forward) Options: Forward, Backward |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
Retrieve Document
Retrieve a specific document by ID (based on OpenAPI /documents/{documentId})
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Document ID | Text | Yes | Document ID to retrieve |
| Resolve Breadcrumb | Yes / No | Whether to resolve breadcrumb for the document (default: false) |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"createdAt": "string",
"folderId": "string",
"id": "string",
"metadata": {},
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"type": "string",
"updatedAt": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Document access level (private, public) |
createdAt | Text | Creation timestamp |
folderId | Text | Folder ID (deprecated) |
id | Text | Unique identifier for the document |
metadata | Object | Document metadata |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
type | Text | Document type |
updatedAt | Text | Last update timestamp |
Update Document
Update an existing document
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Document ID | Text | Yes | Document ID to update |
| Name | Text | New document name (max 255 chars) | |
| Access Level | Choice | Document access level (default: private) Options: Private, Public |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"createdAt": "string",
"folderId": "string",
"id": "string",
"metadata": {},
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"type": "string",
"updatedAt": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Document access level (private, public) |
createdAt | Text | Creation timestamp |
folderId | Text | Folder ID (deprecated) |
id | Text | Unique identifier for the document |
metadata | Object | Document metadata |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
type | Text | Document type |
updatedAt | Text | Last update timestamp |
Delete Document
Delete a document by ID
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Document ID | Text | Yes | Document ID to delete |
Output
Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.
{
"id": "string",
"message": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
id | Text | ID of deleted item |
message | Text | Success message |
Document Upload
Upload a file directly to the Knowledge Base. The node inspects the file for name, content type, and size automatically — only specify the target folder.
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| File | File | Yes | The file to upload (from a previous node's output). Name, content type, and size are extracted automatically. |
| Folder ID | Text | Yes | KB folder ID to upload the file into (e.g. /root or a folder ULID) |
| Access Level | Choice | Document visibility Options: Private, PublicDefault: public |
Output
Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.
{
"accessLevel": "string",
"createdAt": "string",
"folderId": "string",
"id": "string",
"metadata": {},
"parentDirBreadcrumb": "string",
"parentDirBreadcrumbArray": [
"string"
],
"parentDirId": "string",
"parentDirPath": "string",
"type": "string",
"updatedAt": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
accessLevel | Text | Document access level (private, public) |
createdAt | Text | Creation timestamp |
folderId | Text | Folder ID (deprecated) |
id | Text | Unique identifier for the document |
metadata | Object | Document metadata |
parentDirBreadcrumb | Text | Path by name (deprecated) |
parentDirBreadcrumbArray[] | List | Path by name array |
parentDirId | Text | Parent directory ID |
parentDirPath | Text | Path by ULID |
type | Text | Document type |
updatedAt | Text | Last update timestamp |
Get Document Download Link
Get a download link for a document
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Document ID | Text | Yes | Document ID to get download link for |
Output
Later steps use this data by picking this step in the $ picker. For example, downloadUrl is $.<step ID>.output.downloadUrl.
{
"downloadUrl": "string",
"downloadUrlExpires": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
downloadUrl | Text | Download URL for the document |
downloadUrlExpires | Text | Expiration time for the download URL |
Create Article Shortcut
Create a shortcut to an existing article
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article ID to create shortcut for |
| Knowledge Base ID | Text | Yes | Knowledge base ID to create shortcut in |
Output
Later steps use this data by picking this step in the $ picker. For example, baseId is $.<step ID>.output.baseId.
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"createdAt": "string",
"createdBy": "string",
"customData": [
{
"dataType": "string",
"description": "string",
"title": "string",
"value": "string"
}
],
"datasourceId": "string",
"dislikeCount": 0,
"entityType": "string",
"id": "string",
"isShortcut": false,
"keywords": [
"string"
],
"likeCount": 0,
"originArticleId": "string",
"relatedArticles": [
{
"baseId": "string",
"content": "string",
"contentRaw": "string",
"deletedAt": "string",
"status": "string",
"title": "string"
}
],
"shortcutArticleIds": [
"string"
],
"status": "string",
"title": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": 0,
"viewCount": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
baseId | Text | Knowledge base ID |
content | Text | Article content |
contentRaw | Text | Raw content of the article (HTML, Markdown, etc.) |
createdAt | Text | Creation timestamp |
createdBy | Text | User who created the article |
customData[] | List | Custom data fields |
customData[].dataType | Text | Custom field data type |
customData[].description | Text | Custom field description |
customData[].title | Text | Custom field title |
customData[].value | Any | Custom field value |
datasourceId | Text | Datasource ID |
dislikeCount | Number | Number of dislikes |
entityType | Text | Type of entity (article or article-shortcut) |
id | Text | Unique identifier for the article |
isShortcut | Yes / No | Whether this article is a shortcut |
keywords[] | List | Article keywords |
likeCount | Number | Number of likes |
originArticleId | Text | Original article ID if this is a shortcut |
relatedArticles[] | List | Related articles |
relatedArticles[].baseId | Text | Base ID of the related article |
relatedArticles[].content | Text | Content of the related article |
relatedArticles[].contentRaw | Text | Raw content of the related article |
relatedArticles[].deletedAt | Text | Deletion time; empty unless the related article was deleted |
relatedArticles[].status | Text | Status of the related article |
relatedArticles[].title | Text | Title of the related article |
shortcutArticleIds[] | List | List of shortcut article IDs |
status | Text | Article status (draft, published, etc.) |
title | Text | Article title |
updatedAt | Text | Last update timestamp |
updatedBy | Text | User who last updated the article |
version | Number | Article version |
viewCount | Number | Number of views |
Ask
Ask a question to the knowledge base
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Base IDs | List | List of Base IDs (array of strings) | |
| Folder IDs | List | List of Folder IDs (array of strings) | |
| Document IDs | List | List of Document IDs (array of strings) | |
| Question | Text | Yes | Question to ask |
| Mode | Choice | Yes | Mode to use for asking Options: Search, RAGDefault: rag |
| Metadata | Object | Request metadata (required by OpenAPI spec) | |
| Stream | Yes / No | It always false Default: false | |
| Score Threshold | Number | Accuracy threshold for RAG mode (0.1 - 1.0, default: 0.5) Default: 0.5 | |
| Similarity Threshold | Number | Similarity threshold for Search mode (0.1 - 1.0, default: 0.5) Default: 0.5 | |
| Debug | Yes / No | Enable debug mode | |
| Custom Prompt | Text | Custom prompt for the request | |
| Max References | Number | Maximum number of references to return Default: 5 | |
| Exclude Shortcut Articles | Yes / No | Exclude shortcut articles so duplicates do not consume search result slots Default: true |
Output
Later steps use this data by picking this step in the $ picker. For example, answer is $.<step ID>.output.answer.
{
"answer": "string",
"debugInfo": [],
"references": [],
"type": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
answer | Text | Generated answer |
debugInfo[] | List | Debug information |
references[] | List | Reference sources |
type | Text | Response type (text or html) |
Custom Ask
Ask a question to the knowledge base with custom parameters
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Base IDs | List | List of Base IDs (array of strings) | |
| Folder IDs | List | List of Folder IDs (array of strings) | |
| Document IDs | List | List of Document IDs (array of strings) | |
| Question | Text | Yes | Question to ask |
| Mode | Choice | Mode to use for asking Options: Search, RAGDefault: rag | |
| Metadata | Object | Yes | Request metadata (required by OpenAPI spec) |
| Stream | Yes / No | It always false Default: false | |
| Score Threshold | Number | Accuracy threshold for RAG mode (0.1 - 1.0, default: 0.5) Default: 0.5 | |
| Similarity Threshold | Number | Similarity threshold for Search mode (0.1 - 1.0, default: 0.5) Default: 0.5 | |
| Debug | Yes / No | Enable debug mode | |
| Custom Prompt | Text | Yes | Custom prompt for the request |
| Max References | Number | Maximum number of references to return Default: 5 | |
| Allow Search Private Bases | Yes / No | Allow searching private knowledge bases | |
| Exclude Shortcut Articles | Yes / No | Exclude shortcut articles so duplicates do not consume search result slots Default: true |
Output
Later steps use this data by picking this step in the $ picker. For example, answer is $.<step ID>.output.answer.
{
"answer": "string",
"references": [],
"type": "string"
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
answer | Text | Generated answer |
references[] | List | Reference sources |
type | Text | Response type (text or html) |
Analyze Article Quality
Score an article's content with the KB quality evaluator (one LLM call). Does not modify the article.
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article ID used for tracking |
| Title | Text | Yes | Article title to analyze |
| Content | Text | Yes | Article content to analyze |
| Language | Choice | Language for recommendations (auto-detected when empty) Options: English, Japanese |
Output
Later steps use this data by picking this step in the $ picker. For example, articleId is $.<step ID>.output.articleId.
{
"articleId": "string",
"recommendations": [],
"relevanceScore": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
articleId | Text | Article that was analyzed |
recommendations[] | List | Actionable improvement recommendations |
relevanceScore | Number | Overall quality score (0-100) |
Get Article Statistics
Retrieve hourly view/like/dislike statistics for an article with pre-summed totals
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article ID (shortcuts resolve to their origin) |
| From | Text | Start of the time range (ISO 8601, e.g. 2026-06-01T00:00:00Z) | |
| To | Text | End of the time range (ISO 8601) | |
| Product | Choice | Restrict to one product Options: FAQ, Chatbot, AI Widget, Page |
Output
Later steps use this data by picking this step in the $ picker. For example, data is $.<step ID>.output.data.
{
"data": [],
"totalDislikes": 0,
"totalLikes": 0,
"totalViews": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
data[] | List | Hourly buckets: id, product, viewCount, likeCount, dislikeCount, hour |
totalDislikes | Number | Sum of dislikeCount across buckets |
totalLikes | Number | Sum of likeCount across buckets |
totalViews | Number | Sum of viewCount across buckets |
Find Similar Articles
Return the nearest articles by embedding similarity with their scores (excludes the article itself and its shortcuts)
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Article ID | Text | Yes | Article to compare |
| Candidates | Number | Number of similar articles to return Default: 5 | |
| Minimum Score | Number | Only return candidates with a raw similarity score at or above this value (0-1). 0 or omitted uses the default of 0.8 Default: 0.8 | |
| Restrict to Base IDs | List | Only consider candidates from these knowledge bases (max 20). Omit to search the whole workspace |
Output
Later steps use this data by picking this step in the $ picker. For example, data is $.<step ID>.output.data.
{
"data": []
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
data[] | List | Items: articleId, title, score (raw KNN score, 1.0 = identical) |
List Unused Articles
List published articles whose total view count is at or below a threshold (0 = never viewed)
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Base IDs | List | Yes | Knowledge bases to scan. Private-access bases are included |
| Max Views | Number | Include articles with at most this many total views Default: 0 | |
| Take | Number | Page size Default: 50 | |
| Cursor | Text | Pagination cursor from the previous call | |
| Products | List | Only count views from this product (faq, chatbot, aiwidget or page). At most one product is accepted |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"data": [],
"hasMore": false,
"total": 0
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Pagination cursor |
data[] | List | List of items |
hasMore | Yes / No | Whether there are more items |
total | Number | Total number of items |
KB Sweep
Sweep knowledge bases for unused, low-quality and duplicate articles. Findings only - never modifies articles. Stops at maxArticles, budgetSeconds or maxQualityCalls and returns truncated=true with a cursor; call again with that cursor and the same inputs until truncated is false. Each continuation picks up at the next unchecked article, so nothing is skipped or repeated. The unused search is paged first and completes across calls before per-article checks start.
Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Base IDs | List | Yes | Knowledge bases to sweep. Private-access bases are included |
| Exclude Base IDs | List | Knowledge bases that must never be swept (e.g. EBIS/DMS) | |
| Checks | Multiple choice | Which checks to run (default: all) Options: Unused articles, Low quality, Duplicates | |
| Min Relevance Score | Number | Articles scoring below this are reported as low quality. 0 or omitted uses the default of 30. The scorer is strict (complete answers often score 40-50), so calibrate on your own content Default: 30 | |
| Min Similarity | Number | Raw similarity score at or above which two articles are reported as duplicates (0-1). 0 or omitted uses the default of 0.85 Default: 0.85 | |
| Similar Candidates | Number | Nearest neighbours to fetch per article Default: 5 | |
| Max Articles | Number | Articles to scan per call before returning truncated=true Default: 200 | |
| Max Quality Calls | Number | LLM quality calls allowed per call (only articles without a stored score need one). 0 or omitted uses the default of 100; each call is a real LLM request, so lower it when testing. When it is reached the call returns a cursor and the next call continues Default: 100 | |
| Concurrency | Number | Parallel article checks Default: 4 | |
| Time Budget (s) | Number | Stop starting new articles after this many seconds and return a cursor. Articles already being checked are finished first Default: 150 | |
| Cursor | Text | Opaque cursor returned by the previous call | |
| Duplicate Scope | Choice | Where duplicate candidates come from. 'bases' (default) only reports duplicates among the swept bases, so copies of the same content in other bases cannot crowd out the near-duplicate inside the base being swept. 'workspace' also reports copies living in other bases Options: Swept bases only, Whole workspaceDefault: bases | |
| Include Content Excerpt | Yes / No | Attach the first 2000 characters of each article to its finding Default: true |
Output
Later steps use this data by picking this step in the $ picker. For example, cursor is $.<step ID>.output.cursor.
{
"cursor": "string",
"findings": [],
"stats": {},
"truncated": false
}Example values show the shape of the data, not real values. See Using data from earlier steps.
Field descriptions
| Field | Type | Description |
|---|---|---|
cursor | Text | Opaque cursor to pass to the next call while truncated is true |
findings[] | List | Items: type (unused | low_quality | duplicates), articleId, title, baseId, evidence, relatedArticleIds, dedupeKey. A duplicates item is one cluster of near-identical articles |
stats | Object | scanned, errors, errorSamples, qualityCalls, similarCalls, elapsedMs, stoppedBy (the limit that ended a truncated call) |
truncated | Yes / No | True when budgetSeconds, maxArticles or maxQualityCalls stopped the sweep early |