This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
Your app needs to synchronize customer data from an external CRM system while preventing duplicate contacts and maintaining data integrity. This is common when migrating from legacy systems or integrating with third-party platforms.
To import contacts from external systems:
externalId values from your source system. If there is no externalId, the email and phone are used to check for matching contacts.allowDuplicates=false to leverage automatic duplicate detection.DUPLICATE_CONTACT_EXISTS errors by using Find Matching Contacts to identify existing records.OVERWRITE, APPEND, or OVERWRITE_APPEND_ARRAYS) to update existing contacts.Your app manages contacts that are also registered site members, requiring special permissions, and deletion restrictions.
To manage site member contact integration:
memberInfo field in contact records.updateMember=true in Upsert Contact requests.deleteMember=true in Delete Contact to remove both contact and member records.CONTACTS.CONTACT_MEMBER_UPDATE and MEMBERS.MEMBER_DELETE permissions.Your app needs to efficiently handle large volumes of contact data for imports, updates, or cleanup operations while respecting rate limits and handling failures.
To process bulk contact operations:
returnEntity=true if you need the full contact data in responses.bulkActionMetadata to understand success/failure counts.itemMetadata in results array.Your app categorizes contacts for marketing campaigns and stores industry-specific information using tags and extended fields.
To organize contacts with tags and custom data:
extendedFields property when creating or updating contacts.tags.privateTags.tagIds in filter expressions with HAS_SOME or HAS_ALL operators.Your app implements intelligent contact deduplication to maintain clean customer data and merge duplicate records when necessary.
To handle contact matching and deduplication:
externalId, email, or phone to identify potential duplicates before creating contacts.externalId (highest), email, then phone (lowest priority). See Matching & Duplicate Contacts.preview=true to review merge results before committing the operation.allowDuplicates=true in create operations only when intentionally creating duplicate contacts.Last updated: 13 July 2026