Two-Way Synchronization Between Smartsheet and Jira

We'll all agree that whether you're involved in project management, bug reporting, or accounting time is of the essence. Changes happen quickly, and new developments need to be reported or implemented right away. This creates the need to have an automated workflow. However, what if having one thing automated is not enough? What if you need to have two systems talking to each other and sharing data all the time, constantly. This could sometimes be tricky to achieve, but fortunately with the right automation software that could prove quite doable. Fortunately, we happen to have just the right tool to help you construct a more sophisticated type of workflow.


In our previous post we talked how to update a Smartsheet Object from a Jira Update. Fairly easy task. We wanted to show you just how easy is to connect these two services using Cloudpipes. Today's post is a continuation of that. What we're going to show in this post is how to achieve a real-time two-way synchronization between Jira and Smartsheet. A lot of our customers are asking us specifically if we can do a two-way sync, and the simple answer is, of course, YES!

If you followed our previous post, and tried to build yourself the simplistic workflow we described there, you'll get the chance to add one more level of complexity, resulting in a synchronization and transfer of data in real time between two systems.

Now, you're probably wondering why would anyone want a two-way synchronization? The answer is pretty simple. It's a great way to make changes from one system to another, that are reflected in both directions. It doesn't matter if you create, edit or delete items on any of those services, the changes will occur simultaneously.

Let's assume that you've already built a pipeline that triggers every time when an update is being made to an issue in Jira. Today, we'll show you how to link existing Smartsheet rows to a specific Jira updates, and synchronizing both pipelines, so they could exchange data every time one of them is modified. Now comes the next step - linking existing rows with their corresponding tickets.

Building a Bi-Directional Synchronization with Jira and Smartsheet

First thing first, log in into your personal account, and click on the Create a Pipeline button.

The very first thing we're going to start with to tell Cloudpipes to search for preexisting Smartsheet rows. In this case we're using the Search Rows pipe. This action pipe will perform a manual search of your pre-existing rows based on various factors.

You can further segment the search results by adding more criteria and conditions to your query.

Next, for each found Smartsheet row we want Cloudpipes to do a look up for Jira issues based on specific query. Otherwise it'll bring up all issues previously found. Unless that's the goal, we recommend finding a way to separate those you need to extract.

Based on the above query, if a Jira issue has been found, Cloudpipes will then go ahead and update the Smartsheet row we've been working on. Although it's not specified here, our IF/THEN condition includes an ELSE step in case the query do not bring up the results we're looking for. In such cases we can add an additional step, and say that we want an extra action to be performed, if the look up do not yield the desired results.

Here we'll map the row we want, tell Cloudpipes if it's synced with Jira, and most importantly we'll actually link the Smartsheet pipe with the Jira one. If you have integrated Jira with Smartsheet as we described previously, adding a second pipeline will create a bridge between the both if them that will enable you to achieve a bi-directional synchronization in real time between those two services. Linking the two pipes will sync with the previous Smartsheet-Jira pipeline [see here]. This way a two-way transfer of data will occur every time when a change is being made in any of the two services.

The final step would be to update to update the Jira Issue after. Here we map the issue, but if needed we could always include a description, assignee and/or reporter, and priority, among others.

Triggering the pipeline is easy. Click on the ON button and wait until the Cloudpipes syncs with the two services.

This is just one way to achieve a bi-directional synchronization. We've seen cases of quite complex workflows where many more actions and conditions are involved.

No matter how complex your use case is, we can execute it. Wanna know how? Drop us a line!