Allow Velocity Script Tokens in Webhook Payload | Community
Skip to main content
Sep 20, 2017 6:43 AM UTC
Declined

Allow Velocity Script Tokens in Webhook Payload

Currently, Webhook payloads do not allow Velocity Script tokens. Why not?

Using a Velocity Script token to generate the JSON payload for a Webhook would be very helpful. For instance, the JSON structure of my Webhook could vary conditionally based on Lead and/or Program tokens. Currently, if I want to perform different actions in an external API, I would have to create numerous Webhooks. I don't want to have a different Webhook for each variation of my API calls. I would like to use a single Webhook, but vary the payload using the conditional logic of a Velocity Script.

Desired

Webhook - Mail Item

{

     "leadId": {{lead.Id}},

     "sku": {{my.SKU}},

     "qty": 1,

     "address": {

          "name": {{lead.Full Name}},

          "street": {{lead.Address}},

          "city": {{lead.City}},

          "state": {{lead.State}},

          "postcode": {{lead.Postal Code}}

     },

     "data": {{my.Custom Script}}

}

Velocity Script Token - {{my.Custom Script}}

{

     "postcard_message": "Dear ${lead.FirstName},\\nYour subscription is about to expire on ${lead.subscriptionEndDate}.\\nRenew today!"

}

Velocity Script Token - {{my.Custom Script}} in another Program

{

     "brochure_image": "${my.brochureImage}",

     "brochure_copy": "${my.brochureCopy}"

}

Current

Webhook 1 - Mail Postcard

{

     "leadId": {{lead.Id}},

     "sku": {{my.SKU}},

     "qty": 1,

     "address": {

          "name": {{lead.Full Name}},

          "street": {{lead.Address}},

          "city": {{lead.City}},

          "state": {{lead.State}},

          "postcode": {{lead.Postal Code}}

     },

     "data": {

          "postcard_message": {{my.Custom Postcard Message}}

     }

}

Webhook 2 - Mail Brochure

{

     "leadId": {{lead.Id}},

     "sku": {{my.SKU}},

     "qty": 1,

     "address": {

          "name": {{lead.Full Name}},

          "street": {{lead.Address}},

          "city": {{lead.City}},

          "state": {{lead.State}},

          "postcode": {{lead.Postal Code}}

     },

     "data": {

          "brochure_image_1": {{my.Custom Brochure Image}},

          "brochure_copy": {my.Custom Brochure Copy}}

     }

}

3 replies

Kenny_Elkington
Level 10
Apr 29, 2021 7:39 PM UTC

We have no plans to extend areas where velocity tokens can be used, but we have some things on the horizon which should be a significant improvement on existing webhooks.

Translate
New Participant
Feb 5, 2020 1:36 PM UTC
No text available
Translate
SanfordWhiteman
Level 10
Sep 20, 2017 6:57 AM UTC

Yeah, I'll vote up... but give it a 0% chance of happening.

Velocity simply doesn't execute in the tier you want it to (the engine isn't running there). Would be equally cool if we could use VTL tokens in LPs, so we wouldn't need to maintain VTL and JS versions of the same logic... but I have no expectation that the LP servers will ever officially compile VTL.

Translate