Skip to main content

Thanks so much for joining our Beginners Guide To The Gong API Meetup.  It was exciting to have such an engaged group ready to get using the Gong API. 

 

If you missed the meetup you can access it here.

 

Top 3 discussion areas:

  1. Why to connect to the Gong API

  2. How to connect to the Gong API

  3. Practical use cases for getting started

 

One attendee shared their API interest was driven by the need to stop the time consuming task of downloading and editing CSV files.

Two different attendees said the API is compelling because they want Gong data in their data warehouse for further analysis and combining with other data. 

 

Resources: 

  • We shared a Postman based Gong API Starter Kit, containing the most used Gong API calls — so you can start using the API today. Fast forward to minute 9:14 in the recording to hear more on this.

  • We showed a spreadsheet based tool called Apipheny, that allows you to pull Gong data directly into Google sheets. Fast forward to 27:04 in the recording to see more, or look at this short video.

  • Gong API

Join us for another meetup

Our next meetup continues the API theme, where we will showcase Power BI examples using Gong data retrieved from the API.


Cheers, 

Andrew.

@Andrew O'Driscoll great recap, thank you for sharing! 

FYI @Ian Gwynne 🙂


I watched through this video, and it’s really close to what I’m looking for.  I’m trying to connect the Gong API to PowerBI with an access key.  @Andrew O'Driscoll do you have any instructions on how to use the get/calls/extensive api request to port data to powerbi?


@Nicholas Denker Here is some code that will get you closer. The bolded font are parameters you need to swap for your own. You would also paste the code into the advanced editor.

I am not a big proponent of connection Power BI directly to Gong due the need to paginate results. It work’s fine for select use cases but for large data volumes you’d be better off getting the data into a database that Power BI is connected to. 

Have fun.

 

let
    source = Key & ":" & Secret,
    bytes = Text.ToBinary(source),
    TextForm = Binary.ToText(bytes, BinaryEncoding.Base64),
    basic = "Basic " & TextForm,
        body = "{
  ""contentSelector"": {
    ""context"": ""Extended"",
    ""contextTiming"": E
      ""Now""
    ],
    ""exposedFields"": {
      ""collaboration"": {
        ""publicComments"": false
      },
      ""content"": {
        ""pointsOfInterest"": false,
        ""structure"": false,
        ""topics"": false,
        ""trackers"": true
      },
      ""interaction"": {
        ""personInteractionStats"": false,
        ""questions"": false,
        ""speakers"": false,
        ""video"": false
      },
      ""media"": false,
      ""parties"": false
    }
  },
  ""filter"": {    ""fromDateTime"": """&Text.From(FromDateTime)&""",
    ""toDateTime"": """&Text.From(ToDateTime)&"""
  }
}",  json = Json.Document(Web.Contents(
    "https://api.gong.io/v2/calls/extensive",
        Headers=t#"Authorization"=""&basic&"",
        #"Content-Type"="application/json"],
        Content=Text.ToBinary(body)
        ]
      )
    ),
    #"Converted to Table" = Record.ToTable(json),
    #"Transposed Table" = Table.Transpose(#"Converted to Table"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", PromoteAllScalars=true])
in
    #"Promoted Headers" 


Hi @Andrew O'Driscoll  I followed your query above to connect to the API but it is giving me an Expression Error saying that the import Key matches no exports. I did change the root of the URL of the API to the one under my company settings. any suggestions?

Thanks

Luz


@Luz DeMeo Switching the API to the root of the URL under your company settings will technically return data, but not the data you want. You have to use the https://api.gong.io/ endpoint

Retry with that, and failing that send me a private message to troubleshoot offline and we can update the thread post resolution for the benefit of the community. 

 

 


@Andrew O'Driscoll - I’m new to Gong, have used Salesloft in the past quite a bit. I’m looking to understand if there is a field on the contact / lead / person (not sure how these objects are setup in Gong) record that rolls up the last activity that was taken (i.e. email, phone call, engage flow step, etc..)?

 

Watching your webinar right now, maybe that will shed some light, but if you are able to point me in the right direction that would be great.


Thanks @sam-g Not that I know of. The data references (API and Data Cloud) tend to be bottom up (call, email, meeting, etc.) rather than top down (person, company, deal, etc.) 

 


@Andrew O'Driscoll - thanks for the info - maybe you get to this in the webinar (not through it yet) but it looks like to pull the schema for something like CONTACT or LEAD I need an integration id value in the request url? Is that the case and where would I get that, do I need to set up an app?


There is no equivalent of getLead or getContact etc. in the API. Since you are new to the API suggest starting with Postman, which the session did cover a little and there is a starter Postman workspace/ starter kit.   


@Andrew O'Driscoll - cool, I’m going to continue watching it today.

 

One reason I thought this field may exist is the existence of this column on the People view in Engage:

 

 


I watched the session and I can make majority of API calls.

 

But following api: https://us-17317.app.gong.io/settings/api/documentation#post-/v2/calls

does not seem to take any payload, it always returns 400: “Json parse error, verify Json format matches the API description”

I am using directly your Swagger file or copy pasting examples from api docs.

 

Can you review and let me know what would be valid payload? Thank you!

Example:
 

 


@jokuja  you have to provide one of either phoneNumber, emailAddress, or name in addition to the userId in parties. 

 

I assume you are also adding downloadMediaUrl, but may not have wanted to show it in the screenshot

 


thanks @Andrew O'Driscoll for the quick reaction

 

I resolved, it was a typo, ‘ in the timestamp :) 


Reply