Yet another key to building an effective integration is implementing eventing.
For example, do you want the workflow to fire when the user manually clicks a ‘sync’ button, automatically when some other action is completed, on a timer (i.e. nightly), or automatically in the background?