URLEncoded Form Data

Webhook Relay automatically parses url encoded form data if Content-Type: application/x-www-form-urlencoded

Webhook Relay detects application/x-www-form-urlencoded requests and automatically parses them so your function can use it. Parsed form data can be accessed through r.RequestFormData variable. For example if the payload looks like this:

name=john&lastname=wick

Then you can access the form elements and use them to create a new payload:

local json = require("json")

local encoded_payload = {
  name= r.RequestFormData.name[1],
  lastname=r.RequestFormData.lastname[1]
}
local encoded_payload, err = json.encode(encoded_payload)
if err then error(err) end

r:SetRequestHeader("Content-Type", "application/json")
r:SetRequestBody(encoded_payload)

This would transform the webhook into:

{
  "name": "john",
  "lastname": "wick"
}

Nested forms

If your form contains nested fields such as &campaign%5Bid%5D=98 you can access them directly as well:

r:SetRequestBody(r.RequestFormData["campaign[id]"][1])

Last updated