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, please Visit the Current Forums.

Salesforce & Smartsheet integration - executing workflows via API

Options

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 the https://connectors.smartsheet.com/c/salesforce page.

 

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 ✭✭✭✭✭✭
    Options

    Jacek,

     

    Smartsheet API:

    https://www.smartsheet.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

  • Jacek Bialecki
    Options

    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 ✭✭✭✭✭✭
    Options

    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

  • Jacek Bialecki
    Options

    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

  • Scott Willeke
    Options

     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: Scott.Willeke@Smartsheet.com

  • Jacek Bialecki
    Options

    @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 Smartheet one 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

  • Scott Willeke
    Options

    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. See this help topic for 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.