Help Center

How to set up your integration if using multiple locations utilizing separate Studio IDs from Mindbody

Did you know that the number of separate Sync Profiles is equivalent to the number of unique Mindbody (MBO) Studio IDs you have in terms of integration? 

Not the number of locations in Mindbody.

Let's take a look at the way it works with Pure Barre Studios:

If your business happens to have multiple locations utilizing separate Studio IDs from Mindbody like Pure Barre Studios that you would want to sync to Infusionsoft by Keap, then you will just need to create separate Sync Profiles for each Studio ID. If QuickBooks Online then a Separate SyncApps account is needed for Intuit API certification rules.

So for instance, since you will be on our real-time Enterprise plan integration with, let’s say 40 Mindbody locations, you have set up 2 in the above example and will need to set up 38 more Sync Profiles for them set up in the exact same way if using Infusionsoft by Keap.

Should take 5 minutes to set up each integration for each separate Mindbody Studio ID.

However, if you're just intending on syncing "Locations" in Mindbody this is optional so if it is not specified in Step 1 then SyncApps will retrieve data from all of your locations within the Mindbody site.

If you have recently added a new location which has it's own location on your Mindbody account and would like to set up similar syncing between that location on Mindbody and it's own Infusionsoft account you can set that up using the Location to Sync feature and in Step 2 use the unique Infusionsoft account needed to integrate to.

If multiple QuickBooks Online instances need to be integrated to Mindbody Studio(s) then separate SyncApps account(s) are needed for Intuit API certification rules. 

Reach out to our team for any help in this setup.

We've found that over time this should save your business 2 hours per month per location.

Feel free to drop our Support a note here if you hit any snags during the setup process.

Sync Specific NetSuite Transaction Saved Searches To Mailchimp Groups, Constant Contact Lists or even Infusionsoft by Keap or Drip Tags

Want to use NetSuite Transactional Saved Searches to Mailchimp Groups, Constant Contact Lists, Klaviyo, or even Infusionsoft by Keap or Drip Tags, so that you can target customers who have purchased before, based on price point, a varietal of product, region, etc?

Let's go thru one example below:

In Step 1 of your integration choosing a NetSuite Saved Search is easy to do:


Whether you are integrating Customers, Contacts, Employees, Vendors or Transactions.

This example is a Transaction Saved Search.

This can be useful to bring over to your Marketing Automation Solution those records to market to which have a higher transaction value, buying patterns and other key indicators for your business.

save image

Mailchimp Groups:

save image

Constant Contact Lists:

Easily upload your current email list to your Constant Contact account

Drip Tags:

save image

Infusionsoft Tags:

infusionsoft tag strategy


Get started on your Marketing Automation integration to NetSuite today.


Using NetSuite Saved Searches for Customer, Contact Employee, Vendor, or Transaction from NetSuite will expose fields in the Field Mapping step for each. More than one Saved Search can be specified. NetSuite supported Saved Search record types: Contact, Customer, Partner, Transaction. 

  • Each NetSuite Saved Search will be synced to a Mailchimp Group within the specified Audience and Group Category.
  • Each NetSuite Saved Search will be synced to an Infusionsoft Tag.
  • Each NetSuite Saved Search will be synced to a Drip Tag.
  • Each NetSuite Saved Search will be synced to an Infusionsoft Tag.
Mindbody Segmentation By Classes, Appointments, Products and Services for Infusionsoft by Keap

Hey, there!

Are you wondering how Infusionsoft by Keap will know that a certain purchase, an appointment was made in Mindbody so your customer marketing automation can take over?

Well, good news as this is a cool Add-On feature inside the integration!  

The Segmentation By Product & Service Add-On will allow every product sale in Mindbody to auto-create a tag in Infusionsoft of the same name.


What this means is that every time your Mindbody Clients purchase a product, class or make an appointment a Tag is created in Infusionsoft for your automation to take over.


  1. When a client buys a specific class (yoga 101), apply the Tag of the same class name in Infusionsoft
  2. When a client buys a specific product, apply product name Tag in Infusionsoft.
  3. When a client books an appointment, apply the Tag of the appointment name in Infusionsoft

Need to just select specific Mindbody products or services which will auto-create Infusionsoft tags? Here's what you can do:

Field Mapping Details:  Exact names of the fields we are mapping within Mindbody:

  • Product Name
  • Original Product Id
  • Product Id
  • Payment Amount
  • Discount
  • Tax
  • Revenue Category Id
  • Revenue Category Name
  • Customer External ID
  • Payment Methods
  • First Payment MethodId
  • Location
  • Location ID
  • First Appointment Date
  • Last Visit Date
  • First Visit Date
  • Last Purchase Date
  • Last Purchase Product Name
  • Home Location
  • Last Teacher
  • Referred By
  • Last Class Pass Name
  • Last Class Pass Expired
  • Last Class Pass Remaining
  • Last Status Change

For syncing Tags, on every time the integration runs to check the Scheduling tab.

Try it out in your Mindbody for Infusionsoft by Keap Sync Profile today to get your Marketing Automation rolling again!

Available in all trials and as an Add-On in paid plans.




ActiveCampaign for NetSuite Integration

Hello there! Thanks for stopping by to take a look at the way ActiveCampaign and NetSuite seamlessly integrate together.

Here as some of the things you can do with this integration and more.

  • Sync NetSuite Companies, Contacts, Leads, and Prospects to ActiveCampaign
  • Option to sync records from NetSuite to specific ActiveCampaign List(s)
  • Filter and sync only those records that meet specific criteria from CRM or vice-versa
  • Opt-outs managed automatically between NetSuite and ActiveCampaign
  • Custom field mapping between both systems
  • Sync Campaigns and Campaign Responses from ActiveCampaign to NetSuite
  • NetSuite supported Saved Search record types: Contact, Customer, Employee, Partner, Transaction, and Vendor Saved Search(es) synced to ActiveCampaign

Here are other features for this integration as well:

  • Create an ActiveCampaign List for every Saved Search synced from NetSuite. NetSuite always takes higher precedence over ActiveCampaign. Any Contact changes in NetSuite will always be synced to ActiveCampaign.
  • Contact and Lead data are synced from ActiveCampaign only if the email address doesn't exist in NetSuite at the time of syncing or Update Field Mapping is enabled.

Setting up an ActiveCampaign for NetSuite Integration

Before starting, take a look at our basic integration setup, as explained here:

Check out some key documentation for ActiveCampaign for NetSuite integration:

Before setting up the integration, here are some important integration points:

  • Make sure that your NetSuite Roles/Permissions and Authentication (2FA is suggested) are set.
  • Create a test Saved Search, Subscription, or records for testing purposes.
  • Create a test ActiveCampaign default list (this test default list will be selected in Step 2 of the Sync Profile where you want your NetSuite records to be synced).
  • Scheduling of a Sync Profile is available on Free Trial and Paid plans. (Step 6)


Logging in to your SyncApps account will land you the SyncApps Dashboard. Head to Sync Profiles and Once you’ve selected the Sync Profiles tab, tap the “Create Sync Profile” button.

Enter any designated name for your new Sync Profile as your identifier. Then in Sync Type, select NetSuite to ActiveCampaign.

Step 1: NetSuite


Enter your NetSuite account credentials such as your Account ID, Username, Password, and Application ID, since we're using the "Username and Password" Authentication type. If you're using Token-Based Authentication, please see the article below on how to do it:

How to Setup NetSuite Token-Based Authentication as Authentication Type

The NetSuite Sandbox is a test account type that uses testing records. This option won't affect your live or production records when syncing. If you are testing records or requirements, and want your production records to remain unaltered, enable this option.

Records to Sync

Select "Records to Sync". Available options are All Contacts, Specific NetSuite Saved Searches, Specific NetSuite Contact Subscriptions, and Specific NetSuite Customer Subscriptions.

You can only use 1 "Records to Sync" per Sync Profile. For example, if you select "All Contacts" as the "Records to Sync", all the Contact type records in your NetSuite database will be synced to ActiveCampaign.

Sync Email Marketing Data

  • If this option is checked, email marketing data (opens, clicks, and links clicked metrics) will be synced to a custom record in NetSuite.

    The custom record will be created automatically by SyncApps and will capture data for 30 days after a campaign is initiated.

    Email Marketing Campaign metrics land on the custom subtab in the NetSuite Customer/Contact record. The NetSuite custom subtab name can be changed to meet your needs in NetSuite. Please see here for more details.

Replace UTF-16 characters with blank

  • Emojis and other special characters with UTF-16 encoding are not supported by the NetSuite API. Enabling this feature will replace those characters with a blank space during sync to avoid errors.

New Subscriber Object Type

  • Select what NetSuite object type to be created when a new record is created in ActiveCampaign.

Use Email Address as Entity ID (Name) for new Contact or Customer

  • By default, SyncApps will use First Name + Last Name for Contact Name, and Company Name as Customer Name. If this option is checked, SyncApps will use the email address instead.

Default Subsidiary (for NetSuite OneWorld users only)

  • For NetSuite OneWorld users, please enter the default subsidiary name for new Customer or Contact created by SyncApps. Otherwise, Customer or Contact creation will fail.
  • In some cases, a subscriber will create a Sync Profile for each NetSuite Subsidiary that they want to integrate. To make sure that each Sync Profile syncs with its assigned Subsidiary, please be sure to only use a NetSuite role with NetSuite Subsidiary access and also create a separate NetSuite role for each NetSuite Subsidiaries assigned.

         Note: Default subsidiary is only used for new record creation in NetSuite.

After you have set the configuration in Step 1, hit the next button.

Step 2: ActiveCampaign


Account API URL 

  • The Account API URL can be found by clicking My Settings and then the Developer tab on the left side of the screen and look on the API Access section.


  • The API Key can be found by clicking My Settings and then the Developer tab on the left side of the screen and look on the API Access section.

Segmentation Method

  • Auto creates Lists or Tags or both into your ActiveCampaign account from your CRM software.

Specify the default target List in ActiveCampaign

  • Please select a default List in ActiveCampaign to sync your records from CRM into. If none is selected, then Contacts will just sync without being added to any List in ActiveCampaign.

Retrieve from a Specific List(s) in Active Campaign

  • Are your contacts in ActiveCampaign on a list? If not, please make sure that they are, and then select the List(s) you are syncing back to CRM. If no list is selected, then SyncApps will retrieve all Contacts from ActiveCampaign List(s).

Do not sync new ActiveCampaign subscribers to NetSuite (One-Way Sync)

  • If you don't want new records from ActiveCampaign to be synced to NetSuite, then enable this option. Otherwise, you may leave it unchecked.

Step 3: Sync Add-Ons


Sync Add-Ons are optional. Available Add-Ons in Step 3 of the Sync Profile may depend on which Plan and integration you select.

Want to know which Sync Add-On fits your requirement? Give us a shout out today!

Step 4: Field Mapping


Field Mapping is optional. Basic fields such as Email Address, Name, Title, Address, Company Name, and Phone are already pre-mapped even if you haven’t enabled this step. If you have additional fields to map, then you’ll have to set these fields up here.

Generic Field Mapping Guide

Step 5: Filtering and Segmentation


This step is one of our most powerful features that's frequently used by our subscribers. If you have thousands of records in your CRM and only want to pull out the records with specific criteria, Filtering and Segmentation ensure that only these records will be synced to your ActiveCampaign List. 

See here for more information on how it works.

Filtering and Segmentation Guide

Step 6: Sync Scheduling


Finally, the very last step. Just select the time you would like your data to sync automatically.

Sync Scheduling Guide

Tap the "Finish" button and then Sync Now.

More questions or hit any snags? You can always reach out to our 24/7 Support Team

Need some help?

Check out the options below on how you can contact our Support team and find the answers you need to help you with your SyncApps integrations.

Help Center & Email is 24/7 to | Live Chat & Phone is scheduled  


Check out these Help Desk articles for answers to frequently asked questions.

Get Started | Login Issues | Pricing

Be sure to check out our subscriber's story here on how SyncApps helped them save hundreds of hours per year integrating NetSuite.


Infusionsoft by Keap Connected to NetSuite

Have some questions about how deep the integration is between Infusionsoft by Keap and NetSuite?

Well, you can now get synced up, organized and maintain a complete, accurate history of contact relationships by centralizing company, contact or lead information and email marketing metrics between NetSuite and Infusionsoft by Keap.

Connecting Infusionsoft by Keap to NetSuite is easy to see how it works!

Major Features for NetSuite to Infusionsoft by Keap are:

  • NetSuite supported Saved Search record types: Contact, Customer, Partner, Transaction. Sync NetSuite company, contacts or leads to Infusionsoft by Keap.
  • Trigger actions in Infusionsoft by Keap based on NetSuite synced field changes.
  • Sync NetSuite records without email addresses to Infusionsoft Lists.
  • Filter and Sync only those records who meet specific criteria from CRM.
  • Opt-outs managed automatically in NetSuite from Infusionsoft by Keap.
  • Custom field mapping between both systems.
  • NetSuite supported Saved Search record types: Contact, Customer, Partner, Transaction, Employee and Vendor. Each Saved Search is synced to an Infusionsoft tag.
  • Sync specific Infusionsoft tags to CRM.
  • When a NetSuite record is no longer in the NetSuite Saved Search SyncApps will also remove the tag in Infusionsoft by Keap from the record.
  • NetSuite always takes higher precedence over Infusionsoft by Keap. Any contact changes in NetSuite will always be synced to Infusionsoft by Keap.
  • Contact and lead data is synced from Infusionsoft by Keap only if the email address doesn't exist in NetSuite at the time of syncing.

 Each Saved Search is synced to an Infusionsoft tag so you can kick off automation. 

Need more software connected to Infusionsoft by Keap let us know & Get started today on their MarketPlace.

Unprocessed and filtered records

SyncApps will only sync specific records that do not contain these Group/Role email addresses. Reason for this is that these are not "person" emails because they might cause spam complaints and blacklisting. 

To read a deep dive why Constant Contact and others do not send to these addresses read here.

These are the following Group/Role email addresses that SyncApps will ignore when Filtering feature is enabled:

  • abuse@
  • admin@
  • all@
  • everyone@
  • ftp@
  • investorrelations@
  • jobs@
  • marketing@
  • media@
  • noc@
  • postmaster@
  • prime@
  • privacy@
  • remove@
  • request@
  • root@
  • sales@
  • security@
  • spam.*@
  • subscribe@
  • usenet@
  • users@
  • uucp@
  • webmaster@
  • www@
  • noreply@


If you are syncing any @yopmail emails with your email marketing this will cause errors to appear as Mailchimp and others have banned this domain so to avoid any errors just set up a filter in SyncApps with "Email does not contain" criteria in your Sync Profile.

Need to sync these email addresses? You may also select this feature in Step 2 of the Sync Profile:



Capture NetSuite Abandoned Cart data to your Marketing Automation solution

Let's set it up!

To capture your NetSuite abandoned cart data try using a Customer Saved Search in your integration.

There are a few ways to accomplish this setup so we will explore a few scenarios.

Scenario 1:

Check out this great flow for your shopping cart abandonment workaround using Drip (works also for Constant Contact, Act-On, Mailchimp, Klaviyo and other solutions which use list marketing automation series).

Here's a Drip example:

  1. Create a workflow inside of Drip for those who flow over in the integration.
  2. Create a NetSuite Customer Saved Search who have left items in their cart (with a sub-total greater than zero) inside of NetSuite.
  3. Place Saved Search into Step 1 of your integration
  4. Sync those customer's email addresses to a Tag inside of Drip which will be triggering the first "Come Back" series for the product they left in the Shopping cart.


Drip and Magento Integration Screenshot


For Abandoned Cart syncing best practice is to create a separate Sync Profile just for this flow.


Scenario 2:


Check out this great flow for your shopping cart abandonment workaround using Mailchimp (works also for Constant Contact, Act-On, Drip, Klaviyo and other solutions which use list marketing automation series).

Here's a Mailchimp example:

  1. Create an automated series inside of Mailchimp.
  2. Create a NetSuite Customer Saved Search who have left items in their cart (with a sub-total greater than zero) inside of NetSuite.
  3. Place Saved Search into Step 1 of your integration
  4. Sync those customer's email addresses to an Audience inside of Mailchimp which will be triggering the first newsletter (by using a "when a subscriber joins this list" automation.

The best practice here for the above scenario is to also use a field (Customer Ordered) on the Customer Record to capture the fact that they have an order.  You can source this from the Order Object.

When this field changes from "False" to "True" then it can change the ending Automation Trigger in Mailchimp you've set up to stop the series.

As a best practice, be sure the Sync Profile is syncing to the Audience in Mailchimp where the automation is set as Saved Searches sync to Groups then also places the member into an Audience which is the Mailchimp Main Audience named in Step 2 of the Sync Profile.

For Abandoned Cart syncing best practice is to create a separate Sync Profile just for this flow.

Scenario 3:

The Audience in Mailchimp could be called Abandoned Cart and then the new record which lands in the Audience can have automation on it as automation in Mailchimp only fire on Audience, not Groups.

Here's an example:

As for the NetSuite Customer Saved Search just create a Customer Search and then create a filter in the Saved Search:

Shopping Cart: Date last item added (X days or greater)
Shopping Cart: Subtotal (greater than 0.00)

So the idea is that all abandoned carts from clients signed in will get added to the "abandoned cart" search after 2 days. When the list syncs again, they will get added to the Mailchimp Tag "Abandoned Cart", which should immediately trigger an email to be sent reminding them to finish the purchase.

Watch a quick video on setup.


Unfortunately, it is still not possible to retrieve additional search fields using the most current API version of NetSuite.  When they allow it we will support these fields below:


Another important note: 

If you're creating a Shopping Cart Saved Search and set that up into a Customer type one in Step 1 of the Sync Profile, SyncApps will not retrieve that and will error out. So again, please use Transaction Saved Search when syncing Abandoned cart records.

If you need any assistance in reviewing your Sync Profile please visit us here today to book some time with our experts.

NetSuite Saved Search best practices for integration

Running into any roadblocks regarding the integration options for NetSuite Saved Searches?  

First, to find the Saved Search internal ID (numeric) ID just look for the ID which is at the end of the NetSuite Saved Search URL in your browser when you run it to see a Saved Search you are dealing with today.

Be sure the Saved Search is set to "Public" in NetSuite as well. 


Based on the screenshot above, when you select "Specific NetSuite Saved Searches" under Records to Sync, then when you specify the ID, TYPE, the record(s) under the Saved Search ID will be synced to that new/existing specified Marketing Automation List Name.

By selecting a Saved Search to test out or to use in your integration will allow your integration to review all your NetSuite records with valid email addresses and then narrow down to just the Saved Search(es) which will allow better segmentation in your target software. 



Using NetSuite criterion to narrow down NetSuite records in a Saved Search for use in your integration:

When building your Saved Search for use in an integration note that sometimes what runs in NetSuite will not work with their API. The last modified date criteria addition does not work for "Use Expressions" with OR logic. It will produce an incorrect Saved Search result.

Let's get a bit into the weeds here so your NetSuite Saved Search will follow best practice for integration.

Please put one more outermost parenthesis in this use case below:

(Inactive = false AND .. AND ..) OR Name/ID = ... OR Name/ID = ...


(( Inactive = false AND .. AND .. ) OR Name/ID = ... OR Name/ID = ...)

If Saved Search criteria "Use Expressions" is checked then criteria MUST be wrapped with parenthesis "(" and  ")"

SyncApps will need to add one more last modified criteria.

If wrapper parenthesis is not added then the NetSuite Saved Search could produce an incorrect result especially if criteria contain OR logic.

For example:

Name = "A" OR Name = "B" must be changed to (Name = "A" OR Name = "B")

If you get any permissions Error on Sync Profile or NetSuite Saved Search with the internal ID x does not exist, please go to the following URL to review NetSuite Role and TBA permissions solution.


  • Do not use the Summary Saved Searches because they are not supported in NetSuite's API.
  • Formula fields cannot be retrieved using NetSuite's Saved Search API.

To find out more check out our subscriber's story here on how SyncApps helped them save 100s of hours per year integrating NetSuite!


Feel free to reach out 24/7 to our Support Team if you get stuck.


Bring over Mindbody non-marketable Contacts in your integration 

Sync Mindbody Clients with subscribe promotional email unchecked as non-marketable Contacts to Infusionsoft.

save image

Does your Studio need to ignore "subscribe promotional email" (Mindbody opt-out) so all your customers will be synced although subscribe promotional email is unchecked?

Get connected

Empower your organization with our Unlimited Team Members feature so your team can manage your data integration or migration with ease! Take your organization to the next level and keep everyone on the same page!
Get connected altogether