Links each user in your CRM to the DoubleTick agent whose account they sign in as, filling the mapping that Custom CRM embed logins read. Until a CRM user is mapped, minting an embed token for them fails with 403 user_not_mapped and they cannot open DoubleTick inside your CRM. This is the API equivalent of mapping each agent by hand in DoubleTick under Settings → Integrations → Custom CRM.
Before resolving the batch we refresh our copy of your users by calling the List Users API configured on the integration, so a crmUserId must appear in that response to be mappable. Rows are resolved independently and a 200 is returned even when every row fails: a CRM normally contains people who were never invited to DoubleTick, so unmapped rows are expected rather than an error. Read mapped and failed rather than relying on the status code alone.
The call is idempotent, so a batch that timed out can safely be re-sent. It also overwrites: re-sending a mapping replaces whatever that CRM user was mapped to before, including a mapping an admin set by hand in the dashboard. An agent can belong to only one CRM user, so moving an agent to a different CRM user requires clearing the existing mapping first — which this endpoint cannot do yet.
Reassignments are resolved against the mapping as it stood before the call, not against the batch's end result. A row is refused with agent_already_mapped whenever another CRM user held that agent when the call arrived, even if an earlier row in the same batch moves that user elsewhere. Two consequences: a reassignment chain (A takes B's agent while B takes a free one) needs the same batch sent twice — the first call frees the agent, the second claims it — and a straight swap of two agents between two CRM users cannot be expressed through this API at all, because neither row can go first. Swaps must be done in the DoubleTick dashboard. Each agent_already_mapped failure carries ownedByCrmUserId so you can tell which of your own users to clear.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Request body failed validation, or the integration has no List Users API configured yet (list_users_api_not_configured).
401Missing or invalid API key.
403The integration is not connected (integration_disabled), or the API key’s user lacks permission to manage integrations.
404No Custom CRM integration with this identifier exists in your organisation (integration_not_found).
413Request body larger than 1 MiB.
429Rate limit exceeded (60 requests per minute).
502Your List Users API could not be reached, returned an error, or returned an unexpected shape (EXTERNAL_API_ERROR).

