Short answer: You can salesloft upsert person in Salesloft by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Salesloft Salesloft Upsert Person action to a workflow, map its 9 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Email email_address | string | Required | The person's email. Used as the dedupe key for upsert. |
First Name first_name | string | Optional | First name. |
Last Name last_name | string | Optional | Last name. |
Job Title title | string | Optional | Job title. |
Phone phone | string | Optional | Primary phone number. |
Mobile Phone mobile_phone | string | Optional | Mobile phone number. |
LinkedIn URL linkedin_url | string | Optional | LinkedIn profile URL. |
Company Name company_name | string | Optional | Person's current company. |
Owner User ID owner_id | string | Optional | Salesloft user ID to own this person record. |
{"email_address": "user@example.com","first_name": "Jane","last_name": "Smith","title": "VP of Sales","phone": "+15551234567"}
{"data": {"id": 1234567,"title": "VP of Sales","last_name": "Smith","created_at": "2026-04-11T10:00:00.000Z","first_name": "Jane","updated_at": "2026-04-11T10:00:00.000Z","company_name": "Acme Inc","email_address": "jane@example.com"}}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.