kB article multi level approval using flow designer

Manu143
Tera Contributor

Hi Team, 

  How to achieve below req for KB article in ServiceNow using flow designer, as I am new to flow designer.

 

case 1:

Document Type=A & Prepared by B user

then flow should go to 

Approval 1:  C user

Approval 2:  D group

If both will approve then publish the article

& Case 2:

If Document Type =B & Prepared by C user (from first case)

Then flow should go to

Approval 1: E group

Approval 2: F group

if both approve the publish the KB article

 

Guidance will be helpful here.

 

Thanks,

Manu

 

2 REPLIES 2

Pavan Srivastav
ServiceNow Employee

Hello Manu,

 

Before you begin building, please confirm the exact field names by navigating to System Definition → Tables → kb_knowledge → Columns. Specifically, identify your Document Type field (whether custom or out-of-the-box) and the Prepared by / Author field (typically named 'author' or 'u_prepared_by'). These API field names are essential for referencing within Flow Designer.

 

Pre-Requisites:

- Access Flow Designer via the All menu and search for Flow Designer.

- Create a new Flow, ideally named "KB Article Approval Flow".

- Set the flow to run as System (recommended).

- Configure the trigger: Record-Based → Created or Updated → Table: Knowledge (kb_knowledge).

 

Flow Structure Overview:

The flow is initiated whenever a KB Article is created or updated. Based on specific conditions, it determines the approval path:

 

- If the Document Type is A and Prepared By is B:

- Request approval from User C.

- If approved, seek further approval from Group D.

- Upon Group D's approval, publish the article.

 

- If the Document Type is B and Prepared By is C:

- Request approval from Group E.

- If approved, request additional approval from Group F.

- Upon Group F's approval, publish the article.

 

Step-by-Step Build:

 

1. Add the Trigger:

- Set the trigger to 'Record Created or Updated' for the kb_knowledge table.

- Optionally, filter to run only when the Workflow state changes for efficiency.

 

2. Add an IF Condition (Case 1):

- Add a Flow Logic IF step.

- Condition: Document Type is A AND Prepared by is B.

 

3. Within Case 1:

- Add the "Ask for Approval" action.

- Set the record to the KB Article.

- Specify the approval field.

- Approver: User C.

- Approval Rule: Anyone Approves.

 

4. Handle Case 1 Approval Result:

- After approval by User C, add another IF step.

- Condition: Approval Status is Approved.

- Then add another "Ask for Approval" action for Group D.

 

5. Handle Group D Approval Result:

- After Group D's approval, add a final IF step.

- Condition: Approval Status is Approved.

- Add the "Update Record" action to set Workflow State to Published.

 

6. Add ELSE IF for Case 2:

- At the top-level IF, add an Else If condition.

- Condition: Document Type is B AND Prepared by is C.

- Repeat the approval flow: Group E → Group F → Publish.

 

7. Handle Rejections:

- For every approval step, create an Else branch for the rejected outcome.

- Add the "Update Record" action to set Workflow State to Draft or Review.

- Optionally, add a "Send Notification" action to inform the article author of the rejection.

 

Let me know if you need further clarification or guidance on any of the steps.

pr8172510
Giga Guru

 

Hi Manu,

You can achieve this using Flow Designer with conditional logic + sequential approvals. Below is the simple approach:


1. Create Flow

  • Table: Knowledge [kb_knowledge]
  • Trigger: Record → Created or Updated
  • Condition: Workflow state = Draft / Review

2. Add IF Condition

🔹 Case 1

Set condition:

 

 
Document Type = A
 

 

Screenshot 2026-04-13 123753.pngScreenshot 2026-04-13 123830.pngScreenshot 2026-04-13 123858.png(You can also include Author/Prepared by if needed)


3. Add Approvals (Sequential)

Inside THEN:

  1. Ask for Approval
    • Approver → User C
  2. Ask for Approval
    • Approver → Group D

Flow runs sequentially, so second approval starts only after first is approved.


4. Publish Article

Add:

 

 
Update Record → Workflow State = Published
 

 

5. Add ELSE IF (Case 2)

Condition:

 

 
Document Type = B
 

 

6. Add Approvals

Inside ELSE IF:

  1. Ask for Approval → Group E
  2. Ask for Approval → Group F

Then:

 

Update Record → Publish
 

7. Final Flow Logic

 

 
IF (Doc Type A)
→ Approval (User)
→ Approval (Group)
→ Publish

ELSE IF (Doc Type B)
→ Approval (Group)
→ Approval (Group)
→ Publish