# Webhook clears request body when request body is an array

**URL:** https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426
**Category:** Ask for Help
**Tags:** api
**Created:** [November 18, 2025, 4:07pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426 "2025-11-18T16:07:10Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 18, 2025, 4:07pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/1 "2025-11-18T16:07:10Z")

</div>

I have created a webhook that receives update events from another service. The specification for the request body of these update events can be simplified to the following:

```auto
[
    $eventJSON1,
    $eventJSON2,
    ...
]

```

My goal is to loop over the request body JSON array and handle each event, however when testing with some test data, I noticed that the webhook trigger will fail to pass any request body that is an array of JSON objects, despite this being valid JSON.

Trying to `Query` the request body throws an error since `The required parameter "JSON" is missing`, and trying to add the request body to a table or use in a JSON template shows that it’s just empty.

As an aside, the `Test Data` section doesn’t show an array of JSON objects to be an invalid request body if this is an intentional choice by the Glide team

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [November 19, 2025, 12:35am UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/2 "2025-11-19T00:35:23Z")

</div>

That’s weird. If you use a manual trigger instead, and specify the input to be JSON, then use your JSON in the test data, does that work?

---

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 19, 2025, 3:39pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/3 "2025-11-19T15:39:38Z")

</div>

It still seems to treat it as if there’s no test data.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/b/8b150346739a62d9a1e3dcb6cd5684e9ed041deb.png)

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/e/9e103271987e51b864e390f2e7741825fa605e64.png)

---

<div class="post-metadata">

### Author: ![jb\_1mprove](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jb_1mprove/32/92375_2.png) [@jb\_1mprove](https://community.glideapps.com/u/jb_1mprove)
#### Post date: [November 19, 2025, 10:18pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/4 "2025-11-19T22:18:14Z")

</div>

I think you need to wrap the json data in an object, as such:

```auto
{
  "events": [
    {"a": "string a"},
    {"b": "string b"}
  ]
}

```

Can you do that where your webhook is triggered and then try again?

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [November 19, 2025, 11:47pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/5 "2025-11-19T23:47:08Z")

</div>

If you loop directly on the body instead of doing an extra query step, does it work? What do you have in that Query step?

---

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 20, 2025, 3:08pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/6 "2025-11-20T15:08:03Z")

</div>

The query step is only there to grab a row to set the column value inside the loop, the loop is trying to run on `Trigger > body`

---

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 20, 2025, 3:32pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/7 "2025-11-20T15:32:10Z")

</div>

While this does work, the issue is the data coming into the webhook from is formatted:

```auto
[
    {"a": "string a"},
    {"b": "string b"},
    ...
]

```

I have tried creating a JSON template that is formatted like:

```auto
{
    "events": $webhook_body
}

# $webhook_body = 'Trigger > request body'

```

But the issue is that when a webhook trigger receives a JSON array it completely removes it before the workflow even triggers

---

<div class="post-metadata">

### Author: ![jb\_1mprove](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jb_1mprove/32/92375_2.png) [@jb\_1mprove](https://community.glideapps.com/u/jb_1mprove)
#### Post date: [November 20, 2025, 6:53pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/8 "2025-11-20T18:53:19Z")

</div>

Where did you create the template? Before the webhook? Because you could also add the template after the webhook, and use the output from the template instead of the trigger.

---

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 20, 2025, 8:42pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/9 "2025-11-20T20:42:20Z")

</div>

In the image provided I didn’t use the template, but here’s some images of me using a JSON template.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/8/586d0c1a3bfd2328345f31564a690283fb434bef.png)

Template config

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/d/8d45c84fb3463ce4b3056896a3e326b7f357bdf0.png)

Loop config

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/7/e74bfeaf2822437df34e44c82d22b4755148c4ab.png)

Trigger when running workflow

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/6/764686f01e8a44514cc6122929e45b96c5f58514.png)

Template when running workflow

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/f/6f4512ed51193c9a20a420fc0d652c889dd23f2d.png)  
Loop when running workflow  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/3/43add26670718ed5931668c1603eea11aaddb666.png)

* * *

Creating a JSON template after the webhook doesn’t work. The issue is that the `Workflow Trigger` is **ignoring any input data if it’s a direct JSON array** ; it is not passing any data to any other actions in the workflow and acts as if it has no input at all.

I am unable to create a template before the webhook and change how the incoming data is formatted, the webhook is triggered by a third-party service, external to Glide.

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [November 21, 2025, 12:26am UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/10 "2025-11-21T00:26:33Z")

</div>

Sadly I think you are correct here. I tried reproducing this and it seems a valid JSON array as a manual input doesn’t get read at all.

Can you submit a ticket through the bottom right icon in your builder?

---

<div class="post-metadata">

### Author: ![r\_avo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/r_avo/32/89422_2.png) [@r\_avo](https://community.glideapps.com/u/r_avo)
#### Post date: [November 21, 2025, 4:46pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/11 "2025-11-21T16:46:02Z")

</div>

I am actually unable to submit a ticket for some reason.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/e/ee5545be684b7cc2d964b3657087bf54f477a09e.jpeg)

I’ve been looking at **[this guide](https://community.glideapps.com/t/how-to-open-a-support-ticket/59883/2)**, and we have an enterprise account, but the `(?)` button to submit a ticket isn’t there? I don’t have any any chrome extensions installed, so there shouldn’t be something blocking page elements. But I also have no memory of ever seeing the `(?)` icon since I started using Glide a month ago. Is there a direct link or webpage for creating a support ticket?

---

<div class="post-metadata">

### Author: ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)
#### Post date: [November 21, 2025, 5:49pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/12 "2025-11-21T17:49:11Z")

</div>

> [@Is the Messenger Icon Only for Business Plan? Billing Support Also Not Working](https://community.glideapps.com/t/is-the-messenger-icon-only-for-business-plan-billing-support-also-not-working/85462/3):
>
> If you have opted out of cookies and tracking, the chat icon will not appear. The reason why it is best to contact Support via the chat is that when you do, details about your App are automatically captured, which helps with the support process.

---

<div class="post-metadata">

### Author: ![Marcel\_at\_Glide](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/marcel_at_glide/32/60371_2.png) [@Marcel\_at\_Glide](https://community.glideapps.com/u/Marcel_at_Glide)
#### Post date: [November 24, 2025, 11:42pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/13 "2025-11-24T23:42:44Z")

</div>

@r_avo - We got your support ticket and are looking into it. I also resolved the issue where the (?) support icon wasn’t showing up in your team. We’ll get back to you via the support ticket next.

---

<div class="post-metadata">

### Author: ![Marcel\_at\_Glide](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/marcel_at_glide/32/60371_2.png) [@Marcel\_at\_Glide](https://community.glideapps.com/u/Marcel_at_Glide)
#### Post date: [December 12, 2025, 10:38pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/14 "2025-12-12T22:38:19Z")

</div>

@r_avo Regarding this issue, a Webhook Ingestor (aka Trigger) does accept JSON arrays like this:

[  
{“a”: “string a”},  
{“b”: “string b”},  
…  
]

The issue is only with the test-run feature in the Builder. Until it’s fixed, use another Glide app, or a tool like [make.com](http://make.com) or curl, to trigger and test your workflow.

---

<div class="post-metadata">

### Author: ![Marcel\_at\_Glide](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/marcel_at_glide/32/60371_2.png) [@Marcel\_at\_Glide](https://community.glideapps.com/u/Marcel_at_Glide)
#### Post date: [December 16, 2025, 10:01pm UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/15 "2025-12-16T22:01:58Z")

</div>

Hey everyone,

Thanks for bringing this to our attention. The test-run aspect of this issue has been fixed as well. Let us know if you have any more issues.

Cheers!

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [December 17, 2025, 12:23am UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/16 "2025-12-17T00:23:42Z")

</div>

Thanks for working on this!

---

<div class="post-metadata">

### Author: ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/system/32/53398_2.png) [@system](https://community.glideapps.com/u/system)
#### Post date: [December 24, 2025, 12:24am UTC](https://community.glideapps.com/t/webhook-clears-request-body-when-request-body-is-an-array/85426/17 "2025-12-24T00:24:12Z")

</div>

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
