Smartsheet Activities

Smartsheet Activities

Overview

Smartsheet provides a cloud-based platform for work execution that enables teams and organizations to plan, capture, manage, automate, and report on work at scale. It provides various services such as Streamline Facilities Management, Manages Customer Experiences, Manages Budget and planning and other related services

The Smartsheet activities enable you to automate interactions with your Smartsheet application. Using the Smartsheet API, this activities package gives your UiPath robot(s) the ability to execute functions and actions across the entire Smartsheet platform.

sadf

How does it connect?

This is where we need your help.

Before the scope activity can be used to establish a connection, you must complete the steps outlined in the Setup guide. After you complete the Setup steps, you can begin building your automation projects

Technical References

The Activities page includes a complete list of and the links to the SmartSheet API operations used by each activity.

You don’t need to be familiar with the Smartsheet API operations to use the activities; the references are for informational purposes only .

Get Started

Before you build your first project, complete the steps in the Setup guide.

To learn more about the Smartsheet activities (including example property inputs/outputs), see the Activities page for a complete activity list and links to the activity detail pages

How to install

UiPath.Smartsheet.Activities package is available in the UiPath OFFICIAL feed. Please follow the steps below to install the package in UiPath Studio:

In the Official feed, check ‘Include Prerelease’, search for “UiPath.Smartsheet.Activities”, and install the latest Preview version.
** Important - Please make sure you check the ‘Include Prerelease’ checkbox

29 Likes

This is a great news.
I had used API call to implement the solution however its good to see the uipath native activities.

Great job team . :+1:

5 Likes

We do not have a need for videos anymore. Thanks

2 Likes

Awesome

Thanks for the positive feedback. Please do let us know should you have any issues or suggestions for improvements as you use them.

1 Like

Nice

Hi Paul - I’ve spent some time working with the smartsheet activities pack and am having issues returning variables that are associated with “include” parameter for the Get Row activity

  • List item
  • For my workflow I’m using Get Row to get a row object variable. In the activity I’ve selected multiple values in “Include” (RowInclusion[]), i.e. Columns and Column_Type.
  • I then attempted to assign a list of columns from my row object variable using the assign activity (i.e. list_rowColumns = rowObject.Columns) which returned a null reference exception (list_rowColumns is of type iList<smartsheet.apis.model.column>)
  • I then checked the verbose logs for the Get Row activity and found that include is not returning any additional variables as noted below. If this is not a bug, how can I use the activity’s “Include” function? (documentation doesn’t accurately reflect the activity)

“Arguments”: {
“GetRow.Exclude”: “”,
“GetRow.RowId”: “############”,
“GetRow.SheetId”: “###########”,
“GetRow.Include”: “”

Thanks for the help! These activities are great!

Hi - can you post a copy of your robot that we can look at? Also please confirm the version of the activity pack you are using.

Thanks,

Paul

Hi Paul,

Sure thing. I initially built the bot with 1.0.0 - Preview which is where I encountered the above issue; however, since downloading 1.0.1 yesterday, I’ve actually run into additional issues that impact the workflows I’m creating and the Bot’s ability to run. Specifically there seems to be an issue with the Smartsheet Application Scope activity’s “API Token” method of connecting to smartsheet.

Recent Updates:

  • After installing 1.0.1, I am no longer able to connect to the API through the Application Scope using an API Token. However, when I revert the package back to 1.0.0-preview, I’m able to successfully run a simple bot that I built in November.
  • When I revert to 1.0.0-Preview, I’m unable to modify my most recent bot which includes the row inclusion issue, as I’m now receiving a “Missing or invalid activity” in my sequence.
  • When I update to 1.0.1, I’m able to view and modify all activities for the bot; however I am now unable to run this bot as I receive the below error, which wasn’t an issue until I downloaded 1.0.1 yesterday.

“message”: “Activity ended with error:\r\n Error Code: [202] \r\n Message: You are not authorized to perform this action.”

Happy to connect offline as well.

Thanks!
Get Cells from Row - Shareable.xaml (55.6 KB)

Walker

I will look into the issue from my side. Thanks!

1 Like

I agree to this, facing this issue too!

Hi Walker & Neeraj,

We believe we have fixed these issues. Can you please test the attached and let us know if it resolves the issue on your end? If so we’ll push the patch to the official feeds.

Paul
UiPath.Smartsheet.Activities.1.0.7657.25217.nupkg (856.0 KB)

1 Like

Hi Paul,

Thank you for the quick turnaround! The attached package was successful. I’m now able to connect to my smartsheet using the API token option and it appears that the RowInclusion option on the Get Row Activity is also working properly.

Thanks again and hope you all have a happy holiday!

Best,

Walker

1 Like

Thanks Walker - appreciate the quick reply from testing. We’ve started the process to get a patch released, which most likely will be the first week of January given the holidays and all.

Cheers,

Paul

ePS: Kudos to @Dhandapani_Murugan (who put in extra hours to get the patch created quickly. He did a great job and deserves all the credit.

2 Likes

Hello All,

I am new to working with APIs and am trying to work through the connection to SmartSheet. The idea for the process I’m building is that our bot will pick up any new submissions, process them, and then update a column in the sheet which will trigger the automation in SmartSheet to move the rows to a new sheet.

I have two questions on this:

  1. How do you get the unique RowID for each row in the sheet that has data?
  2. Can you use a “For Each” or “For Each Row” activity to cycle through everything in the sheet?

Thank you!

Hi Julianna - thanks for checking in and it’s great to see you get started with this. There may be other ways of getting the RowID, but here are some ideas:

If you are using the UI, you can right click on a row and choose “Properties” from the context menu.


When you click on that, you will see the properties card and that shows you the RowID

However sometimes you don’t know the RowID in advance. You can use the List Rows activity (see https://docs.uipath.com/marketplace/docs/smartsheet-list-rows) and can filter by several criteria. As you note, you can then simply loop through them using a foreach loop to cycle through the Row output object and check against your criteria if you have something more granular.

Does this help?

Thank you for the feedback. This is getting me in the right direction; however, I am still struggling with these activities and how to properly use them. The “Get Cells from Row-Shareable.xaml” file that was shared earlier is helpful, but I am still not completely getting how to use these. Does anyone have a sample process they would be willing to share to show a real world example of how these would be used?

For example, I need to get attachments from each row as well as the data from the row, process the attachment based on that information, and then update the row with a status once complete. I am struggling to understand how to properly extract the data and then update.

Thank you!

Hi Julianna,

OK, I’m attaching a zip of a robot (you will need to fill in 3 variables) Update Rows Demo - Sanitized.zip (40.6 KB) and some screenshots that I’m hoping will help. Please understand that I may not be able to share access to my Smartsheet directly.

Let’s start with my worksheet with a Baking Plan. You’ll see that there are 2 rows that have attachments.

I know the Worksheet ID I’m working with by going to File->Properties and seeing the SheetID. It should look something like 5903706102228868.

I use the List Rows activity using the above value as the SheetID and then setting the output to a variable called SheetRows.

I’ll loop through the rows and for each row do the following:

A) Use the Get Row activity to get the Row object which will also contain a list of attachments for that row.
B) If the Row has attachments, I will do two things:

  1. Download the attachment to a local folder using the Get Attachment activity.
  2. Update the value of my Amount column - the 3rd cell - to a random number using the Update Rows activity.

Note for 2, I’m doing this one row at a time but I could also build a Row object and include that all in one call.

The only thing that is a bit strange is creating a Row object to update the data. Because it can be a little strange creating a Row array, we also allow you to pass in a data table with the appropriate data as well.

Does this help?

1 Like

Thank you for sending this! I apologize I didn’t respond sooner, as it didn’t notify me of the update. It is incredibly helpful to have this example. I appreciate the help.

2 Likes

Glad to hear, please do let us know if there is anything else we can assist with.