Is there a better way to completely remove user access via the API?

Hello,

We're beginning to look into integrating the removal of a user's Smartsheet account as part of our employee offboarding process. My intent was to use the API for this functionality so that it could be automated.

Unfortunately, I'm not finding the API endpoints available to accomplish this task in a relatively small amount of steps. I'm able to remove the account from our organization, but they're still shared on items as well as part of groups in our organization (I specified the removeFromSharing, transferSheets, and transferTo elements). I know I could loop through all the groups, sheets, reports, and workspaces in our organization and remove access when it's found, but I'm hoping there's a better way that I'm missing.

When done manually, it's as simple as using the "Revoke Access to Items..." option within User Management, but I don't see this functionality exposed in the API.

Am I missing something, or is this just not easily available through the API? We're on a Business Plan.

Thank you!

Best Answer

  • Jeff Reisman
    Jeff Reisman ✭✭✭✭✭✭
    Answer ✓

    @bsikesThe user deletion capabilities are completely messed up right now.

    The Remover User method has been deprecated and does not work.

    Deactivate User, while it removes the user's ability to access Smartsheet in any way, it still leaves all their Shares intact - so they still show up on sheets as having access, and on the downloaded Sheet Access reports. And Business Plan SysAdmins can't even access this method anyway.

    At this time, there is no reasonable way to remove a user's shares through the API without going through every sheet, report, workspace, dashboard...

    Regards,

    Jeff Reisman,IT Business Analyst & Project Coordinator,Mitsubishi Electric Trane US

    链接:Smartsheet Functions Help Pages链接:Smartsheet Formula Error Messages

    If my answer helped solve your issue, please mark it as accepted so that other users can find it later. Thanks!

Answers

  • Jeff Reisman
    Jeff Reisman ✭✭✭✭✭✭
    Answer ✓

    @bsikesThe user deletion capabilities are completely messed up right now.

    The Remover User method has been deprecated and does not work.

    Deactivate User, while it removes the user's ability to access Smartsheet in any way, it still leaves all their Shares intact - so they still show up on sheets as having access, and on the downloaded Sheet Access reports. And Business Plan SysAdmins can't even access this method anyway.

    At this time, there is no reasonable way to remove a user's shares through the API without going through every sheet, report, workspace, dashboard...

    Regards,

    Jeff Reisman,IT Business Analyst & Project Coordinator,Mitsubishi Electric Trane US

    链接:Smartsheet Functions Help Pages链接:Smartsheet Formula Error Messages

    If my answer helped solve your issue, please mark it as accepted so that other users can find it later. Thanks!

  • bsikes
    bsikes ✭✭✭

    Thanks for the response@Jeff Reisman

    这是不幸的, but is what I was expecting. To help facility our manual process, I've at least setup a daily process to get a list of all our Smartsheet users and cross reference those with our employee directory. If a user exists that's not in our directory we should be alerted to that.

  • Jeff Reisman
    Jeff Reisman ✭✭✭✭✭✭

    @bsikesYeah that's about all you can do.

    I just get cc'd on email notifications to our support team re: termination IT tickets. My process is to remove the user from sharing and groups, and then deactivate the user. I've set up a monthly reminder to myself to delete deactivated users during the daily delete window (1:30pm Eastern - 9:00am Eastern.

    Regards,

    Jeff Reisman,IT Business Analyst & Project Coordinator,Mitsubishi Electric Trane US

    链接:Smartsheet Functions Help Pages链接:Smartsheet Formula Error Messages

    If my answer helped solve your issue, please mark it as accepted so that other users can find it later. Thanks!

You cannot sent an update request via API to text.<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":1}],"tags":[{"tagID":227,"urlcode":"api-and-developers","name":"API and Developers"}]},{"discussionID":108829,"type":"question","name":"Power automate question (multi-contact list)","excerpt":"I'm using power automate to wire up some info into smartsheets. I have everything working so far but multi contact list and multi pick list. The contact list error I get is this: The value \"John smith\" could not be saved in column \"Assignment\". This column is restricted to MULTI_CONTACT_LIST values only. The name is…","snippet":"I'm using power automate to wire up some info into smartsheets. I have everything working so far but multi contact list and multi pick list. The contact list error I get is this:…","categoryID":320,"dateInserted":"2023-08-10T23:21:44+00:00","dateUpdated":"2023-08-11T08:46:38+00:00","dateLastComment":"2023-08-17T13:42:41+00:00","insertUserID":164958,"insertUser":{"userID":164958,"name":"jtadhs","title":"Title","url":"https:\/\/community.smartsheet.com\/profile\/jtadhs","photoUrl":"https:\/\/lh3.googleusercontent.com\/a\/AAcHTtfNpbIYWnLk6ZczJ1ClRDc4ET2YJ_HxgNiq2jl7URt0RjU=s96-c","dateLastActive":"2023-08-16T23:05:43+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":91566,"lastUserID":86866,"lastUser":{"userID":86866,"name":"Jeff Reisman","title":"","url":"https:\/\/community.smartsheet.com\/profile\/Jeff%20Reisman","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/3V8W2AM105QE\/nIDXI4I7VDS7W.JPG","dateLastActive":"2023-08-18T19:31:15+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":7,"countViews":118,"score":null,"hot":3383993665,"url":"https:\/\/community.smartsheet.com\/discussion\/108829\/power-automate-question-multi-contact-list","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/108829\/power-automate-question-multi-contact-list","format":"Rich","lastPost":{"discussionID":108829,"commentID":391128,"name":"Re: Power automate question (multi-contact list)","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/391128#Comment_391128","dateInserted":"2023-08-17T13:42:41+00:00","insertUserID":86866,"insertUser":{"userID":86866,"name":"Jeff Reisman","title":"","url":"https:\/\/community.smartsheet.com\/profile\/Jeff%20Reisman","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/3V8W2AM105QE\/nIDXI4I7VDS7W.JPG","dateLastActive":"2023-08-18T19:31:15+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-15T22:16:09+00:00","dateAnswered":"2023-08-15T13:47:37+00:00","acceptedAnswers":[{"commentID":390662,"body":"
\n \n https:\/\/community.smartsheet.com\/discussion\/comment\/390588#Comment_390588\n <\/a>\n<\/div>\n

Is your Multi contact list column restricted to only values that are in the contact list for the sheet? If so, you might want to turn that off.<\/p>

Also make sure the column isn't locked.<\/p>

Also add a \"level\" parameter to the API call with value of 2, that should enable multi picklist and multi-contact list functions.<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[]},{"discussionID":108731,"type":"question","name":"API export to excel to include the rowpermalink","excerpt":"trying to include the rowpermalink in my sheet export according to the API doc the ?include=rowpermalink in the URL should do it however it does not show in the row with all the other data from the sheet. any help would be greatly apprecitated. $URL =…","snippet":"trying to include the rowpermalink in my sheet export according to the API doc the ?include=rowpermalink in the URL should do it however it does not show in the row with all the…","categoryID":320,"dateInserted":"2023-08-09T14:56:39+00:00","dateUpdated":null,"dateLastComment":"2023-08-11T17:42:09+00:00","insertUserID":164847,"insertUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":null,"lastUserID":164847,"lastUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":2,"countViews":90,"score":null,"hot":3383369928,"url":"https:\/\/community.smartsheet.com\/discussion\/108731\/api-export-to-excel-to-include-the-rowpermalink","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/108731\/api-export-to-excel-to-include-the-rowpermalink","format":"Rich","tagIDs":[227],"lastPost":{"discussionID":108731,"commentID":390267,"name":"Re: API export to excel to include the rowpermalink","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/390267#Comment_390267","dateInserted":"2023-08-11T17:42:09+00:00","insertUserID":164847,"insertUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-11T17:42:18+00:00","dateAnswered":"2023-08-10T03:06:28+00:00","acceptedAnswers":[{"commentID":389950,"body":"

Hi @palefty<\/a> <\/p>

The Smartsheet API does not possess a native method to directly fetch or incorporate clickable row permalinks when you export a sheet to an Excel file. So, users need more intuitive, clickable links within their exported Excel sheets.<\/p>

To address this, I have implemented a workaround:<\/p>

(I used Smartsheet SDK to implement the workaround)<\/p>

\n \n https:\/\/gist.github.com\/jmyzk\/5cc4dfbbf79b010d374f0b5ad3fa0a4b\n <\/a>\n<\/div>


<\/p>

Fetching Permalinks:<\/strong> The code interacts with the Smartsheet API to retrieve each row's permalink values.<\/p>

Incorporating into the sheet:<\/strong> These permalink values are then populated into a designated column. When you export the sheet as an Excel file, you'll notice a column filled with URLs corresponding to the permalinks for each row in Smartsheet.<\/p>

\n
\n \n \"export<\/img><\/a>\n <\/div>\n<\/div>\n
\n \n https:\/\/app.smartsheet.com\/b\/publish?EQBCT=adda95b9ed0d49f192faa76e1535bc47\n <\/a>\n<\/div>

Making the Links Clickable:<\/strong> As a final step, to enhance user experience and ease of access, the code processes the Excel file to convert these plain URL texts into clickable hyperlinks. Thus, when users click these links in the Excel sheet, they're directed to the appropriate Smartsheet row online.<\/p>

With the implemented code, users can easily navigate to Smartsheet rows directly from their Excel sheets.<\/p>

\n
\n \n \"expoerted<\/img><\/a>\n <\/div>\n<\/div>\n


<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":227,"urlcode":"api-and-developers","name":"API and Developers"}]}],"initialPaging":{"nextURL":"https:\/\/community.smartsheet.com\/api\/v2\/discussions?page=2&categoryID=320&includeChildCategories=1&type%5B0%5D=Question&excludeHiddenCategories=1&sort=-hot&limit=3&expand%5B0%5D=all&expand%5B1%5D=-body&expand%5B2%5D=insertUser&expand%5B3%5D=lastUser&status=accepted","prevURL":null,"currentPage":1,"total":213,"limit":3},"title":"Trending in API & Developers","subtitle":null,"description":null,"noCheckboxes":true,"containerOptions":[],"discussionOptions":[]}">

Trending in API & Developers