when sctask work note updated need to create the incident using flow designer

Vinod S Patil
Tera Contributor

Hello  Everyone

I have requirement when Sc_task's work note updated and if it contains the text ' file creation failed' need to create the incident using flow designer.

I tried it but its not working as expected can you please help me on that and have look at below screen shot.

VinodSPatil_0-1759846868747.png

 

VinodSPatil_1-1759846903201.png



@Ankur Bawiskar 

2 ACCEPTED SOLUTIONS

@Vinod S Patil 

do this as alternative and it should work fine for you

1) create flow variable of type True/False

2) then use Set Flow Variables flow logic to set that flow variable based on matching condition

3) then use that Flow variable in your IF logic

flow work notes changes and search and match.gif

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

@Vinod S Patil 

To implement your requirement, here are the detailed steps to create a flow that triggers when a worknote containing "file creation failed" is added to a Catalog Task.

1. Create a Flow with the Following Trigger:

  • Trigger: Updated

  • Table: Journal Entry [sys_journal_field]

  • Condition:

    • Name is sc_task

    • Element is work_notes

    • Value contains file creation failed

This will ensure that the flow triggers whenever someone posts a worknote on a Catalog Task containing the text "file creation failed".

MIftikhar_0-1759928055458.png

2. Add the Following Steps:

Step 1: Lookup Record Action

  • Add an action to Lookup Record in the Catalog Task Table (sc_task).

  • Set the filter condition:

    • Sys ID = Trigger - Record Updated > Journal Entry Record > Element ID

    • Item = {SELECT YOUR REQUIRED CATALOG ITEM}

  • Set Don't fail on error as checked

This step will fetch the Catalog Task record associated with the worknote, but only if it's for the desired catalog item.

MIftikhar_5-1759928546919.png

Step 2: Add an IF Flow Logic

  • Add an IF flow logic to check if the record exists.

  • This ensures that an Incident will only be created for the Catalog Task associated with the specified catalog item when the worknote contains "file creation failed"

MIftikhar_2-1759928205827.png

Step 3: Create Record on Incident Table

  • Under the IF condition, add the action "Create Record" on the Incident table.

  • This action will create a new Incident record based on the conditions you’ve set.

MIftikhar_3-1759928223371.png

Successful Execution Screenshot

Here’s a screenshot of the flow successful execution:
Positive case:

MIftikhar_4-1759928315701.png

Negative Case: when the catalog item was not the selected one

MIftikhar_6-1759928649973.png


If my response helped, please mark it as the accepted solution so others can benefit as well.

 

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

View solution in original post

15 REPLIES 15

Brad Bowman
Kilo Patron
Kilo Patron

First ensure the string entered in the condition exactly matches what is typed into the work note in your test case (case-sensitive).

M Iftikhar
Tera Sage

Hi @Vinod S Patil,

 

Try this:

MIftikhar_0-1759849049267.png

 

Thanks & Regards,
Muhammad Iftikhar
If my response helped, please mark it as the accepted solution so others can benefit as well.

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

@M Iftikhar 

I need to put the condition only for one catalog item, any suggest please.

@Vinod S Patil 

work_notes field type is sys_journal_field, and there is special about on sys_journal_field, the contains operator won't work, please read the details below. 

 

You cannot directly apply a "contains" operator to the sys_journal_field table in a typical ServiceNow condition builder because the table's design stores journal entries separately from the main record, not as a single, directly queryable field. To search for a specific value within a journal entry, you must query the sys_journal_field table directly using a script (like GlideRecord) or create a database view to join the sys_journal_field table with the table containing the journal entries (e.g., incident). 
 
Separate Record Storage: Journal fields (Work Notes, Comments) are stored in the sys_journal_field table as individual records, each linked to a specific task or record by its sys_id
 
Using a GlideRecord Script (Recommended for Scripts):
  • Use the sys_journal_field table.
  • Query for the specific element_id (the sys_id of the record with the journal entries) and the name of the field (e.g., comments).
  • Then, you can check if the value field of the journal entry contains your desired text.
var gr = new GlideRecord('sys_journal_field');
gr.addQuery('element_id', current.sys_id); // 
Or the sys_id of the record you are working on
gr.addQuery('element', 'comments');
// Or 'work_notes'gr.addQuery('value', 'CONTAINS', 'Your Search Term');
// Apply the contains operator heregr.query();if (gr.next()) { // A matching entry was found}

work notes is type of Journal Entry [sys_journal_field] and the contains operator won't work with the this type of field, you need to use the conditions I have sent. The contains operator though available but won't work with Journal entry type field.

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.