Welcome to the Smartsheet Forum Archives


The posts in this forum are no longer monitored for accuracy and their content may no longer be current. If there's a discussion here that interests you and you'd like to find (or create) a more current version, pleaseVisit the Current Forums.

Salesforce & Smartsheet integration - executing workflows via API

Hello All

I'm now investigating Smartsheet & Salesforce connector. I configured "one-direction-only" data synchronization from Salesforce to Smartsheet. It works pretty well - once you hit "Run" button on thehttps://connectors.smartsheet.com/c/salesforcepage.

Now I wonder if it could be possible to start synchronization remotely (via API). For example - from Salesforce workflow or Salesforce trigger.

I checked network traffic and I can see REST calls in the background:

https://connectors.smartsheet.com/c/api/workflowExecutions?connectorType=SALESFORCE

https://connectors.smartsheet.com/c/api/queuedWorkItems

But I can't find any documentation about them.

Qustion: is this API available publicly? Can I manipulate Salesforce&Smartsheet integration workflows via API?

Thanks in advance for any hints

BR

Jacek

Comments

  • J. Craig Williams
    J. Craig Williams ✭✭✭✭✭✭

    Jacek,

    Smartsheet API:

    //www.santa-greenland.com/developers

    The SDK's are on github:

    I use Python, but they have an SDK for C#, Java, and others

    http://smartsheet-platform.github.io/api-docs/?python#smartsheet-api-2.0

    I haven't looked at Salesforces API in a while, but I think it is exposed.

    Hope that helps.

    Craig

  • Thank you Craig for you response!

    I've seen the page with API documentation already. Unfortunately - "workflows" resource is not currently supported.

    There is a list of supported resources:

    /contacts /favorites /folders /groups /home /reports /search /serverinfo /sheets /sheets/{id}/rows /sheets/{id}/columns /sheets/{id}/attachments /sheets/{id}/discussions /sheets/{id}/updaterequests /templates /token /users /users/{id}/alternateemails /workspaces

    Any other ideas?

    BR

    Jacek

  • J. Craig Williams
    J. Craig Williams ✭✭✭✭✭✭

    Isn't 'workflow' a Salesforce concept?

    You'd need to check the Salesforce API doc, not Smartsheet's.

    You may run into problems on the Smartsheet side because the columns related to task management (start/end dates, % complete, duration, etc..) are locked down and can't be modified by the API (or formula in the sheets)

    Craig

  • Hello Craig

    No, "workflow" is not Salesforce concept. This is a concept coming from Salesforce&Smartsheet connector (developed by Smartsheet). You can see workflows in the connector's configurator:

    https://connectors.smartsheet.com/c/salesforce

    "Workflow" is just a configuration item that establishes data synchronisation between Salesforce object (you can think of it as a "table") and Smartsheet sheet. The synchronisation can be either fully automatic or manual. Manual == triggered by button on the configurator panel.

    What I would like to achieve is to trigger such manual synchronisation via remote API call.

    BR

    Jacek

    screenshot-connectors.smartsheet.com 2016-12-15 09-53-09.png

  • Jacek,

    The background requests you happen to see using debugging/troubleshooting tools by Smartsheet for Salesforce are not part of any public API. However, luckily I suspect you can accomplish what you want without any programming or scripting work whatsoever!

    Sounds like you want to map a workflow in one direction but have it automatically update based on changes in Salesforce (hence your mention of "Salesforce trigger"). The Smartsheet for Salesforce workflow will do that autoamtically. Just setup a bi-directional workflow on the first step of the workflow creation wizard and on the field mapping set you can map individual fields -even all of them- to only send data in one direction.This will give you a way to push data from Salesforce to Smartsheet automatically as data is changing in Salesforce but changes in Smartsheet will NOT go back to Salesforce.

    Let me know what you need or if you have any additional questions. Feel free to reach out to me directly if you'd like to give any additional suggestions or feedback on Smartsheet for Salesforce - All feedback -good or bad- is invaluhelpful for me and my team!

    --
    Scott Willeke | Smartsheet
    Senior Product Manager, Strategic Integrations
    E:[email protected]

  • @Scott- thank you for your response

    "The background requests you happen to see using debugging/troubleshooting tools by Smartsheet for Salesforce are not part of any public API"

    Thank you for confirmation - this is something I expected. Now I know that I should not build on this API.

    I know the possibilities of bi-directional, fully automatic integration. This is really great and I consider it as a killer-feature of the connector.

    But I'm thinking about the following business case. Let's assume that you want to synchronize your data from Salesforce to Smartheetone time a day. At the end of business day your data is ready and you would like to trigger synchronistation. And you don't want to have them synchronized before (let's say they are not approved or something). You can of course go once a day into connector console and hit "Run" button with mouse click. But executing API call from Salesforce level would be much more convinient and elegant.

    This is the reason I'm looking for the API for the connector.

    BR

    Jacek

  • Jacek,

    Thank you for the feedback. We've considered "scheduled" updates and API access, but generally find that the current solutions are adaquate to solve customer business cases. Taking the examples you proposed...

    Getting only "Approved" data... Generally when approvals are involved there is a field in Salesforce indicating whether the record's status is "Approved". We recommend setting up a filter from the workflow to only bring in those approved items or just explicitly mapping that Approved field so that it is visible inside Smartsheet.

    If you're concerned about the extra overhead of automatic syncing... First, we run a very effecient query in Salesforce to check for updates. So when we do check for updates rest assured it is done effeiciently and with minimal overhead on the systems involved. Additionally, we have recently added a feature that allows you to adjust the frequency that we check Salesforce for updates giving you greater control over this. Seethis help topicfor more info on exactly how to do that.

    We're listening carefully and not ruling anything out for the future, but for now we think these business cases are pretty well covered. As I said before, I'd be more than happy to set up a call to discuss more about your experience with this integration to learn about your experience and how we can make it even better.

    Thanks again for the feedback!

    --
    Scott Willeke | Smartsheet
    Senior Product Manager, Strategic Integrations

This discussion has been closed.
Hi, <\/p>

Instead of applying the formula to \"Multiselect Text String\" row, did you tried with \"Multiselect Values\" row?<\/p>

=IF(HAS([Multiselect Values]@row, [Component ID]@row), \"MATCH\", \"NO MATCH\")<\/p>

Thank you,<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","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":109493,"type":"question","name":"I am having trouble using \"And\", \"OR\" & \"Countif(s)\" to build a formula.","excerpt":"Hello, I am attempting to come up with a sheet summary formula that counts cells if they meet at least one of 3 different statuses in the same column, AND also meet one of 5 different statuses in a separate column. So using the screenshot I've provided as an example (although it doesn't have 5 different statuses in the…","snippet":"Hello, I am attempting to come up with a sheet summary formula that counts cells if they meet at least one of 3 different statuses in the same column, AND also meet one of 5…","categoryID":322,"dateInserted":"2023-08-25T20:03:21+00:00","dateUpdated":null,"dateLastComment":"2023-08-26T00:34:49+00:00","insertUserID":165710,"insertUser":{"userID":165710,"name":"SmarsheetNewb","url":"https:\/\/community.smartsheet.com\/profile\/SmarsheetNewb","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-26T00:33:27+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":null,"lastUserID":161714,"lastUser":{"userID":161714,"name":"Carson Penticuff","url":"https:\/\/community.smartsheet.com\/profile\/Carson%20Penticuff","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/B0Q390EZX8XK\/nBGT0U1689CN6.jpg","dateLastActive":"2023-08-27T02:16:35+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":3,"countViews":23,"score":null,"hot":3386005690,"url":"https:\/\/community.smartsheet.com\/discussion\/109493\/i-am-having-trouble-using-and-or-countif-s-to-build-a-formula","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109493\/i-am-having-trouble-using-and-or-countif-s-to-build-a-formula","format":"Rich","tagIDs":[254],"lastPost":{"discussionID":109493,"commentID":392692,"name":"Re: I am having trouble using \"And\", \"OR\" & \"Countif(s)\" to build a formula.","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392692#Comment_392692","dateInserted":"2023-08-26T00:34:49+00:00","insertUserID":161714,"insertUser":{"userID":161714,"name":"Carson Penticuff","url":"https:\/\/community.smartsheet.com\/profile\/Carson%20Penticuff","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/B0Q390EZX8XK\/nBGT0U1689CN6.jpg","dateLastActive":"2023-08-27T02:16:35+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":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-26T00:33:25+00:00","dateAnswered":"2023-08-25T20:44:12+00:00","acceptedAnswers":[{"commentID":392662,"body":"

Try this:<\/p>

=COUNTIFS([Item Number]:[Item Number], OR(@cell = \"C001\", @cell = \"COO2\", @cell = \"COO3\", @cell = \"COO4\"), [Status]:[Status], OR(@cell = \"Green\", @cell = \"Yellow\", @cell = \"Red\"))<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","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":254,"urlcode":"formulas","name":"Formulas"}]},{"discussionID":109474,"type":"question","name":"Help with date calculation formula","excerpt":"Hello, I'm trying to find a formula that will help me calculate how long an intake took to resolve. The rows I need to be calculated are Date Reported & Resolution Date. If the resolution date is blank I want it to use the current date in the calculation to see how long this issue has gone unresolved. Any help is much…","snippet":"Hello, I'm trying to find a formula that will help me calculate how long an intake took to resolve. The rows I need to be calculated are Date Reported & Resolution Date. If the…","categoryID":322,"dateInserted":"2023-08-25T16:29:39+00:00","dateUpdated":"2023-08-25T16:29:59+00:00","dateLastComment":"2023-08-25T23:01:30+00:00","insertUserID":165688,"insertUser":{"userID":165688,"name":"Nwest","title":"Systems Analyst","url":"https:\/\/community.smartsheet.com\/profile\/Nwest","photoUrl":"https:\/\/aws.smartsheet.com\/storageProxy\/image\/images\/u!1!ukHVZ18ImX4!BcjWAe8S9SY!l7iQo_PZHOx","dateLastActive":"2023-08-25T17:22:30+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":165688,"lastUserID":8888,"lastUser":{"userID":8888,"name":"Andrée Starå","title":"Smartsheet Expert Consultant & Partner | Workflow Consultant \/ CEO @ WORK BOLD","url":"https:\/\/community.smartsheet.com\/profile\/Andr%C3%A9e%20Star%C3%A5","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/0PAU3GBYQLBT\/nXWM7QXGD6464.jpg","dateLastActive":"2023-08-26T17:06:33+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":3,"countViews":23,"score":null,"hot":3385987269,"url":"https:\/\/community.smartsheet.com\/discussion\/109474\/help-with-date-calculation-formula","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109474\/help-with-date-calculation-formula","format":"Rich","tagIDs":[254],"lastPost":{"discussionID":109474,"commentID":392687,"name":"Re: Help with date calculation formula","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392687#Comment_392687","dateInserted":"2023-08-25T23:01:30+00:00","insertUserID":8888,"insertUser":{"userID":8888,"name":"Andrée Starå","title":"Smartsheet Expert Consultant & Partner | Workflow Consultant \/ CEO @ WORK BOLD","url":"https:\/\/community.smartsheet.com\/profile\/Andr%C3%A9e%20Star%C3%A5","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/0PAU3GBYQLBT\/nXWM7QXGD6464.jpg","dateLastActive":"2023-08-26T17:06:33+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":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-25T17:04:22+00:00","dateAnswered":"2023-08-25T16:36:59+00:00","acceptedAnswers":[{"commentID":392622,"body":"

\n \n https:\/\/community.smartsheet.com\/discussion\/109474\/help-with-date-calculation-formula\n <\/a>\n<\/div>\n

Hi, <\/p>

I hope you're well and safe!<\/p>

Try something like this.<\/p>

=IF([Date Reported]@row <> \"//www.santa-greenland.com/community/discussion/6765/\", IF([Resolution Date]@row = \"//www.santa-greenland.com/community/discussion/6765/\", NETDAYS([Date Reported]@row, TODAY()), NETDAYS([Date Reported]@row, [Resolution Date]@row)))<\/p>

Did that work\/help? <\/p>

I hope that helps!<\/p>

Be safe, and have a fantastic weekend!<\/p>

Best,<\/p>

Andrée Starå<\/strong><\/a> | Workflow Consultant \/ CEO @ WORK BOLD<\/strong><\/a><\/p>

Did my post(s) help or answer your question or solve your problem? Please support the Community by <\/em>marking it Insightful\/Vote Up, Awesome, or\/and as the accepted answer<\/em><\/strong>. It will make it easier for others to find a solution or help to answer!<\/em><\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","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":254,"urlcode":"formulas","name":"Formulas"}]}],"initialPaging":{"nextURL":"https:\/\/community.smartsheet.com\/api\/v2\/discussions?page=2&includeChildCategories=1&type%5B0%5D=Question&excludeHiddenCategories=1&siteSectionID=0&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":10000,"limit":3},"title":"Trending Posts","subtitle":null,"description":null,"noCheckboxes":true,"containerOptions":[],"discussionOptions":[]}">

Trending Posts