Get sys_id of workflow catalog task

xiaix
Tera Guru

I need to edit a field on a newly created catalog task, as soon as it's created.  Normally, I would just do task.field = , but the field I need to update doesn't actually sit on the sc_task table, it sits on the sc_request table and I know you can't do the following:

task.request.requested_for = "foobar";
task.request.update();

I read this post: https://community.servicenow.com/community?id=community_question&sys_id=80570369db1cdbc01dcaf3231f96...

but I'm not sure.

 

So, I did get it to work, but there must be a better way.

 

Here's a diagrammed way I have it now:

find_real_file.png

 

 

find_real_file.png

1 ACCEPTED SOLUTION

patricklatella
Mega Sage

I was actually able to capture the sys_id of the created task (created by the Catalog Task workflow activity) directly in the advanced script section using

workflow.scratchpad.taskid = task.setNewGuid();

View solution in original post

15 REPLIES 15

patricklatella
Mega Sage

I was actually able to capture the sys_id of the created task (created by the Catalog Task workflow activity) directly in the advanced script section using

workflow.scratchpad.taskid = task.setNewGuid();

Not sure how that works because setNewGuid() you have to manually enter a sys_id

Maybe this instead?  workflow.scratchpad.taskid = task.setNewGuid(gs.generateGUID());

patricklatella
Mega Sage

This was script I found in another post on this topic.  Here it is in my activity.  I have the log commented out, but when I was testing, it logged the sys_id correctly for the task that was created by that activity.  I then use a GlideRecord later in the workflow to update that same task using that scratchpad variable and it works.  

find_real_file.png

Well.. very interesting.  Thank you for sharing!