Skip to main content

OK, so who's actually using External Actions to push GS data to OTHER platforms?

  • November 3, 2022
  • 5 replies
  • 175 views

sdrostgainsightcom
Forum|alt.badge.img+3

Hello all - this is Scott Drost at Gainsight, and I run the weekly US Admin Office Hours session.  I was also on the floor at PAL back in August, providing tech assistance and generally causing trouble for the presenters (sorry Peter!)

 

Wanting to hear from those who are either using, or interested in using, External Actions to push data FROM Gainsight to OTHER platforms via API. 

I ask because In my day-to-day work with Gainsight admins, I honestly leverage External Actions almost entirely to update standard objects in Gainsight that the Rules Engine doesn’t allow you to do with an upsert . . . CTAs, for instance, or Success Plans.  And yes, it’s a super-handy and viable solution for maintaining those objects, but I’m going to start a separate thread about that.

 

So - If you DO push data to other platforms via External Actions, or if you are in the middle of setting up External Actions push to another platform:

  • What platforms are you pushing to?

  • Who did the heavy lifting on the “target” side -- authorizing the connector, or writing the API call, etc. for the platform you are pushing the data to?

  • Any pitfalls you hit? In particular, if there was a data owner on the receiving end (your JIRA admin, if you are pushing to JIRA for example) that had issues, would like to know -- and of course, if you are stuck on something, me or others on the channel here will chime in if we have any possible solutions.

For those who haven’t used it yet but have a use case -- what platforms do you want to push to?  What’s holding you back (besides the other 2 bzillion items in your backlog)?

Throw it up here in the replies - since someone else may have already done it and chimed in - also gives me a sense of what the “hot” data repositories are for pushing CS data to from Gainsight.  Look forward to hearing from you!

5 replies

benwanlessmenlo
Forum|alt.badge.img+4
  • Contributor ⭐️⭐️⭐️⭐️⭐️
  • 115 replies
  • January 24, 2023

We use External Actions to push various messages to Slack, for example new NPS responses and other important customer events. It did take some testing to get the message Payload in the correct Slack format (there are a lot of options to beautify and add interactivity).

Although I know you were looking for use-cases outside of calling the Gainsight’s own API, but that is the primary use case. With External Actions Calling the Gainsight API we create functionality that doesn’t currently exist. For example a custom “real-time rules”.


sdrostgainsightcom
Forum|alt.badge.img+3
  • Author
  • Gainsight Employee ⭐️⭐️⭐️
  • 545 replies
  • January 25, 2023

Thanks for that, @benwanlessmenlo -- and I had some of the same challenges getting the message Payload into Slack format as well, but you are right - once you figure it out it’s easy to start tweaking to really make the messages you are posting to your Slack instance pop out!

Did you have to basically figure out the JSON Payload thru trial and error?


benwanlessmenlo
Forum|alt.badge.img+4
  • Contributor ⭐️⭐️⭐️⭐️⭐️
  • 115 replies
  • January 25, 2023

@sdrostgainsightcom  Yes, trial and error, and also finding mentions on specific elements on StackOverflow.

To add to the difficulty, Slack has different message formats and some features of the old format are being depreciated (i.e. simple buttons). It ends up that there are multiple ways to send the same message, not just one.


Padolfi
Forum|alt.badge.img+6
  • Contributor ⭐️⭐️⭐️⭐️
  • 26 replies
  • March 10, 2023

Hi @sdrostgainsightcom!

I actually just finished configuring and testing a connection to GSheets API. The idea came to be bc I found that there were a lot of processes being done were someone in my company had to download data and us it in their own team’s spreadsheet (Not ideal, I know). Either they exported it to S3 and took it from there, or downloaded the data from a report and pasted it in their own spreadsheet. And seeing as they didn’t want to change the way they worked, I thought I would simplify things a little bit. 

The way I did it needs to have a google project set up, but it is free for these transactions and it actually uses OAuth2.0 authentication + the spreadsheet’s sharing permissions so it will only allow you to do what it was defined in the project and not more (so the IT dpt should be fine with it)

The google project creation and configuration was done by mebecause mycompany actually allows it, but in other companies probably this will be done by the IT dpt.

I’m posting a discussion with the instructions in this group for a simple setup that allows to append records to a spreadsheets, but it has a lot of possibilities. 

The only gotcha was that I found that there is kind of a bug from gainsight’s side, support is already investigating. Sometimes Gainsight reports that the call was done successfully but the record doesn’t appear in the spreadsheet. I’ve tested it with postman and it works without any issues, so I hope it will be solved soon. 


sdrostgainsightcom
Forum|alt.badge.img+3
  • Author
  • Gainsight Employee ⭐️⭐️⭐️
  • 545 replies
  • March 13, 2023

Thank you for the detailed instructions post on the main channel for the group here, @Padolfi !  

Great stuff -- and let me know when you hear back from Support . . . curious if you are running this via a Rule and External Action, I’m guessing?  There isn’t a response from the target API?

The catch with the Rules Engine execution log (if that’s where you are seeing the “successful” calls in spite of data not actually landing in the target Google Sheet) is that it shows that the External Action successfully sent the calls out via the External Action, but it does not show whether the call itself failed or not.

For that, you should be able to see the result in the External Action execution log.  Is that also showing a successful response from the API itself?  Or is it not capturing the response at all?  

Let me know -- this use case has come up before so I’m interested in the resolution to make it a fully stable solution!


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings