Skip to content

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.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber 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.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber 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.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess 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.

json
{
  "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
FieldTypeDescription
accessLevelTextDocument access level (private, public)
createdAtTextCreation timestamp
folderIdTextFolder ID (deprecated)
idTextUnique identifier for the document
metadataObjectDocument metadata
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
typeTextDocument type
updatedAtTextLast 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.

json
{
  "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
FieldTypeDescription
accessLevelTextDocument access level (private, public)
createdAtTextCreation timestamp
folderIdTextFolder ID (deprecated)
idTextUnique identifier for the document
metadataObjectDocument metadata
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
typeTextDocument type
updatedAtTextLast 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.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess 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.

json
{
  "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
FieldTypeDescription
breadcrumbTextPath by name (deprecated)
breadcrumbArray[]ListPath by name array
childFolderCountNumberCount of child folders
childKbCountNumberCount of child knowledge bases
countNumberCount of child items (deprecated)
createdAtTextCreation timestamp
createdByTextUser who created the folder
idTextUnique identifier for the folder
nameTextFolder name
parentDirIdTextParent directory ID
pathTextFull path of the folder by ULID
updatedAtTextLast update timestamp
updatedByTextUser 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.

json
{
  "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
FieldTypeDescription
breadcrumbTextPath by name (deprecated)
breadcrumbArray[]ListPath by name array
childFolderCountNumberCount of child folders
childKbCountNumberCount of child knowledge bases
countNumberCount of child items (deprecated)
createdAtTextCreation timestamp
createdByTextUser who created the folder
idTextUnique identifier for the folder
nameTextFolder name
parentDirIdTextParent directory ID
pathTextFull path of the folder by ULID
updatedAtTextLast update timestamp
updatedByTextUser 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.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess 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.

json
{
  "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
FieldTypeDescription
accessLevelTextAccess level (private, public)
baseTypeTextType of knowledge base (document, article, from_datasource)
createdAtTextCreation timestamp
createdByTextUser who created the knowledge base
datasourceIdTextDatasource ID
descriptionTextKnowledge base description
idTextUnique identifier for the knowledge base
nameTextKnowledge base name
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
processTypeTextKnowledge base processing type
updatedAtTextLast update timestamp
updatedByTextUser 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.

json
{
  "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
FieldTypeDescription
accessLevelTextAccess level (private, public)
baseTypeTextType of knowledge base (document, article, from_datasource)
createdAtTextCreation timestamp
createdByTextUser who created the knowledge base
datasourceIdTextDatasource ID
descriptionTextKnowledge base description
idTextUnique identifier for the knowledge base
nameTextKnowledge base name
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
processTypeTextKnowledge base processing type
updatedAtTextLast update timestamp
updatedByTextUser 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.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess 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

FieldTypeRequiredDescription
Parent Directory IDTextParent directory ID (default: /root)
DepthNumberMaximum depth to traverse (max: 5, default: 2)
Default: 2
TakeNumberNumber 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

Create Folder ​

Create a new folder

Settings

FieldTypeRequiredDescription
NameTextYesFolder name (max 60 characters, min 1 character, required by OpenAPI spec)
Parent Directory IDTextParent 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.

json
{
  "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
FieldTypeDescription
breadcrumbTextPath by name (deprecated)
breadcrumbArray[]ListPath by name array
childFolderCountNumberCount of child folders
childKbCountNumberCount of child knowledge bases
countNumberCount of child items (deprecated)
createdAtTextCreation timestamp
createdByTextUser who created the folder
idTextUnique identifier for the folder
nameTextFolder name
parentDirIdTextParent directory ID
pathTextFull path of the folder by ULID
updatedAtTextLast update timestamp
updatedByTextUser who last updated the folder

List Knowledge Bases ​

Retrieve a list of knowledge bases

Settings

FieldTypeRequiredDescription
Parent Directory IDTextParent directory ID (default: /root)
CursorTextPagination cursor
TakeNumberNumber of items to take
Default: 100
DirectionChoicePagination 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

Create Knowledge Base ​

Create a new knowledge base

Settings

FieldTypeRequiredDescription
NameTextYesKnowledge base name (max 60 characters, min 1 character, required by OpenAPI spec)
DescriptionTextKnowledge base description (max 255 characters, optional - can be null)
Parent Directory IDTextParent directory ID (max 27 characters, default: /root)
Access LevelChoiceYesAccess level (private or public)
Options: Private, Public
Base TypeChoiceYesType of knowledge base (article)
Options: Article
Default: article

Output

Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.

json
{
  "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
FieldTypeDescription
accessLevelTextAccess level (private, public)
baseTypeTextType of knowledge base (document, article, from_datasource)
createdAtTextCreation timestamp
createdByTextUser who created the knowledge base
datasourceIdTextDatasource ID
descriptionTextKnowledge base description
idTextUnique identifier for the knowledge base
nameTextKnowledge base name
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
processTypeTextKnowledge base processing type
updatedAtTextLast update timestamp
updatedByTextUser who last updated the knowledge base

List Articles ​

Retrieve a list of articles with pagination, filtering, and sorting (based on OpenAPI /v20250606/articles/)

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextKnowledge base ID to list articles from (optional)
StatusChoiceArticle status filter
Options: Draft, Published
Sort ByChoiceSort by field (default: createdAt)
Options: Created At, Updated At, Title
Sort OrderChoiceSort order (default: desc)
Options: Ascending, Descending
Include Knowledge Base InfoYes / NoWhether to include knowledge base information in the response (default: false)
Include User InfoYes / NoWhether to include created by and updated by information in the response (default: false)
Include Schedule InfoYes / NoWhether to include schedule information in the response (default: false)
Search QueryTextSearch query across articles (title, content, keywords)
CursorTextPagination cursor (exclusive cursor key, max 400 chars)
TakeNumberHow many items to retrieve (min: 1, max: 100, default: 10)
Default: 10
DirectionChoiceDirection 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

Create Article ​

Create a new article in a knowledge base (based on OpenAPI CreateArticleRequest)

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextYesKnowledge base ID where the article will be created
TitleTextYesTitle of the article (max 255 characters, min 1 character, required by OpenAPI spec)
ContentTextYesContent of the article (max 5000 characters, min 1 character, required by OpenAPI spec)
StatusChoiceArticle status (default: published, based on OpenAPI ArticleStatus enum)
Options: Published, Draft
Default: published
KeywordsListKeywords of the article for better searchability (array of strings, default: [])
Custom DataListCustom data fields for additional metadata (array of CustomDataInput objects, default: [])
Related ArticlesListRelated 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.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber of views

Search across all entities

Settings

FieldTypeRequiredDescription
Search QueryTextYesSearch query
EntitiesMultiple choiceEntity 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.

json
{
  "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
FieldTypeDescription
queryTextSearch query
results[]ListSearch results
results[].data[]ListEntity payload
results[].typeTextEntity type
tookNumberTime taken for search in milliseconds
totalNumberTotal number of results

Retrieve Folder ​

Retrieve a specific folder by ID

Settings

FieldTypeRequiredDescription
Folder IDTextYesFolder ID to retrieve

Output

Later steps use this data by picking this step in the $ picker. For example, breadcrumb is $.<step ID>.output.breadcrumb.

json
{
  "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
FieldTypeDescription
breadcrumbTextPath by name (deprecated)
breadcrumbArray[]ListPath by name array
childFolderCountNumberCount of child folders
childKbCountNumberCount of child knowledge bases
countNumberCount of child items (deprecated)
createdAtTextCreation timestamp
createdByTextUser who created the folder
idTextUnique identifier for the folder
nameTextFolder name
parentDirIdTextParent directory ID
pathTextFull path of the folder by ULID
updatedAtTextLast update timestamp
updatedByTextUser who last updated the folder

Update Folder ​

Update an existing folder

Settings

FieldTypeRequiredDescription
Folder IDTextYesFolder ID to update (max 27 characters)
NameTextYesNew 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.

json
{
  "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
FieldTypeDescription
breadcrumbTextPath by name (deprecated)
breadcrumbArray[]ListPath by name array
childFolderCountNumberCount of child folders
childKbCountNumberCount of child knowledge bases
countNumberCount of child items (deprecated)
createdAtTextCreation timestamp
createdByTextUser who created the folder
idTextUnique identifier for the folder
nameTextFolder name
parentDirIdTextParent directory ID
pathTextFull path of the folder by ULID
updatedAtTextLast update timestamp
updatedByTextUser who last updated the folder

Delete Folder ​

Delete a folder by ID

Settings

FieldTypeRequiredDescription
Folder IDTextYesFolder ID to delete

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess message

Folder Explorer ​

Advanced folder exploration with breadcrumb support and cursor pagination

Settings

FieldTypeRequiredDescription
Parent Directory IDTextParent directory ID (default: /root)
Resolve BreadcrumbYes / NoWhether to resolve breadcrumb for each document (default: false)
CursorTextExclusive cursor key for pagination (max: 400 chars)
TakeNumberHow many items to retrieve (max: 100, default: 10)
Default: 10
DirectionChoiceDirection 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

Retrieve Knowledge Base ​

Retrieve a specific knowledge base by ID

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextYesKnowledge 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.

json
{
  "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
FieldTypeDescription
accessLevelTextAccess level (private, public)
baseTypeTextType of knowledge base (document, article, from_datasource)
createdAtTextCreation timestamp
createdByTextUser who created the knowledge base
datasourceIdTextDatasource ID
descriptionTextKnowledge base description
idTextUnique identifier for the knowledge base
nameTextKnowledge base name
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
processTypeTextKnowledge base processing type
updatedAtTextLast update timestamp
updatedByTextUser who last updated the knowledge base

Update Knowledge Base ​

Update an existing knowledge base

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextYesKnowledge base ID to update
NameTextYesNew knowledge base name (max 60 characters, min 1 character, required by OpenAPI spec)
DescriptionTextNew knowledge base description (max 255 characters, optional - can be null)
Access LevelChoiceYesAccess 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.

json
{
  "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
FieldTypeDescription
accessLevelTextAccess level (private, public)
baseTypeTextType of knowledge base (document, article, from_datasource)
createdAtTextCreation timestamp
createdByTextUser who created the knowledge base
datasourceIdTextDatasource ID
descriptionTextKnowledge base description
idTextUnique identifier for the knowledge base
nameTextKnowledge base name
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
processTypeTextKnowledge base processing type
updatedAtTextLast update timestamp
updatedByTextUser who last updated the knowledge base

Delete Knowledge Base ​

Delete a knowledge base by ID

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextYesKnowledge 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.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess message

Retrieve Article ​

Retrieve a specific article by ID

Settings

FieldTypeRequiredDescription
Article IDTextYesArticle ID to retrieve

Output

Later steps use this data by picking this step in the $ picker. For example, baseId is $.<step ID>.output.baseId.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber of views

Update Article ​

Update an existing article

Settings

FieldTypeRequiredDescription
Article IDTextYesArticle ID to update
Knowledge Base IDTextYesKnowledge base ID for the article (present in API schema; not required by update endpoint).
TitleTextYesNew article title (max 255 characters)
ContentTextYesNew article content (max 5000 characters)
StatusChoiceArticle status (default: published)
Options: Published, Draft
Default: published
KeywordsListArticle keywords for better searchability (array of strings)
Custom DataListCustom data fields for additional metadata (array of CustomDataInput objects)
Related ArticlesListRelated 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.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber of views

Delete Article ​

Delete an article by ID

Settings

FieldTypeRequiredDescription
Knowledge Base IDTextYesKnowledge base ID containing the article
Article IDTextYesArticle ID to delete

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess message

Search Articles ​

Search specifically for articles

Settings

FieldTypeRequiredDescription
Search QueryTextYesSearch query for articles
Knowledge Base IDTextLimit 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

List Documents ​

Retrieve a paginated list of documents by parent directory ID (based on OpenAPI /documents)

Settings

FieldTypeRequiredDescription
Parent Directory IDTextParent directory ID to filter documents (max 50 characters, default: /root)
Resolve BreadcrumbYes / NoWhether to resolve breadcrumb for each document (default: false)
CursorTextExclusive cursor key for pagination (max 400 characters)
TakeNumberHow many items to retrieve (min: 1, max: 100, default: 10)
Default: 10
DirectionChoiceDirection 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal number of items

Retrieve Document ​

Retrieve a specific document by ID (based on OpenAPI /documents/{documentId})

Settings

FieldTypeRequiredDescription
Document IDTextYesDocument ID to retrieve
Resolve BreadcrumbYes / NoWhether 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.

json
{
  "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
FieldTypeDescription
accessLevelTextDocument access level (private, public)
createdAtTextCreation timestamp
folderIdTextFolder ID (deprecated)
idTextUnique identifier for the document
metadataObjectDocument metadata
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
typeTextDocument type
updatedAtTextLast update timestamp

Update Document ​

Update an existing document

Settings

FieldTypeRequiredDescription
Document IDTextYesDocument ID to update
NameTextNew document name (max 255 chars)
Access LevelChoiceDocument 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.

json
{
  "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
FieldTypeDescription
accessLevelTextDocument access level (private, public)
createdAtTextCreation timestamp
folderIdTextFolder ID (deprecated)
idTextUnique identifier for the document
metadataObjectDocument metadata
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
typeTextDocument type
updatedAtTextLast update timestamp

Delete Document ​

Delete a document by ID

Settings

FieldTypeRequiredDescription
Document IDTextYesDocument ID to delete

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextID of deleted item
messageTextSuccess 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

FieldTypeRequiredDescription
FileFileYesThe file to upload (from a previous node's output). Name, content type, and size are extracted automatically.
Folder IDTextYesKB folder ID to upload the file into (e.g. /root or a folder ULID)
Access LevelChoiceDocument visibility
Options: Private, Public
Default: public

Output

Later steps use this data by picking this step in the $ picker. For example, accessLevel is $.<step ID>.output.accessLevel.

json
{
  "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
FieldTypeDescription
accessLevelTextDocument access level (private, public)
createdAtTextCreation timestamp
folderIdTextFolder ID (deprecated)
idTextUnique identifier for the document
metadataObjectDocument metadata
parentDirBreadcrumbTextPath by name (deprecated)
parentDirBreadcrumbArray[]ListPath by name array
parentDirIdTextParent directory ID
parentDirPathTextPath by ULID
typeTextDocument type
updatedAtTextLast update timestamp

Get a download link for a document

Settings

FieldTypeRequiredDescription
Document IDTextYesDocument 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.

json
{
  "downloadUrl": "string",
  "downloadUrlExpires": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
downloadUrlTextDownload URL for the document
downloadUrlExpiresTextExpiration time for the download URL

Create Article Shortcut ​

Create a shortcut to an existing article

Settings

FieldTypeRequiredDescription
Article IDTextYesArticle ID to create shortcut for
Knowledge Base IDTextYesKnowledge 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.

json
{
  "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
FieldTypeDescription
baseIdTextKnowledge base ID
contentTextArticle content
contentRawTextRaw content of the article (HTML, Markdown, etc.)
createdAtTextCreation timestamp
createdByTextUser who created the article
customData[]ListCustom data fields
customData[].dataTypeTextCustom field data type
customData[].descriptionTextCustom field description
customData[].titleTextCustom field title
customData[].valueAnyCustom field value
datasourceIdTextDatasource ID
dislikeCountNumberNumber of dislikes
entityTypeTextType of entity (article or article-shortcut)
idTextUnique identifier for the article
isShortcutYes / NoWhether this article is a shortcut
keywords[]ListArticle keywords
likeCountNumberNumber of likes
originArticleIdTextOriginal article ID if this is a shortcut
relatedArticles[]ListRelated articles
relatedArticles[].baseIdTextBase ID of the related article
relatedArticles[].contentTextContent of the related article
relatedArticles[].contentRawTextRaw content of the related article
relatedArticles[].deletedAtTextDeletion time; empty unless the related article was deleted
relatedArticles[].statusTextStatus of the related article
relatedArticles[].titleTextTitle of the related article
shortcutArticleIds[]ListList of shortcut article IDs
statusTextArticle status (draft, published, etc.)
titleTextArticle title
updatedAtTextLast update timestamp
updatedByTextUser who last updated the article
versionNumberArticle version
viewCountNumberNumber of views

Ask ​

Ask a question to the knowledge base

Settings

FieldTypeRequiredDescription
Base IDsListList of Base IDs (array of strings)
Folder IDsListList of Folder IDs (array of strings)
Document IDsListList of Document IDs (array of strings)
QuestionTextYesQuestion to ask
ModeChoiceYesMode to use for asking
Options: Search, RAG
Default: rag
MetadataObjectRequest metadata (required by OpenAPI spec)
StreamYes / NoIt always false
Default: false
Score ThresholdNumberAccuracy threshold for RAG mode (0.1 - 1.0, default: 0.5)
Default: 0.5
Similarity ThresholdNumberSimilarity threshold for Search mode (0.1 - 1.0, default: 0.5)
Default: 0.5
DebugYes / NoEnable debug mode
Custom PromptTextCustom prompt for the request
Max ReferencesNumberMaximum number of references to return
Default: 5
Exclude Shortcut ArticlesYes / NoExclude 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.

json
{
  "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
FieldTypeDescription
answerTextGenerated answer
debugInfo[]ListDebug information
references[]ListReference sources
typeTextResponse type (text or html)

Custom Ask ​

Ask a question to the knowledge base with custom parameters

Settings

FieldTypeRequiredDescription
Base IDsListList of Base IDs (array of strings)
Folder IDsListList of Folder IDs (array of strings)
Document IDsListList of Document IDs (array of strings)
QuestionTextYesQuestion to ask
ModeChoiceMode to use for asking
Options: Search, RAG
Default: rag
MetadataObjectYesRequest metadata (required by OpenAPI spec)
StreamYes / NoIt always false
Default: false
Score ThresholdNumberAccuracy threshold for RAG mode (0.1 - 1.0, default: 0.5)
Default: 0.5
Similarity ThresholdNumberSimilarity threshold for Search mode (0.1 - 1.0, default: 0.5)
Default: 0.5
DebugYes / NoEnable debug mode
Custom PromptTextYesCustom prompt for the request
Max ReferencesNumberMaximum number of references to return
Default: 5
Allow Search Private BasesYes / NoAllow searching private knowledge bases
Exclude Shortcut ArticlesYes / NoExclude 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.

json
{
  "answer": "string",
  "references": [],
  "type": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
answerTextGenerated answer
references[]ListReference sources
typeTextResponse 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

FieldTypeRequiredDescription
Article IDTextYesArticle ID used for tracking
TitleTextYesArticle title to analyze
ContentTextYesArticle content to analyze
LanguageChoiceLanguage 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.

json
{
  "articleId": "string",
  "recommendations": [],
  "relevanceScore": 0
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
articleIdTextArticle that was analyzed
recommendations[]ListActionable improvement recommendations
relevanceScoreNumberOverall quality score (0-100)

Get Article Statistics ​

Retrieve hourly view/like/dislike statistics for an article with pre-summed totals

Settings

FieldTypeRequiredDescription
Article IDTextYesArticle ID (shortcuts resolve to their origin)
FromTextStart of the time range (ISO 8601, e.g. 2026-06-01T00:00:00Z)
ToTextEnd of the time range (ISO 8601)
ProductChoiceRestrict 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.

json
{
  "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
FieldTypeDescription
data[]ListHourly buckets: id, product, viewCount, likeCount, dislikeCount, hour
totalDislikesNumberSum of dislikeCount across buckets
totalLikesNumberSum of likeCount across buckets
totalViewsNumberSum 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

FieldTypeRequiredDescription
Article IDTextYesArticle to compare
CandidatesNumberNumber of similar articles to return
Default: 5
Minimum ScoreNumberOnly 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 IDsListOnly 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.

json
{
  "data": []
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
data[]ListItems: 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

FieldTypeRequiredDescription
Base IDsListYesKnowledge bases to scan. Private-access bases are included
Max ViewsNumberInclude articles with at most this many total views
Default: 0
TakeNumberPage size
Default: 50
CursorTextPagination cursor from the previous call
ProductsListOnly 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.

json
{
  "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
FieldTypeDescription
cursorTextPagination cursor
data[]ListList of items
hasMoreYes / NoWhether there are more items
totalNumberTotal 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

FieldTypeRequiredDescription
Base IDsListYesKnowledge bases to sweep. Private-access bases are included
Exclude Base IDsListKnowledge bases that must never be swept (e.g. EBIS/DMS)
ChecksMultiple choiceWhich checks to run (default: all)
Options: Unused articles, Low quality, Duplicates
Min Relevance ScoreNumberArticles 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 SimilarityNumberRaw 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 CandidatesNumberNearest neighbours to fetch per article
Default: 5
Max ArticlesNumberArticles to scan per call before returning truncated=true
Default: 200
Max Quality CallsNumberLLM 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
ConcurrencyNumberParallel article checks
Default: 4
Time Budget (s)NumberStop starting new articles after this many seconds and return a cursor. Articles already being checked are finished first
Default: 150
CursorTextOpaque cursor returned by the previous call
Duplicate ScopeChoiceWhere 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 workspace
Default: bases
Include Content ExcerptYes / NoAttach 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.

json
{
  "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
FieldTypeDescription
cursorTextOpaque cursor to pass to the next call while truncated is true
findings[]ListItems: type (unused | low_quality | duplicates), articleId, title, baseId, evidence, relatedArticleIds, dedupeKey. A duplicates item is one cluster of near-identical articles
statsObjectscanned, errors, errorSamples, qualityCalls, similarCalls, elapsedMs, stoppedBy (the limit that ended a truncated call)
truncatedYes / NoTrue when budgetSeconds, maxArticles or maxQualityCalls stopped the sweep early