diff --git a/packages/server/src/automations/steps/outgoingWebhook.js b/packages/server/src/automations/steps/outgoingWebhook.js index 269e075018..c1edde7b4e 100644 --- a/packages/server/src/automations/steps/outgoingWebhook.js +++ b/packages/server/src/automations/steps/outgoingWebhook.js @@ -27,6 +27,7 @@ module.exports.definition = { requestMethod: "POST", url: "http://", requestBody: "{}", + headers: "{}", }, schema: { inputs: { @@ -45,6 +46,11 @@ module.exports.definition = { title: "JSON Body", customType: "wide", }, + headers: { + type: "string", + title: "Headers", + customType: "wide", + }, }, required: ["requestMethod", "url"], }, @@ -65,7 +71,7 @@ module.exports.definition = { } module.exports.run = async function ({ inputs }) { - let { requestMethod, url, requestBody } = inputs + let { requestMethod, url, requestBody, headers } = inputs if (!url.startsWith("http")) { url = `http://${url}` } @@ -84,6 +90,15 @@ module.exports.run = async function ({ inputs }) { request.headers = { "Content-Type": "application/json", } + + if (headers && headers.length !== 0) { + try { + const customHeaders = JSON.parse(headers) + request.headers = { ...request.headers, ...customHeaders } + } catch (err) { + console.error(err) + } + } } try {