🚀 Glide table API & curl - what can we all learn together?

@Mark and @david have been busy :star2:

I use integromat for most of my backend but I’ve hired an engineer to help me out @mubeeniftikhar :slight_smile: so we are ready to figure out how to solve my various use cases:

  1. how to use an integromat scenario that produces an agent ID and TestFlow ID …. And push that to the Agent sheet, matching against Agent ID (row id) and writing the tfid into ‘current tfid’

  2. programmatically set columns in the TestFlow table to clear all or some values

  3. writing button presses between agent and user so that the button in the customer app appears 15-300 seconds faster (even in a glide table)

Happy to share our findings!

9 Likes

An immediate use case for me is write PayHere rows directly into Glide Tables. This is big, thanks so much for sharing!

6 Likes

I have the same need :slight_smile: :slight_smile:

1 Like

mmm, and I could insert my Facial Recognition scans directly into Glide. Been waiting for this for months…

Although, just thinking about it - in my case I need to be able to do an “upsert” - so if I can’t search rows via the API, then it may not meet my use case.

4 Likes

What the helll!! :flushed:

Where is that API that allows to write into Glide Tables directly??

Gracias!!

2 Likes

wait what? How?

Writing into Glide directly from another system is up there with ‘Find All Uses’, ‘XC columns’, Plugins, and a working data editor in the bottom left. OK, having fun with the last thing!

The GS-Glide round trip can be 15-300 seconds, which leads to a terrible user experience for some types of apps. But with this bit of magic code, the world becomes beautiful :slight_smile: (until the next thing we come up with :wink:

3 Likes

How what? The facial recognition?
It’s a project I’ve been working on for a while. I described it in some detail here. :slight_smile:

3 Likes

Exactly!

1 Like

OK - Thanks to @mubeeniftikhar (who works for me at Covessa :slight_smile: we have made a ton of progress. He will write up how things properly work soon, but I thought I would share work to date beforehand.

  1. In the Data Editor, right click and see if you have a ‘Show API Key’ option from a table on the left
  • works with Glide Tables (GT) and Google Sheets (GS)
  1. You have the option to copy the code for:
  • Add Row
  • Delete Row
  • Set Columns (in a row)
  1. You find a row with the Row ID (look at the bottom of the code… you might have renamed the column)
  2. You will see that Glide has remembered the old column names and maybe even order you had weeks ago when you started building the app - but no panic, the current column name (and therefore use you are making of it) is written too (I have “Date”:“Inc/ Agent” for my agent increment, for example)
  3. We are using Integromat so we started with a simple Set Variables module to set variables to test, then pushed in these values to test in an experiment app to see if they work.
  4. Your JSON needs to be formatted as Beautify otherwise it will not work
  • you need to put the values you want to write in into quotation marks""

There will be some other things to take note of - but in the meantime here is a short video to walk you through magic :slight_smile:

2 Likes

Is that 3 seconds in the builder, or 3 seconds in the client apps?
As I understand it, the change is pushed via the API to the Glide back end, but it then needs to sync to each client app - correct?

Although thinking about it, the builder is in some ways just another client. So if it syncs from the backend to the builder in 3 seconds, then it’s probably a reasonable expectation that the clients would get it in a similar time frame? :thinking:

Looking forward to having a play with this…

1 Like

3 sec to appear in the client :slight_smile: :slight_smile:

my testing so far :slight_smile:

3 Likes

Can’t wait to have a play with this. From your video, it seems that we have to get a rowID column in order for it to work, is it correct?

yes :slight_smile: and I worked out a magic trick to process lots of rows at the same time.

There is no ‘search rows’…
So instead you do:

  1. in the Glide table, work out what your search criteria might be (in my case TestFlow row… if agent inc exists… at 2am… this means we need to reset data in the entire row… so maybe 50 - 200 rows in a 6K+ table currently)
  2. from the ITE- if true, then put in the TFID (rowID) of the Row
  3. then make a joined list - of all the TFID rows that match
  4. then have a button with a Glide Webhook (I am using these more - initiate in integromat, then you do not need to be as careful with the parameters)
  5. the webhook sends a single parameter - ActiveTFIDs - a long string with a comma separator (for now)
  6. Then I set a variable… and then split the variable with an iterator (did not want to work without one) …
  7. and then stored each TFID (Row ID) as a row in an Integromat Data Store (only one parameter - TFID and the key is the TFID too)
  8. then an HTTP POST call - with a beautify formatted JSON list - to emptyystring the values I want to clear
  9. then a tidy up - delete the row in the Data Store, and send a Discord message at the end to the support team to say the work is now done

And - after two hours this morning - we have now worked out how to use the new Glide API to work on hundreds of rows at the same time :slight_smile:
Next trick… I have to think through how to populate my TFID data store automatically… and then run the scenario at 2am.

2 Likes

This is Enterprise-only for now.

5 Likes

Thanks for the clarification, @Ian

3 Likes

Is it going to roll out to Pro Apps @Ian?

Unsure right now @V88 – we want everyone to have access but there is the potential for abuse and high costs on our side. We’re still learning about it and figuring out how best to offer it more broadly.

3 Likes

per usage pricing!

2 Likes

I understand that @Ian but this could remove one of the last remaining reasons to use Google Sheets rather than Glide Sheets? Surely a positive across the platform? Anyway, great news that it’s working!

2 Likes