The workflow feature allows a customer to determine what records should be allowed to sync from one system to another, based on a particular field or set of fields. Below is an overview of the recommended steps to go through when determining how you should setup your first Workflows. Make sure to check out the Frequently Asked Questions at the bottom.
Step 1: Determine if you need to have custom Workflows
By default your portal comes with a Default Workflow where the rule looks like this:
This Workflow allows all records to sync across from all of the systems connected to Formstack Sync. If you do not want to have ALL records sync from one system to another, then you will need to create custom Workflows. You can start by editing this Default Workflow or by creating a new Workflow.
Step 2: Creating and Naming your First Custom Workflows
IMPORTANT NOTES ABOUT WORKFLOWS
- Most field types can now be used in workflows.
- All fields used in Workflows must be mapped (see Step 4 below).
- All properties much match in spelling, capitalization, and spacing.
We recommend naming your Workflows to specifically so that the intention of the workflow is easily understood - SYSTEM A TO SYSTEM B CONTACT RECORDS.
In the example below we are setting rules for the Help Scout Customer object because we are mapping contacts in our Formstack Sync account.
The rule is based on the email field in Help Scout and I'm not interested in syncing any Formstack Sync employee that may have filed a ticket and became listed as a Customer in our Help Scout system.
You can add any number of rules in a given Workflow. Simply click on the "+" sign on the right-hand side to add a new rule.
Once you start adding more than one field to the Workflow, the Any or All drop down at the top is important to take note of since you don't want to have a bunch of rules setup where you want to ensure the record meets all of the rules for these fields then forget to switch this from Any to All.
By the end of it all, you will likely have at least two custom Workflows if you are just integrating two systems and only mapping one object:
Step 3: Understanding Workflow Logic and What Fields to Use
We support setting rules off of any field type (Text, Number, Date, Boolean). For example, when you choose a field and the field type is Text, you'll see the following condition options:
- Contains - This logic rule allows you to only sync records that have a particular value in a field.
- Does Not Contain - This is the opposite of Contains. This logic rule allows you to sync records that do not have a particular value in a field.
- Is Empty - This logic rule allows you to sync all records that do NOT have a value in a particular field
- Is Not Empty - This logic rule allows you to sync all records that HAVE a value in a particular field.
If you are going with the Contains or Does Not Contain option, note that we use a fuzzy match so we ignore things like upper and lower case.
Step 4: Map your Workflow Rule Fields (if not already)
Whichever field(s) you decide to use for your rules, make sure you have these fields mapped within the appropriate mapping. So in the case of the above example, I'll need to make sure that the Email field in Help Scout on the Customer is mapped in the Contact mapping. Since this field is critical to my data, this is likely to be already mapped to the other systems corresponding email field but if the field you are using is not important and does not need to be mapped to a corresponding field in the other system(s), this is ok too. Here's how this mapping would look:
Step 4: Frequently Asked Questions
Q: Can you base a field off of a related object in order to trigger a sync for another object that you have mapped in Formstack Sync?
A: No. If you setup a rule for say a systems company-type object but you aren't mapping this object in Formstack Sync but instead the contact, this rule won't actually have an impact on your integration and won't determine if contacts should sync or not.
Q: Can I separate values with commas in a single rule?
A: No. Multiple Workflows would be required to meet your needs at this time.
Q: If a record passes at least one Workflow I have setup, will it be allowed to sync?
A: Yes. As long as the record passes one Workflow it will be allowed to sync with the other system.
Q: When I add a new Workflow, do any records that meet the new rules retroactively sync to my other systems?
A: No. You will need to trigger these records to sync by making an update to any of the mapped fields. If there are a lot of records, you can also kick off a full sync.
Q: Are there limits to the number of Workflows I can setup?
A: No. You can have as many as you'd like but we recommend trying not to overcomplicate your Workflow setup to avoid any potential loopholes for records you don't want to sync.
Q: I see what you are saying about a field on a related object but what if that field is critical to determining if my records should sync or not?
A: Most systems that Formstack Sync supports have various automation tools available in their platform. We often recommend setting up some internal automation within your systems that sets a value on the object you are mapping in Formstack Sync that is based off of this field that lives on the related object. Could be something as simple as a drop down select field that is called "Sync to System A" and you have two options in the drop down - Yes, No. Then use this field to determine when a record should be allowed to sync.