# Receive Stripe webhook and then update user table with customer email?

**URL:** <https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223>\
**Category:** Ask for Help\
**Created:** [February 2, 2026, 1:04am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223 "2026-02-02T01:04:42Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![costarica](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/costarica/32/86266_2.png) [@costarica](https://community.glideapps.com/u/costarica)\
**Post date:** [February 2, 2026, 1:04am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/1 "2026-02-02T01:04:42Z")

</div>

Hi there, I’m receiving a webhook from Stripe and would like to take the customer email from the webhook and add it to the user table.

The JSON to transform is “jsonBody.data.object.customer\_details.email” and this is working fine. However the next field, I’m not sure what to put. Screenshot attached.

 ![Screenshot 2026-02-01 at 3.03.50 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/a/fa26a4d82b2ed844075b196203e5f313bb2b06ff.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 2, 2026, 3:06am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/2 "2026-02-02T03:06:48Z")

</div>

You’ve got that around the wrong way.  
You should be targeting the full JSON body that you receive from Stripe, then use `jsonBody.data.object.customer_details.email` to extract the email address.

If you can provide a sample response, I can show you exactly what that should look like.

---

<div class="post-metadata">

**Author:** ![costarica](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/costarica/32/86266_2.png) [@costarica](https://community.glideapps.com/u/costarica)\
**Post date:** [February 2, 2026, 3:20am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/3 "2026-02-02T03:20:06Z")

</div>

Thanks. Below is a sample/redacted response

{  
“headers”: {  
“accept”: “_/_; q=0.5, application/json”,  
“content-type”: “application/json; charset=utf-8”,  
“user-agent”: “Stripe/1.0 (+https://stripe.com/docs/webhooks)”,  
“cache-control”: “no-cache”,  
“x-request-id”: “REQ\_REDACTED”,  
“stripe-signature”: “REDACTED”  
},  
“jsonBody”: {  
“id”: “evt\_REDACTED”,  
“object”: “event”,  
“type”: “checkout.session.completed”,  
“created”: 1700000000,  
“livemode”: false,  
“api\_version”: “2025-05-28.basil”,  
“pending\_webhooks”: 1,  
“data”: {  
“object”: {  
“id”: “cs\_test\_REDACTED”,  
“object”: “checkout.session”,  
“mode”: “payment”,  
“status”: “complete”,  
“payment\_status”: “paid”,  
“currency”: “usd”,  
“amount\_subtotal”: 899,  
“amount\_total”: 899,  
“customer”: null,  
“customer\_email”: null,  
“customer\_details”: {  
“name”: “REDACTED”,  
“email”: “REDACTED”,  
“phone”: null,  
“address”: {  
“city”: null,  
“line1”: null,  
“line2”: null,  
“state”: null,  
“country”: “US”,  
“postal\_code”: “REDACTED”  
}  
},  
“payment\_intent”: “pi\_REDACTED”,  
“payment\_link”: “plink\_REDACTED”,  
“submit\_type”: “auto”,  
“ui\_mode”: “hosted”,  
“billing\_address\_collection”: “auto”,  
“payment\_method\_types”: [  
“card”,  
“klarna”,  
“link”,  
“cashapp”,  
“amazon\_pay”  
],  
“payment\_method\_options”: {  
“card”: {  
“request\_three\_d\_secure”: “automatic”  
}  
},  
“automatic\_tax”: {  
“enabled”: false  
},  
“total\_details”: {  
“amount\_tax”: 0,  
“amount\_discount”: 0,  
“amount\_shipping”: 0  
},  
“invoice”: null,  
“subscription”: null,  
“metadata”: {}  
}  
},  
“request”: {  
“id”: null,  
“idempotency\_key”: null  
}  
},  
“queryParams”: {}  
}

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 2, 2026, 3:29am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/4 "2026-02-02T03:29:06Z")

</div>

Okay, so this is what it should look like:

 ![CleanShot 2026-02-02 at 11.26.54@2x](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/a/7a738ca66629d63b809c709a9fcd1f20f5412761.png)

In your case, the “JSON” will be the JSON body from your webhook trigger.

When I run the above, I get the following:

 ![CleanShot 2026-02-02 at 11.28.44@2x](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/c/fcce14eb2d8acb5003241f844f9e1ff40536d0f7.png)

---

<div class="post-metadata">

**Author:** ![costarica](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/costarica/32/86266_2.png) [@costarica](https://community.glideapps.com/u/costarica)\
**Post date:** [February 2, 2026, 3:34am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/5 "2026-02-02T03:34:27Z")

</div>

Thanks. That’s odd. I don’t have the single value option in my Query JSON configure action screen.

 ![Screenshot 2026-02-01 at 5.33.53 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/a/0a9597770c2ff5084b84cb9637cbac51e8f10ed2.jpeg)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 2, 2026, 3:51am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/6 "2026-02-02T03:51:49Z")

</div>

My example was contrived. You should target the trigger body as shown in your screenshot.

---

<div class="post-metadata">

**Author:** ![costarica](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/costarica/32/86266_2.png) [@costarica](https://community.glideapps.com/u/costarica)\
**Post date:** [February 2, 2026, 3:53am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/7 "2026-02-02T03:53:31Z")

</div>

I’m getting closer but still not working correclty. Let me know if you see anything in the screenshots

 ![Screenshot 2026-02-01 at 5.51.14 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/5/555c9e445245e62bebf586a3b3d7269de54191ae.jpeg)  
 ![Screenshot 2026-02-01 at 5.51.25 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/b/0b8e506f772eb8e42ecda946e1aedea036fd7496.jpeg)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 2, 2026, 4:41am UTC](https://community.glideapps.com/t/receive-stripe-webhook-and-then-update-user-table-with-customer-email/86223/8 "2026-02-02T04:41:25Z")

</div>

Your Add Row looks wrong. You should be using the output of the Query JSON node.
