Sean Lepsy

Workaround for Velocity loading Java libraries

Discussion created by Sean Lepsy on Sep 18, 2019

I use a basic method for hashing data for linking to customers (sending them a URL that points to a survey for recent service, for example). This process uses base64 and string2hex, both of which are native to the SalesForce Marketing Cloud application (we are still running on SFMC and currently migrating to Marketo).


I am currently working on replicating this functionality in Marketo, but unfortunately due to the recent removal of classtools and contexttools from Velocity, we can no longer accomplish this as far as we understand it. From my understanding, Java Utilities is where that functionality was accomplished in Velocity and we simply cannot load those encryption libraries any more. I have been playing with email-script-tokens and webhooks all day with zero success. I then found this article ( and tried to re-engineer the code for my purpose, but again with no avail. And then I saw at the bottom of that article/comments that loading java libraries is no longer supported with the loss of classtools and contexttools.


Got an error message in my account when I was building an email-script-token: Unsupported Velocity Tools in your Email Script MyTokens


We need a valid method for encrypting data within Marketo during time-of-send and would like to avoid processing this data in another application (more storage, more API calls). Any pro-tips or workarounds would be very helpful if available!