Email deliveries: Output all available variables for debugging purpose

Avatar

Avatar

lorisg52723730

Avatar

lorisg52723730

lorisg52723730

19-12-2017

I find it pretty hard to know what are the variables (some examples: message.id, recipient.firstName, delivery.label, etc) available that can be used inside email deliveries. I was wondering if an exhaustive list existed, but can't find any in the online documentation.

Moreover, for debugging purpose, I think it could be really useful if we could use some javascript to send some test email deliveries which would output all the available variables (their key and value). It could look like how JSON or Javascript object are displayed in some dev tools, for instance :

jsonpayloadweatherdata.png

Replies

Avatar

Avatar

florentlb

Avatar

florentlb

florentlb

02-01-2018

Hi,

There is no official list in the documentation as it mainly depends on the context you're in and the schema you use, as well as on your rights.

You can also define your own variables in some cases.

Most variables come from the schema definition.

Florent

Avatar

Avatar

florentlb

Avatar

florentlb

florentlb

15-01-2018

I'll keep your feedback and let you know if we get this list documented.

Florent

Avatar

Avatar

Jean-Serge_Biro

MVP

Avatar

Jean-Serge_Biro

MVP

Jean-Serge_Biro
MVP

15-01-2018

Hi Lorisg,

Please have a look to the NL.toDebugString() function, as described in this post of Andrey:
Re: AC6.1/7 JavaScript engine: what it is, what is can do?

Regards
J-Serge

Avatar

Avatar

david_garcia1

MVP

Avatar

david_garcia1

MVP

david_garcia1
MVP

18-01-2018

Run the following js code, choose the primary key of any delivery

var d = nms.delivery.load("841925965");

for (var i in d) {

  logInfo([i]);

}

also you can log which mailparameter variables are available

var d = nms.delivery.load("841925965");

for (var i in d.mailParameters) {

  logInfo([i]);

}

1398408_pastedImage_4.png

For instance, you can dynamically generate the delivery's subject line from within the workflow's delivery activity without modifying the template. ie.

delivery.mailParameters.subject = "Daily report for "+formatDate(new Date(), "%2D%2M%4Y");

1398410_pastedImage_5.png