Invocable Actions for Lightning Knowledge
To learn more about how to use invocable actions, see the Actions Developer Guide.
The Assign and Publish actions are available in API version 44.0 and later. All the other actions are available in API version 45.0 and later.
Lightning Knowledge must be set up in your org. The user must have permissions to manage articles.
You can use multiple inputs to an invocable action. This technique is useful for actions that don't take lists, such as restoreKnowledgeArticleVersion.
Supported REST HTTP Methods
| Action | URI |
|---|---|
| Archive Knowledge articles | /services/data/vXX.X/actions/standard/archiveKnowledgeArticles |
| Assign Knowledge articles | /services/data/vXX.X/actions/standard/assignKnowledgeArticles |
| Create draft from online Knowledge articles | /services/data/vXX.X/actions/standard/createDraftFromOnlineKnowledgeArticle |
| Delete Knowledge articles | /services/data/vXX.X/actions/standard/deleteKnowledgeArticles |
| Publish Knowledge articles | /services/data/vXX.X/actions/standard/publishKnowledgeArticles |
| Restore Knowledge article version | /services/data/vXX.X/actions/standard/restoreKnowledgeArticleVersion |
| Retrieve Smart Link URL | /services/data/vXX.X/actions/standard/getArticleSmartLinkUrl |
| Submit Knowledge article for translation | /services/data/vXX.X/actions/standard/submitKnowledgeArticleForTranslation |
| Property | Value |
|---|---|
| Formats | JSON, XML |
| HTTP Methods | GET, HEAD, POST |
| Authentication | Authorization: Bearer token |
| Other Information | Error Response Types |
Archive Knowledge Articles
URI: /services/data/vXX.X/actions/standard/archiveKnowledgeArticles
| Input | Type | Description |
|---|---|---|
| articleVersionIdList | string | Required. Comma-separated article version ID list. |
Sample Input
The following code sample archives two articles:
1{
2 "inputs" : [
3 {
4 "articleVersionIdList" : [ "ka0RM00000004VeYAI", "ka0RM00000003doYAA" ]
5 }
6 ]
7}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "archiveKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "Success",
7 "ka0RM00000003do" : "Success"
8 }
9} ]The following code sample illustrates a response with one success and one failure:
1[ {
2 "actionName" : "archiveKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : false,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "You can't perform this action. Be sure the action is valid for the current state of the article, and that you have permission to perform it.",
7 "ka0RM00000003do" : "Success"
8 }
9} ]Assign Knowledge Articles
URI: /services/data/vXX.X/actions/standard/assignKnowledgeArticles
| Input | Type | Description |
|---|---|---|
| articleVersionIdList | string | Required. Comma-separated article version ID list. |
| assigneeId | ID | Required. ID of the assigned user. |
| assignAction | string | Required. Assign action. Valid actions are: ASSIGN_DRAFT_MASTER or ASSIGN_DRAFT_TRANSLATION. |
| dueDate | string | Optional. Assigned due date. |
| instruction | string | Optional. Instructions for the assignee. |
| sendEmailNotification | boolean | Optional. Indicates whether to send an email notification. Defaults to false. |
Sample Input
The following code sample assigns two articles for translation:
1{
2 "inputs" : [
3 {
4 "articleVersionIdList" : [ "ka0RM00000004VeYAI", "ka0RM00000003doYAA" ]
5 "assigneeId" : "005RM00000AAAAAYA4",
6 "assignAction" : "ASSIGN_DRAFT_TRANSLATION"
7 }
8 ]
9}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "assignKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "Success",
7 "ka0RM00000003do" : "Success"
8 }
9} ]Create Draft from Online Knowledge Article
URI: /services/data/vXX.X/actions/standard/createDraftFromOnlineKnowledgeArticle
| Input | Type | Description |
|---|---|---|
| action | string | Required. Edit action for primary language or translation articles. Valid actions are: EDIT_AS_DRAFT_ARTICLE or EDIT_AS_DRAFT_TRANSLATION. |
| unpublish | boolean | Required. Indicates whether to keep the article published (false) or archive the published article (true). Use false to keep the current article version online and create a draft. Use true to archive the current online version, which removes it from the knowledge base, and creates a draft. |
| articleVersionId | string | Article version ID. Required to create a draft from an online (published) translation. Optional to create a draft from the online primary article if the Article ID is provided. |
| articleId | string | Article ID. Required when creating a draft from the online (published) primary article if the Article Version ID isn't provided. |
Sample Input
The following code sample creates a draft from a primary article and archives the original article:
1{
2 "inputs" : [
3 {
4 "action" : "EDIT_AS_DRAFT_ARTICLE",
5 "unpublish" : true,
6 "articleId" : "kA0RM00000004pP0AQ"
7 }
8 ]
9}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "createDraftFromOnlineKnowledgeArticle",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "kA0RM00000004pP0AQ" : "Success"
7 }
8} ]Delete Knowledge Articles
URI: /services/data/vXX.X/actions/standard/deleteKnowledgeArticles
| Input | Type | Description |
|---|---|---|
| articleVersionIdList | string | Required. Comma-separated article version ID list. |
Sample Input
The following code sample deletes two articles:
1{
2 "inputs" : [
3 {
4 "articleVersionIdList" : [ "ka0RM00000004VeYAI", "ka0RM00000003doYAA" ]
5 }
6 ]
7}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "deleteKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "Success",
7 "ka0RM00000003do" : "Success"
8 }
9} ]Publish Knowledge Articles
URI: /services/data/vXX.X/actions/standard/publishKnowledgeArticles
| Input | Type | Description |
|---|---|---|
| articleVersionIdList | string | Required. Comma-separated article version ID list. |
| pubAction | string | Required. Publish action. Valid actions are: PUBLISH_ARTICLE (which replaces the latest version), PUBLISH_ARTICLE_NEW_VERSION (which creates a new version), SCHEDULE_ARTICLE_FOR_PUBLICATION, or PUBLISH_TRANSLATION. |
| pubDate | string | Optional. Scheduled publish date in ISO 8601 format yyyy-MM-dd\'T\'HH:mm:ss.SSSZ. For example, for February 8, 2023, 1:40 pm UTC+01:00 use 2023-02-08T13:40:00.000+0100. |
Sample Input
The following code sample publishes two articles:
1{
2 "inputs" : [
3 {
4 "articleVersionIdList" : [ "ka0RM00000004VeYAI", "ka0RM00000003doYAA" ],
5 "pubAction" : "PUBLISH_ARTICLE"
6 }
7 ]
8}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "publishKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "Success",
7 "ka0RM00000003do" : "Success"
8 }
9} ]Restore Knowledge Article Version
URI: /services/data/vXX.X/actions/standard/restoreKnowledgeArticleVersion
| Input | Type | Description |
|---|---|---|
| action | string | Required. The only valid action is: RESTORE_KNOWLEDGE_ARTICLE_VERSION |
| articleId | string | Required. Article ID. |
| versionNumber | integer | Optional. Version number of the archived article version to restore. Default is the latest archived version. |
Sample Input
The following code restores the latest archived version:
1{
2 "inputs" : [
3 {
4 "action" : "RESTORE_KNOWLEDGE_ARTICLE_VERSION",
5 "articleId" : "kA0RM00000004pP0AQ"
6 }
7 ]
8}The following code restores a past archived version of a published article:
1{
2 "inputs" : [
3 {
4 "action" : "RESTORE_KNOWLEDGE_ARTICLE_VERSION",
5 "versionNumber":3,
6 "articleId" : "kA0RM00000004pP0AQ"
7 }
8 ]
9}The following code restores two archived articles:
1{
2 "inputs" : [
3 {
4 "action" : "RESTORE_KNOWLEDGE_ARTICLE_VERSION",
5 "articleId" : "kA0RM00000004pP0AQ"
6 },
7 {
8 "action" : "RESTORE_KNOWLEDGE_ARTICLE_VERSION",
9 "articleId" : "kA0RM00000004pP0AB"
10 }
11 ]
12}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "restoreKnowledgeArticleVersion",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "kA0RM00000004pP0AQ" : "Success"
7 }
8} ]Retrieve Smart Link URL
URI: /services/data/vXX.X/actions/standard/getArticleSmartLinkUrl
| Input | Type | Description |
|---|---|---|
| articleVersionId | string | Required. The ID of the Knowledge article version. |
Sample Input
The following code sample retrieves the SmartLink URL of a Knowledge article version:
1{
2 "inputs":[
3 {
4 "articleVersionId":"ka0xx00000000cjAAA"
5 }
6 ]
7}Sample Output
The following code sample illustrates a response after a successful request.
1[
2 {
3 "actionName":"getArticleSmartLinkUrl",
4 "errors":null,
5 "isSuccess":true,
6 "outputValues":{
7 "articleSmartLinkUrl":"https://example.lightning.force.com/lightning/articles/Knowledge/Test-Redirection-1"
8 }
9 }
10]Submit Knowledge Article for Translation
URI: /services/data/vXX.X/actions/standard/submitKnowledgeArticleForTranslation
| Input | Type | Description |
|---|---|---|
| articleId | string | Required. Article ID. |
| language | string | Required. Language code for the translation. |
| assigneeId | ID | Required. ID of the assigned user. |
| dueDate | string | Optional. Assigned due date. |
| sendEmailNotification | boolean | Optional. Indicates whether to send an email notification. Defaults to false. |
| Output | Type | Description |
|---|---|---|
| articleId | ID | Article ID. |
| language | string | Language code for the translation. |
Sample Input
The following code sample submits one article for translation into Spanish:
1{
2 "inputs" : [
3 {
4 "articleId" : "kA0RM00000004pP0AQ",
5 "language" : "es",
6 "assigneeId" : "005RM00000AAAAAYA4"
7 }
8 ]
9}Sample Output
The following code sample illustrates a response after a successful request.
1[ {
2 "actionName" : "submitKnowledgeArticleForTranslation",
3 "errors" : null,
4 "isSuccess" : true,
5 "outputValues" : {
6 "articleId" : "kA0RM00000004pP0AQ",
7 "language" : "es"
8 }
9} ]Error Response Types
Knowledge actions can respond with two types of error responses: action-scoped errors and item-scoped errors.
Action-scoped errors describe an error about the overall action that you're trying to invoke. Action-scoped errors have a statusCode in addition to a message. This example illustrates an action-scoped error caused by sending invalid input values.
1[ {
2 "actionName" : "restoreKnowledgeArticleVersion",
3 "errors" : [ {
4 "statusCode" : "INVALID_API_INPUT",
5 "message" : "You can't perform this action. Be sure the action is valid for the current state of the article, and that you have permission to perform it.",
6 "fields" : [ ]
7 } ],
8 "isSuccess" : false,
9 "outputValues" : null
10 } ]Item-scoped errors describe a problem with a specific article or article version within the action. For example, this code illustrates an archiveKnowledgeArticles action response with one failed item and one successful item.
1[ {
2 "actionName" : "archiveKnowledgeArticles",
3 "errors" : null,
4 "isSuccess" : false,
5 "outputValues" : {
6 "ka0RM00000004Ve" : "You can't perform this action. Be sure the action is valid for the current state of the article, and that you have permission to perform it.",
7 "ka0RM00000003do" : "Success"
8 }
9 } ]If any type of error occurs with an action, the isSuccess field is false.