Custom Fields From Make Not Populating to Sendy

:bullseye: What is your goal?

Hello.

I’m hoping someone can help me with a persistent issue I’m having with data being stripped when sent to a Make webhook.

  1. The Setup:

I have an opt-in form built in Thrive Architect on WordPress.

The form includes standard fields (Name, Email) and three custom fields: Practice_Type, Monthly_Inquiries, and Biggest_Leak.

Since there’s no direct integration for custom fields between Thrive and Sendy, I’m using a Make scenario with a Webhook trigger and an HTTP module to forward the data to the Sendy API.

  1. The Problem:
    When I submit the form, only the Name and Email data successfully reaches Sendy. The three custom fields are always empty in Sendy (“not set”).

When I inspect the webhook module’s output in Make, I see the request was received, but the data bundle is empty. The headers consistently show “content-length”: “2”.

Here’s a screenshot of the empty webhook data:

Here are the headers from a typical run:

3: What I’ve Investigated & Ruled Out:

Cloudflare: I initially suspected Cloudflare was stripping the data because of the cf-ray headers. However, I’ve confirmed with Cloudflare support that these headers are added by Make.com’s own infrastructure and are normal. The problem is not at my domain’s DNS level.

Server-Side Test: I ran a simple curl test from my server directly to the Make webhook URL. The test was successful, and the output did not contain cf-ray headers, proving my server is not the source of the issue.

Thrive Fields Mapping: In the Thrive form’s webhook settings, I have left the “Fields” (Key/Value) section empty. My understanding is this sends all form fields with their native names (like tve_name, mapping_select_476) to the webhook.

  1. The Make Scenario:

Module 1: Custom Webhook (receives data from Thrive). The data structure was determined by running the module once and submitting a test form.

Module 2: H TTP Module (makes a POST request). It is in this module’s “Body content” section that I am mapping the fields to the parameter names Sendy expects (e.g., name gets {{tve_name}}, practice_type gets {{mapping_select_476}}).

  1. My Questions for the Community:

If the data is arriving at the webhook (as evidenced by the headers), why is the bundle/body empty (content-length: 2)? What could cause the data to be stripped after the webhook receives it but before it can be used?

In the HTTP module’s configuration, I am mapping fields using the {{…}} syntax. Is it possible that the data from the webhook is arriving in a nested structure (e.g., an array) that I need to parse differently? If so, how can I check the raw data structure?

Could the issue be related to the “Request format” (JSON vs. Form) in the Thrive webhook settings? I currently have it set to JSON.

Any guidance would be immensely appreciated. I’ve been troubleshooting this for days and have hit a wall.

:thinking: What is the problem & what have you tried?

Problem:
When my Thrive Architect form submits to my Make webhook, only Name and Email arrive. Three custom fields (Practice_Type, Monthly_Inquiries, Biggest_Leak) are missing. In Make, the webhook module shows empty bundles with content-length: 2. Sendy receives the subscriber but custom fields show “not set.”

What I’ve tried:

Verified Thrive - Make connection - Tested webhook in Thrive; “Webhook sent successfully” confirms connectivity.

Ruled out Cloudflare as cause – Initially suspected cf-ray headers meant my domain was proxied. Moved DNS off Cloudflare, waited 4+ days, confirmed with Cloudflare support my domain is clean. Learned that cf-ray headers are from Make.com’s infrastructure, not my server.

Tested server-side - Ran direct curl from my server to the Make webhook. Request succeeded, no cf-ray headers in output, confirming server isn’t adding them.

Checked Thrive webhook settings – Fields (Key/Value) left empty to send all data raw. Request format: JSON. Method: POST.

Verified field mapping in Make HTTP module – attached screenshot. All custom parameters present.

Confirmed webhook is primed – Clicked “Run once,” submitted test form, but webhook output remains empty.

Still stuck: Webhook receives request (headers visible) but body is empty (content-length: 2). Custom fields never reach Sendy.

:clipboard: Error messages or input/output bundles

[Bundle 1: (Collection)
└─ Empty]

[BundleValidationError
Validation failed for 2 parameter(s).

  • Missing value of required parameter ‘name’.
  • Missing value of required parameter ‘name’.]

[{
“connection”: “upgrade”,
“host”: “hook.us2.make.com”,
“x-forwarded-for”: “162.213.251.41, 104.23.203.159, hook.us2.make.com”,
“x-forwarded-proto”: “https”,
“x-real-ip”: “104.23.203.159”,
“x-request-id”: “5a7d69e68b2aa61fe2afc7c6fb222e4b”,
“content-length”: “2”,
“cf-ray”: “9d621988e9d70acd-LAS”,
“content-type”: “application/json”,
“cdn-loop”: “cloudflare; loops=1”,
“user-agent”: “WordPress/6.9.1; domain address”,
“cf-connecting-ip”: “162.213.251.41”
}]

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

1 Like

Hello,

Have you tried also with fields key/value filled in? According to the documentation, that’s mandatory.

Also, you don’t have to mess around with headers (except authentication).
Your data should be sent as a JSON body.

Additionally, what I will do is set up a new scenario with a fresh webhook without any data structure configured.
This will allow me to see the raw incoming data.

Czesc Michał

Thanks for your feedback.
The Thrive link was a godsend, thank you.

What’s remaining:
I’ve been troubleshooting a persistent issue with my HTTP module and finally identified what’s breaking my configuration. Hoping someone can explain why this happens and if there’s a proper way to use the Map toggle without losing data.

The Setup:

  • Thrive Architect form → Make webhook → HTTP module → Sendy API

  • Sending data as application/x-www-form-urlencoded

  • Parameters include: api_key (static), list (static), email (mapped), name (mapped), plus three custom fields mapped from headers

The Discovery:

When I have the “Map” toggle turned OFF next to the Body Content field, everything works as expected. Static values stay intact, mapped fields show correctly as {{field_name}}, and the request succeeds.

However, when I toggle that single “Map” button ON, the entire Body Content field turns into [object Object], [object Object], etc. The static values (api_key, list) disappear completely, and the mapped fields become unusable. The request fails with empty parameters.

Screenshot for reference:

My Questions:

  1. Is this the intended behavior of the Map toggle? I assumed it would allow dynamic field generation, not strip all existing data.

  2. Is there a correct way to use the Map toggle when you need both static and mapped values in the same Body Content?

  3. The search results mention that the Map toggle expects an “array of objects” rather than simple key-value pairs . Is there documentation on the exact structure it requires?

I’ve confirmed that with Map OFF, all parameters send correctly. But I’m curious if I’m missing a use case where Map ON would be beneficial without destroying the existing configuration.

Thanks for any insight!

Miłego dnia