We track accounts as companies in Salesforce and want to sync to Constant Contact. Each account may have multiple contacts. Would like to sync all contacts based on their account criteria, ex: "sync all contacts where account:status = 'active'". The account.status is a custom field at the account level. Possible?
On your requirement, yes, you can do it but first have some Salesforce work to do (1 hour). If you select Accounts as the Object Type to Sync it might work but don't think that is the right approach for 1 Account to many Contacts.
You can just use Contact as the Object Type to Sync and filter Contacts with Account status "active" as you will just need to surface this field also on each Contact which should be easy enough to do using formula fields. (link to Pardot article on it is great)
Object Type to SyncContact Lead Account
Filter records from Salesforce.com to Constant Contact
Filtering settings are optional. If filtering criteria is specified then only records which match the specified filter criteria will be synced from Salesforce.com to Constant Contact.
OK, here are the steps;
1. Expose the account field at the contact level; create a custom field called Account Status on contact, data type = formula, formula = ‘TEXT(Account.Status__c)’. The TEXT() part is important as my Status__c field is a pick list which won’t work as a custom field without the TEXT()
2. In SyncApps select Object Type ‘contact’ (everything appears to work if you select Account as suggested but then it only grabs one contact per account, selecting at the contact level is the correct way – which makes perfect sense)
3. In step 5 of the Sync Profile Setup, enable filtering and you will see the exposed account field as a contact formula field as setup in step 1 – “Account Status (Account_Status__c)”
Works perfectly – multiple contacts are synced per account, previous unsubscribes are obeyed – simply great.
Thanks for all your help pointing me in the right direction here!!
Another happy customer!