# Integrating Glide App with Pipedrive CRM via AI Transcriptions

**URL:** https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207
**Category:** Ask for Help
**Tags:** data-sync, api
**Created:** [July 21, 2023, 4:12am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207 "2023-07-21T04:12:22Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 21, 2023, 4:12am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/1 "2023-07-21T04:12:22Z")

</div>

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!

---

<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: [July 22, 2023, 2:54am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/2 "2023-07-22T02:54:43Z")

</div>

> [@Eden](#):
>
> The implementation of this solution using an API Key.

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.

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 22, 2023, 3:06am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/3 "2023-07-22T03:06:20Z")

</div>

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

---

<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: [July 22, 2023, 3:28am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/4 "2023-07-22T03:28:37Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 22, 2023, 7:33pm UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/5 "2023-07-22T19:33:15Z")

</div>

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?

---

<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: [July 22, 2023, 11:53pm UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/6 "2023-07-22T23:53:26Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 3:44am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/7 "2023-07-27T03:44:48Z")

</div>

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](http://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?

> [@Transform JSON with JQ](https://community.glideapps.com/t/transform-json-with-jq/56088/14):
>
> Darren’s code will work, you just need to modify it a little, because you don’t have headers… Thanks, @Darren_Murphy !!! super fast and columns saver method… no need for templates, slicing, join columns, split columns, and single value columns… from JSON straight to split column… WOW… love it!!! let json = JSON.parse(p1); if (json[p2]) { return json[p2][0]; } now I need to go back to my apps and change it LOL… that will cut off maybe another second f…

I wonder how many rows it could handle without delay

---

<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: [July 27, 2023, 3:49am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/8 "2023-07-27T03:49:03Z")

</div>

> [@Eden](#):
>
> 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.

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 4:06am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/9 "2023-07-27T04:06:55Z")

</div>

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.

> [@Darren\_Murphy](#):
>
> the new JSONata column is supposed to be really fast and efficient

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

---

<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: [July 27, 2023, 4:09am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/10 "2023-07-27T04:09:22Z")

</div>

You can enable it via Previews.

 ![CleanShot 2023-07-27 at 12.08.30@2x](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/8/b8f8dae17816b76aa87a2e839d97bbdfc3053288.png)

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 4:54am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/11 "2023-07-27T04:54:04Z")

</div>

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](https://jqlang.github.io/jq/)), which is already publicly released. I wonder what the the difference is in general.

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

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 5:08am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/12 "2023-07-27T05:08:50Z")

</div>

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…

---

<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: [July 27, 2023, 5:18am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/13 "2023-07-27T05:18:03Z")

</div>

> [@Eden](#):
>
> 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

> [@How do I create an auto-incrementing row number with Glide Tables?](https://community.glideapps.com/t/how-do-i-create-an-auto-incrementing-row-number-with-glide-tables/39572):
>
> This is a question that comes up a lot, so creating this topic to use as a reference. Typically, there are two distinct use cases when it comes to auto-incrementing row numbers. Use Case 1: – We need to generate a Part Number, or an Order Number, or an Employee ID. Once the number is generated, it should never change, even if rows are deleted. – The general approach for this use case is to maintain a static counter, use it to craft a suitably formatted ID, and increment it by one every time…

> [@Eden](#):
>
> I wonder the JSONata column is any quicker than the Transform JSON (which is essentially [jq](https://jqlang.github.io/jq/)), which is already publicly released. I wonder what the the difference is in general.

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

> [@Eden](#):
>
> 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…

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

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 5:23am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/14 "2023-07-27T05:23:51Z")

</div>

> [@Darren\_Murphy](#):
>
> 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?

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

* * *

> [@Darren\_Murphy](#):
>
> See below, use the 2nd option

This is so cool! thank YOU!

---

<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: [July 27, 2023, 5:42am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/16 "2023-07-27T05:42:06Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 6:14am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/17 "2023-07-27T06:14:20Z")

</div>

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.

---

<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: [July 27, 2023, 11:44am UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/18 "2023-07-27T11:44:38Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)
#### Post date: [July 27, 2023, 2:57pm UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/19 "2023-07-27T14:57:43Z")

</div>

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

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

I’m using [make.com](http://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.

---

<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: [July 28, 2023, 2:58pm UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/20 "2023-07-28T14:58:13Z")

</div>

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

---

<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: [July 29, 2023, 4:56pm UTC](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207/21 "2023-07-29T16:56:38Z")

</div>



[Next page](https://community.glideapps.com/t/integrating-glide-app-with-pipedrive-crm-via-ai-transcriptions/64207.md?page=2)
