# Send data using API

**URL:** <https://community.glideapps.com/t/send-data-using-api/49724>\
**Category:** Ask for Help\
**Created:** [September 20, 2022, 1:48pm UTC](https://community.glideapps.com/t/send-data-using-api/49724 "2022-09-20T13:48:36Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Arik](https://avatars.discourse-cdn.com/v4/letter/a/c4cdca/32.png) [@Arik](https://community.glideapps.com/u/Arik)\
**Post date:** [September 20, 2022, 1:48pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/1 "2022-09-20T13:48:36Z")

</div>

Hi,  
I would like to develop an application to send data using API to a MS SQL Server. The data source is from pre-defined google sheet / Excel spreadsheet.

The only issue I can’t understand is how to post data from the App to external Db (currently in MS SQL Server / AMAZON) using JSON format (I have the dB API).

Do I need **Zapier** (or other tool) to do that or does the **standard API features** allows me to create this JSON-style post.

If I recall correctly, the Glide Basic API allows to add, update, and delete data **within Glide tables directly** and not to external Db.

So, is it possible?

I will be grateful if you can send a link to a tutorial/documentation dealing with this issue since this is one of the critical features I need.

---

<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:** [September 20, 2022, 2:31pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/2 "2022-09-20T14:31:50Z")

</div>

You would need to use Glide computed columns to construct a JSON payload, and then send that via a webhook to an external service such as Make/Zapier, which could then forward it to your MS SQL Server API.

Note however that webhooks in Glide must be user-initiated. That is, it would require an action (button press or similar) from a user to trigger the webhook.

If it needs to be done on a schedule, then you would need to fetch the data via the Glide API (you’d need a Business or Enterprise licence to get access to the Get All Rows endpoint), and then construct your JSON payload outside of Glide - again using something like Make/Zapier.

---

<div class="post-metadata">

**Author:** ![Arik](https://avatars.discourse-cdn.com/v4/letter/a/c4cdca/32.png) [@Arik](https://community.glideapps.com/u/Arik)\
**Post date:** [September 20, 2022, 3:19pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/3 "2022-09-20T15:19:24Z")

</div>

Thanks for the quick reply 🙂  
No problem with user-initiation…  
As for the “construct a JSON payload”, I’m not familiar with that.  
Is there any tutorial/documantation/example on how to do that?

---

<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:** [September 20, 2022, 3:44pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/4 "2022-09-20T15:44:29Z")

</div>

No, but there is now 😉

.

---

<div class="post-metadata">

**Author:** ![Arik](https://avatars.discourse-cdn.com/v4/letter/a/c4cdca/32.png) [@Arik](https://community.glideapps.com/u/Arik)\
**Post date:** [September 20, 2022, 5:03pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/5 "2022-09-20T17:03:13Z")

</div>

Well Darren,  
YOU ARE THE BEST !!  
Thanks

---

<div class="post-metadata">

**Author:** ![Krivo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/krivo/32/5363_2.png) [@Krivo](https://community.glideapps.com/u/Krivo)\
**Post date:** [September 20, 2022, 6:33pm UTC](https://community.glideapps.com/t/send-data-using-api/49724/6 "2022-09-20T18:33:47Z")

</div>

Community star ⭐ ⭐

---

<div class="post-metadata">

**Author:** ![Arik](https://avatars.discourse-cdn.com/v4/letter/a/c4cdca/32.png) [@Arik](https://community.glideapps.com/u/Arik)\
**Post date:** [September 21, 2022, 8:16am UTC](https://community.glideapps.com/t/send-data-using-api/49724/7 "2022-09-21T08:16:23Z")

</div>

A short one if I may:  
Does Glide itself sends the webhook (button press is great for me) or do I need Make/Zapier to send it?

---

<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:** [September 21, 2022, 8:27am UTC](https://community.glideapps.com/t/send-data-using-api/49724/8 "2022-09-21T08:27:10Z")

</div>

If you have a webhook action, when a user press the button, it will send the payload you choose to whatever URL you specify in the webhook action.

---

<div class="post-metadata">

**Author:** ![ichilddev](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ichilddev/32/45179_2.png) [@ichilddev](https://community.glideapps.com/u/ichilddev)\
**Post date:** [October 12, 2022, 9:20am UTC](https://community.glideapps.com/t/send-data-using-api/49724/9 "2022-10-12T09:20:22Z")

</div>

Hi Community

We are using the get Row API and found that the return values are a mixture of ID and Column name.

How can we make sure the that get values are column names ?

 ![Column ID vs Names](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/8/38d6ae1d3d8bc72bd80eeac262a70f0081172282.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:** [October 12, 2022, 9:28am UTC](https://community.glideapps.com/t/send-data-using-api/49724/10 "2022-10-12T09:28:06Z")

</div>

They are the Glide internal column names, and are guaranteed not to change. You should use them in your API calls.

For example, if you rename a column in Glide, the internal column name will not change, and so your API integrations will not break.

---

<div class="post-metadata">

**Author:** ![ichilddev](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ichilddev/32/45179_2.png) [@ichilddev](https://community.glideapps.com/u/ichilddev)\
**Post date:** [October 12, 2022, 9:31am UTC](https://community.glideapps.com/t/send-data-using-api/49724/11 "2022-10-12T09:31:04Z")

</div>

Thanks for your prompt reply!

Weird that some are with the name intact but some are in raw internal column name

---

<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:** [October 12, 2022, 9:37am UTC](https://community.glideapps.com/t/send-data-using-api/49724/12 "2022-10-12T09:37:10Z")

</div>

Yeah. I’m not exactly sure how that works.

---

<div class="post-metadata">

**Author:** ![Yasin\_Hassanien](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/yasin_hassanien/32/9042_2.png) [@Yasin\_Hassanien](https://community.glideapps.com/u/Yasin_Hassanien)\
**Post date:** [October 14, 2022, 2:34am UTC](https://community.glideapps.com/t/send-data-using-api/49724/13 "2022-10-14T02:34:24Z")

</div>

Yes indeed shout out to @Darren_Murphy one of the pillars

---

<div class="post-metadata">

**Author:** ![prettycold](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/prettycold/32/71118_2.png) [@prettycold](https://community.glideapps.com/u/prettycold)\
**Post date:** [February 22, 2024, 7:50am UTC](https://community.glideapps.com/t/send-data-using-api/49724/14 "2024-02-22T07:50:39Z")

</div>

@Darren_Murphy - I can see that this is an old post, but I wanted to see how you construct a JSON Payload, for whatever reasons it seems like a gif to me, unable to click on anything.

---

<div class="post-metadata">

**Author:** ![prettycold](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/prettycold/32/71118_2.png) [@prettycold](https://community.glideapps.com/u/prettycold)\
**Post date:** [February 22, 2024, 8:22am UTC](https://community.glideapps.com/t/send-data-using-api/49724/15 "2024-02-22T08:22:13Z")

</div>

I’m guessing you use a Joined List type and join all the individual json objects into one. I’m wondering where you’ll store this single payload as it doesn’t make sense to store in the original table that has the independent json values as multiple rows. 🫣

---

<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 22, 2024, 8:33am UTC](https://community.glideapps.com/t/send-data-using-api/49724/16 "2024-02-22T08:33:26Z")

</div>

It depends on the use case. I often use a single row helper table.

There are better ways to construct JSON now. Check out the JSON Object and JSON Template columns.

---

<div class="post-metadata">

**Author:** ![prettycold](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/prettycold/32/71118_2.png) [@prettycold](https://community.glideapps.com/u/prettycold)\
**Post date:** [February 22, 2024, 8:49am UTC](https://community.glideapps.com/t/send-data-using-api/49724/17 "2024-02-22T08:49:30Z")

</div>

I added a column of type JSON Object in my table that has the required information and constructed it. Now seeing how to combine all these JSON objects into 1 JSON Payload and then pass it to a Zap.

---

<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 22, 2024, 9:24am UTC](https://community.glideapps.com/t/send-data-using-api/49724/18 "2024-02-22T09:24:35Z")

</div>

If you want all rows, use a lookup.  
If you need a subset, use a lookup through a relation or query.  
Then pass the lookup into another JSON Object column (or a JSON Template, depending on the structure required).

---

<div class="post-metadata">

**Author:** ![prettycold](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/prettycold/32/71118_2.png) [@prettycold](https://community.glideapps.com/u/prettycold)\
**Post date:** [February 22, 2024, 9:33am UTC](https://community.glideapps.com/t/send-data-using-api/49724/19 "2024-02-22T09:33:01Z")

</div>

Awesome. I was thinking of making use of Fetch rows options available in Glide Tables API to fetch a subset. This alternative seems a lot simpler. Let me give it a try. You are a ⭐

---

<div class="post-metadata">

**Author:** ![prettycold](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/prettycold/32/71118_2.png) [@prettycold](https://community.glideapps.com/u/prettycold)\
**Post date:** [February 23, 2024, 9:57am UTC](https://community.glideapps.com/t/send-data-using-api/49724/20 "2024-02-23T09:57:13Z")

</div>

Are there any links that explains the difference between JSON Object and a JSON Template? I did a decent search but don’t seem to come across any. Is JSON Template something where I can keep adding JSON objects?

[Next page](https://community.glideapps.com/t/send-data-using-api/49724.md?page=2)
