---
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.

Set `upsert_key` to `id`, `crm_id` or `email_address` and send that field
with the person's details, such as `first_name`, `last_name`, `title`,
`account_id` and `tags`; without `upsert_key` an existing person is never
updated. The request fails when the key matches more than one person. The
response's `upsert_type` is `create` or `update`. The call needs the
`people:write` scope; the MCP server can't write.

## 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 doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
