Keep contact information connected
Help your team work with consistent client details across MyCRM and another business system. An integration can reduce repeated data entry by sharing the contact information each system needs.
What this could look like
Your team updates a client’s email address in MyCRM. A scheduled integration passes the new address to another business tool, so staff do not have to update both places themselves.
A good first version sends selected information in one direction. You can add updates in the other direction once you have agreed how competing changes should be handled.
Decide which system has the final say
| Decision | Why it matters |
|---|---|
| Which details should be shared? | Start with a small, useful set, such as names and contact details. |
| Where should staff make changes? | Give each field an agreed source so one system does not overwrite a newer value in another. |
| How quickly are updates needed? | A regular scheduled update may be enough; more timely updates need additional planning. |
| How will the same person be recognised? | Save the connection between the two records instead of relying on a name or email address alone. |
| Who checks unsuccessful updates? | A visible failure and a recovery process help prevent the systems drifting apart. |
Treat marketing preferences as a separate business decision. Copying contact details should not accidentally change someone’s communication choices.
Confirm which contacts are included
Your integration may not be able to access all the contacts you can see in MyCRM. For example, contacts shared with you by an adviser in a different organisation are not accessible via the API. Keep this in mind before comparing record counts between systems.
Implementation notes for your technical team
Contacts belong to contact groups. Keep MyCRM’s resource id alongside the corresponding identifier in your system. Adviser identifiers and client contact identifiers are not interchangeable.
- Request the collection-search scope and appropriate data access.
- Use sparse fieldsets to select only the fields needed.
- Store a checkpoint after each batch has been processed successfully.
- Where available and configured, use webhooks for timely updates and periodic reconciliation to recover missed changes.
- If writing back, PATCH only the fields your integration owns and define explicit conflict handling for two-way updates.
GET /jsonapi/contacts?sort=id&page[size]=100&fields[contacts]=firstName,lastName,email
This query does not provide a snapshot across requests: records may change while a sync runs. See synchronisation, data access and contact resources.