dynamic variable ${param} is not working in assessment/survey question

skumar_srbh
Tera Guru

Hi Team,

while creating an survey question, we need a dynamic value which will be based on the user. To do so, I have added the source table "SSS TEST" in survey condition.

find_real_file.png

In the survey designer> Source field, I have added the field name whose value should populate in question.

find_real_file.png

however, it seems to be not working...  where I am doing wrong ???

 

 

Thanks!!!

 

8 REPLIES 8

Allen Andreas
Administrator
Administrator

Hi,

Per the documentation it says:

If the record table specified in the trigger condition does not match the source table specified for the survey, or if the system fails to get the dynamic value from the source record, the ${param} placeholder is not replaced by any value and is displayed as is in the questionhttps://docs.servicenow.com/bundle/orlando-servicenow-platform/page/administer/survey-administration...

So for me, in the trigger condition for the "Service Desk Satisfaction Survey", I set the source table as "sys_user":

find_real_file.png

I then created a trigger condition like:

find_real_file.png

Basically testing that when a record becomes active, it'll send the survey to the user's manager.

On one of the questions in that survey I set the source field like so:

find_real_file.png

And then I went to a user's record, made me their manager, made their record inactive (saved), also ensured I set a company on their user record, and then made their record active (saved). I then went and checked "ready to take" surveys, and clicked the latest one for me, and then clicked "take assessment" just to see and this was the result:

find_real_file.png

So we can see the ACME Italy company there at the end of the question which is replacing the ${param} listed above and matches the company listed on the user's record:

find_real_file.png

So...basically, your survey trigger condition needs to be from the same table as your source table. Which to me, sounds a bit silly, because if you wanted the trigger condition to be from the incident table, which for this type of survey: Service Desk Satisfaction Survey...you would...you'd have to then use the incident table as the source table, but in the source field...you can't dot-walk to anything. So you wouldn't be able to list their company there unless it was a field on the incident table. That may be fine for you, but using this exact scenario leaves much to be desired.

Things to note:

  • When I just issued a survey myself, without using the trigger condition, the ${param} wording showed up in the question, so it must issued using a trigger condition.
  • When using another table (like incident) as the table in my trigger condition, the ${param} wording also showed up in the question...so again, it proves that the trigger condition table MUST match the source table for {$param} to work appropriately.

Anyways, that explains how it works and all that. Best of luck!

Please mark reply as Helpful/Correct, if applicable. Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

Thanks for your response Allen,

There is "no trigger condition" in my survey and it needs to be executed at specific time to the listed users...

 

Ok.

Then ${param} and all that will not work for you.

It must have a trigger condition and the table listed as part of that trigger condition must match the source table you've listed for the survey.

Please mark reply as Helpful/Correct, if applicable. Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

Hi,

I just wanted to check-in on this and see how things were going.

If my reply above helped guide you correctly, please mark as Correct.

Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!