Knowledge Base approvals are not being triggered
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2018 07:38 AM
I have decided to enable approval workflows for our knowledge bases. I have chosen a knowledge base and selected a Publish workflow and a Retire workflow. Both are copies of the ootb workflows (Knowledge - Approval Publish and Knowledge - Approval Retire).
When creating a new article in that kb I would expect an approval record to be created and the Managers to be the approvers. However, this isn't the case. I have added a condition to my workflow to trigger is [knowledge_base] [=] [the name of my kb] but this hasn't worked either.
Any ideas where I'm going wrong?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2018 07:48 AM
A few things to check:
- Ensure you have some managers added in the Knowledge Base properties for each knowledgebase, if not using an approval group in the workflow.
- Ensure that the workflow status is published, and not checked out for editing.
- Ensure that the Approval - User stage of the Knowledge - Approval Publish workflow has the approvers in (either by a list of users and groups, or if managers are defined at KB level, by default script of answer = new KBWorkflow().getApprovers(current); to get the managers)
- The approval - user step has three options of Approved, Not Approved and Delete - ensure they have suitable arrows.
- If you've created a KB article, and it's in Unpublished, the workflow only moves to the approvers when the user clicks Publish (important bit that's often missed out) - as otherwise the stage hasn't moved to Review to trigger the approval.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2018 12:56 AM
Hi Warren, thanks for all the suggestions.
1. There are two Managers listed on this particular KB
2. Workflow is definitely published
3. The workflow approval is set to the default
answer = new KBWorkflow().getApprovers(current); to get the managers)
4. The three approval exits are configured as ootb
5. Not sure what you mean by this one. I have "published" one article which simply changes the Workflow (field on the article) from Draft to Review.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2018 04:50 AM
Clicking "Publish" should have moved the workflow to review, that's correct.
At this point, if the managers log on to the Service Portal, they should see the "my approvals" with those articles in. Also, if you check back for the KB articles, you should see the "approvals" tab at the bottom of the article with the approvers there showing status "requested".
Are the managers also associated with the "knowledge" role which allows them to review knowledge articles? This may have been done via a group, but best to check. In my case, my knowledge role is inherited from a group associated to that role.
Looking at the user's account, roles tab should show knowledge, and any inheritance count of 1 or more is due to being inherited from a group.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2018 06:20 AM
Thanks Warren. I logged the issue with SN and they found a custom Business Rule that's causing the problem.
I was having an issue whereby creating approvals manually, they weren't linked to a source table. Had to create this BR to fix that:
(function executeRule(current, previous /*null when async*/) {
current.source_table = current.sysapproval.sys_class_name;
current.document_id = current.sysapproval.sys_id;
})(current, previous);
This was preventing the approval records being created. With this rule disabled the the approval records are being created, however, they still aren't being linked to the kb_knowledge record. It's now back with SN.