How to Get Row Data from Sheet ID using Zapier

Options
Kevin Segrist
Kevin Segrist ✭✭
edited 06/14/22 in Add Ons and Integrations

I'm trying to use Zapier to update an existing row, (row 2), in a sheet, (created by a previous zap) by passing the value of the "Project Plan ID" (sheet ID) column in my trigger sheet. Why can't Zapier get row information when a sheet ID is supplied, even though I know the sheet exists?

Is there some other way I can accomplish this?



Answers

  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    Hi @Kevin Segrist

    I have to admit I'm not that familiar with Zapier, but it sounds like this may be related to how the Zap is looking at the sheet.

    In looking at their Help Articles for triggers, it notes that Zapier will attempt to find a recent item to use in the Zap, and that if Zapier is having trouble finding data for your trigger, try adding new data for the event (see here for more information).

    If you're still having issues, I would suggest posting in the Zapier Community (here) to see if other users have encountered this before.

    Cheers!

    Genevieve

  • Kevin Segrist
    Kevin Segrist ✭✭
    edited 10/28/20
    Options

    Thank you for responding @Genevieve P . You're close, and yes, I did discover that some sample data items may not be available to Zapier unless recent changes have been made to the trigger sheet. This is a little different in that I need to be able to get sheet metadata, specifically a row ID, by referencing that sheet's ID, which is stored in my trigger sheet. This need is based on a "chicken-egg" scenario... the sheet is created from a previous zap, where I can collect and store the new sheet ID, and some other data, but not row data. Very frustrating.

    Unfortunately, the Zapier folks said what I'm attempting to do requires a row lookup functionality that Smartsheet hasn't (yet?) provided. Apparently there has been an enhancement request for this for quite some time, with many votes. I started looking into the Smartsheet API, but I'm really a fish out of water there. I couldn't get past the first hurdle, even with the advice you offered me in another post.

    Thanks again!

    Kevin

  • Steven Benders
    Options

    Hi @Kevin Segrist , I found a solution in the SmartSheet API.

    You will need a SmartSheet API token.

    You'll need to either use two tasks with Zapier webhooks + one filtering task or one task with Zapier Code (using fetch() ).


    First, use the https://smartsheet-platform.github.io/api-docs/?javascript#search-sheet-2 function to do a search in the sheet. If found, the response will contain a row object with the result. You may need to filter the results to a single Row object where the contextData is the correct Primary Column ID. You'll need to use the Object ID in that object for the next call.


    Secondly, use https://smartsheet-platform.github.io/api-docs/?javascript#get-row where you pass in the Object ID you just found. This should return the data about the row, and you'll specifically want the rowNumber property.


  • Christina09
    Christina09 ✭✭✭✭✭✭
    Options

    @Steven Benders WOW! Thanks for sharing this, but this is way beyond tech that I can handle.


    If anyone knows an easier way, pls let me know, thanks :)

  • RossNovotny
    Options

    Hi @Kevin Segrist my team and I developed a Smartsheet/Zapier integration that will help you find the row ID dynamically. If you're interested, sign up here: https://thirddegreeleverage.com/smartsheet

    Hope it helps