Integrating Glide App with Pipedrive CRM via AI Transcriptions

Hello Glide Community,

I’m developing a Glide app where sales reps answer questions about meetings via voice notes rather than data entries. GPT3.5 then transcribes these notes. The challenge is associating these notes with Deals and People in our Pipedrive CRM.

Due to the volume of data, syncing all deal titles/person names with their IDs isn’t feasible. I’m considering using the fetch JSON column for searching instead.

Two issues I need guidance with:

  1. The implementation of this solution using an API Key.
  2. Ensuring fast search operations, so surfacing deals/customers is as seamless as the CRM

Thanks for your help in advance!

There’s a “generic API” call in alpha now that allows you to add headers, but the headers are not safe as of now. It returns results pretty quick, though. I don’t know when it will reach beta, but I feel it’s promising, going hand in hand with the new query JSON column.

How do I join the Alpha?
It’s an internal application, so not as concerned

Sorry, I’m not sure about that. It’s pretty early, I think only certain experts are in the alpha program now.

Alternatively I was gonna run it thru make or nocodeAPI, but that would probably result in slow performance.

Let’s say I figure it out, gain access-

What would be the best method to list multiple results as an array?

I would imagine:

  • An API call to return a JSON object.
  • Bring that JSON object to a helper table.
  • Create an index for each row on that table.
  • Use the new query JSON column to get the info to each row.
1 Like

ok, I see, how clever!

I’m also wondering which no-code tool would be a good bridge so that I could for instance use make.com to fetch the data from the Pipedrive API or Firestore and use the fetchJSON to display the queried results.

@Darren_Murphy seems to have implemented the solution you’re suggesting, correct?

I wonder how many rows it could handle without delay

I’ve tested with up to 3000 rows, using pure JavaScript, and I started to see some slowdown above 1000 rows. Above 3000, and it started to produce erratic results.

But I think it also depends on how complex your data structure is, and how efficient your parsing code is.

Also, the new JSONata column is supposed to be really fast and efficient. I haven’t tested with that yet.

1 Like

Amazing, more than enough in my use case!
Especially as I could always introduce pagination buttons to load only 100 at a time which would make the experience a breeze.

Interesting, is that in beta? I haven’t seen it

You can enable it via Previews.

enabled in previews! thanks!
although, the problem with using this field or Transform JSON is that there’s no option to outline variables as we could in javascript, so there’s no way to reference the index…

I wonder the JSONata column is any quicker than the Transform JSON (which is essentially jq), which is already publicly released. I wonder what the the difference is in general.

additionally, I wonder if there’s a javascript to create an array of sequential Index ID’s based on the current row rather than entering them manually…

See below, use the 2nd option

I believe it is much faster. I generally avoid the JQ column, because I’ve found it has performance issues.

Yeah there is. There is a rich syntax available. Check the JSONata docs.

Yes, but Glide only allows for input of a single field, not multiple variables as with javascript. So how would I reference the index column?


This is so cool! thank YOU!

You mean pull a different index for each row in the Query parameter? You could just build a template column that builds the query, along with the row’s index, and use the template column in the query parameter.

2 Likes

Yes, but the issue with that is-
I have multiple columns/fields which I would like to display.

I will need 2 columns for each field I would like to display, the ‘Template’ and ‘Query JSONata’ columns.
Whereas with Javascript I can reference variables and so I only need 1 column per field I’m looking to display.

1 Like

In that case, create just one Template column and one JSON Query column that gets the index level node for each row.

[1]

Then create the rest of your JSON Query columns sourced from the first JSON Query column.

fields.status

It’s only 2 extra columns.

2 Likes

Amazing, works perfectly! and it’s blazing fast…

I’m using make.com as an intermediary and the response time is pretty much instant.

Additionally, doing it as you suggested @Jeff_Hager is significantly more efficient as all columns don’t need to index all rows, only their own.

3 Likes

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