Using Microsoft Flow to Sync BaseCamp & VSTS (To-Do to Tasks)
Tags: flow, basecamp, vsts
Published: 2018-06-28 16:59:58

---
title: Using Microsoft Flow to Sync BaseCamp & VSTS (To-Do to Tasks)
published: true
tags: flow,basecamp,vsts
canonical_url: 
---
We've struggled for years to get various departments to adapt, and stick to, a project management system.  In the past year, have finally had some success with BaseCamp, as it has proved to be user-friendly enough that more and more departments began to use it.  We suddenly needed to adapt to our users.  We needed to make Visual Studio Team Services work with BaseCamp.

# Make BaseCamp To-Do a VSTS Task
Creating a solution for BaseCamp to VSTS actually proved to be easy enough.  I setup a project in BaseCamp and then a "Main To-Do List".  The only challenge in this is I needed to pass the BaseCamp To-Do Id so that when I closed my VSTS task (work item), it could link back to BaseCamp.  For this, I chose to put the dynamic info in the "tags" field of my VSTS flow.  Here's the setup:

[![BaseCamp to Visual Studio Team Services](http://www.catrina.me/wp-content/uploads/2018/06/ToVSTS.png "BaseCamp to Visual Studio Team Services")](http://www.catrina.me/wp-content/uploads/2018/06/ToVSTS.png "BaseCamp to Visual Studio Team Services")

## Why Tasks
If you notice, the Visual Studio Team Services flow *requires* that you select a "work item".  I chose task because it seemed neutral.  I am still able to change it to another type (example: bug), and the sync will still happen as planned.  This is because the flow OUT only links by "work item", "state", and "tag" (BaseCamp Id), not type of work item.  

## Where Does It Go?
VSTS drops the incoming To-Do as a task in Work Items.  From here, I was able to create a User Story, add it to an iteration, move it along in my KanBan Board as usual.  I kept all the same VSTS work process.

# Closed VSTS Task Completes BaseCamp To-Do
Flow does have a Visual Studio action for when a work item (any work item: task, bug, etc) to link back to BaseCamp and close the todo.  This is the route I went first.

## Issues with Current Flow
Unfortunately *it does not work*.  Here was how I set it up:

[![Flow Didn't Work](http://www.catrina.me/wp-content/uploads/2018/06/flow_doesnt_work.png "Flow Didn't Work")](http://www.catrina.me/wp-content/uploads/2018/06/flow_doesnt_work.png "Flow Didn't Work")

**The problem** was not even with the BaseCamp or the Flow idea, **it was that the Flow for VSTS's "work item closed" just would not trigger**!  I'd do a Flow test, close a VSTS work item and the test would time out, never receiving a trigger!

## Work Around
What *does* trigger is the flow for "work item updated".  So, I replaced the above with "work item updated" and added a condition, checking status for "closed" and then doing my BaseCamp To-Do action.  Here's the work around:

[![VSTS to BaseCamp](http://www.catrina.me/wp-content/uploads/2018/06/vsts_to_basecamp.png "VSTS to BaseCamp")](http://www.catrina.me/wp-content/uploads/2018/06/vsts_to_basecamp.png "VSTS to BaseCamp")

## Flexbility
Again, notice the VSTS to BaseCamp flow doesn't require the item to be a "task".  ANY work item closed will do.  This leaves some freedom to continue to work/organize the way you like in VSTS.