Telerivet's Contact Data Sync feature makes it possible to synchronize contact information and opt-out status across multiple projects in your organization, and to see the full history of messages with each contact in one place.
This is useful when your organization uses multiple projects — for example, separate projects for different departments, programs, or countries — but you want to manage your contacts in one central place, or ensure that when a contact opts out or updates their information in one project, the change is reflected in your other projects.
The Contact Data Sync feature is available on the Growth service plan or above.
How It Works
The Contact Data Sync feature uses contact groups to synchronize contacts between a "parent project" and multiple "child projects" in your organization. The parent project has contact groups with the same name as each child project.
- Each contact in the synchronized group in the parent project also appears as a contact in the child project.
- Contact data in the fields you choose to synchronize is kept up to date in both directions — when a synchronized field is updated in either project, the change is automatically copied to the other project.
- Contacts added in the child project are automatically added to the synchronized group in the parent project.
- Messages sent and received in the child project are automatically copied to the parent project, so the parent project shows the complete message history with each contact across all of your child projects.
The parent project typically serves as your organization's master contact database, with one synchronized group for each child project. A contact can be in multiple synchronized groups, allowing the same contact to be synchronized with multiple child projects.
Routes, services, and other project configuration remain separate in each project.
To get started, contact support and ask to designate one of your projects as the parent project.
Enabling Synchronization for a Group
In your parent project, open the Contacts page, then create a new group or edit an existing group. (Synchronization is available for standard groups, not dynamic groups.)
In the Edit Group dialog, check the box "Synchronize contacts with <group name> project", and select the fields to synchronize.
The group is always synchronized with the project that has the same name as the group:
- If your organization doesn't have a project with that name, Telerivet will ask if you want to create it. (Creating a new project requires permission to create projects in your organization, and counts toward the maximum number of projects in your service plan.)
- If a project with that name already exists, it will be linked to the group. You need administrator access to that project, and it can't already be synchronized with another group or be a parent project itself.
If the group and the child project both already contain contacts when you enable synchronization, Telerivet will ask you to confirm before merging the data. Contacts are matched by phone number, and if both projects have different data in a synchronized field, the data from the contact that was updated most recently will overwrite the other.
After a group is synchronized with a child project, the child project's name stays the same as the group name — to rename the child project, rename the group in the parent project.
Synchronized Fields
You can choose which contact fields are synchronized between the parent group and the child project:
- Built-in fields: Name, Phone Number, Conversation Status, and Send Blocked (opt-out status)
- Custom fields: any custom contact fields defined in the parent project
Synchronizing the Send Blocked field is particularly useful for compliance: if a contact opts out or is blocked in any project, they will automatically be blocked in the other projects as well.
You can add more synchronized fields later by editing the group. If contacts in both projects already have data in a newly synchronized field, Telerivet will ask you to confirm before merging that field's data (again, the most recently updated contact takes precedence).
Custom fields that are synchronized to a child project can only be deleted in the parent project.
Message History in the Parent Project
When a message is sent or received in a child project, a copy of the message is automatically created in the parent project, associated with the synchronized contact. This allows you to see the complete history of messages with each contact in one place — on the parent project's Messages page, or on the contact's page in the parent project — even if your organization communicates with the contact from several different projects.
The copy in the parent project is kept up to date automatically: when the message's status changes in the child project (for example, from queued to sent to delivered), the copy in the parent project is updated as well.
Adding and Removing Contacts
Once synchronization is enabled:
- Adding a contact to the synchronized group (manually, via import, or via an automated service) automatically creates the corresponding contact in the child project.
- Adding a contact in the child project automatically adds it to the synchronized group in the parent project.
- Removing contacts from the synchronized group deletes the synchronized contacts from the child project. Telerivet will ask you to confirm first.
- Deleting a contact in the parent project also deletes its synchronized contacts in the child project. Telerivet will ask you to confirm first.
- Deleting a contact in the child project removes it from the synchronized group in the parent project, but the contact itself remains in the parent project.
Impact on Stored Contacts and Stored Messages
Because synchronized contacts and messages exist in both the parent project and a child project, each one counts twice toward the limits of your service plan:
- A contact that is synchronized with a child project counts as two stored contacts — one in the parent project and one in the child project. A contact synchronized with multiple child projects counts once for each child project, plus once in the parent project.
- A message sent or received in a child project counts as two stored messages — the original in the child project and the copy in the parent project.
When estimating how many stored contacts and stored messages your organization needs, count contacts and messages in child projects twice.
To reduce the number of stored messages, you can set the Message Retention setting on the Messaging Settings page in the parent or child project to delete its copy of messages after a certain number of days. Deleting messages from a parent or child project does not delete the corresponding messages from the other project.
Disabling Synchronization
To stop synchronizing a group, edit the group and uncheck the synchronize checkbox (this requires administrator access to the child project). The existing contacts remain in both projects, but changes are no longer synchronized between them.
Comments
0 comments
Please sign in to leave a comment.