---
ref: tool:salesloft/upsert-person
name: Create or update a person
company: company:salesloft
workflows: []
access: [api]
tags: [capability:manage-crm, category:sales-engagement, has:api]
docs: https://developers.salesloft.com/docs/api/person-upserts-create/
updated: 2026-09-27
---

# Create or update a person

Creates a Salesloft person, or updates the one matched by id, CRM id or email address, and says which it did.

Note: Set `upsert_key` to `id`, `crm_id` or `email_address`; without it an existing person is never updated, and a key matching more than one person fails. Needs the `people:write` scope.

## Set up

Use the first option your agent supports.

### API (official)

- Base URL: https://api.salesloft.com
- Endpoint: `POST /v2/person_upserts`
- Auth: send the header `Authorization: Bearer $SALESLOFT_API_KEY`
- Docs: https://developers.salesloft.com/docs/platform/api-basics/api-key-authentication/

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
