Salesloft
Drive sales cadences, people, accounts, and activity logging in Salesloft via its REST API.
This tool wraps the Salesloft REST API (https://api.salesloft.com,
the /v2/* endpoints). It lists people, cadences, and accounts, creates
person records, and logs calls against a person. It uses the Python
standard library only (no third-party packages) and returns the raw
Salesloft response so downstream steps or the assistant can parse it.
Operations
| operation | method + endpoint | inputs used |
|---|---|---|
whoami |
GET /v2/me |
(none) |
list_people |
GET /v2/people |
query, perPage |
create_person |
POST /v2/people |
emailAddress, firstName, lastName, phone |
list_cadences |
GET /v2/cadences |
query, perPage |
list_accounts |
GET /v2/accounts |
query, perPage |
log_call |
POST /v2/activities/calls |
personId, duration, notes, disposition, sentiment |
create_person requires either emailAddress, or both phone and
lastName (Salesloft enforces a unique lookup per team).
apiKey setup
- In Salesloft, go to Settings → Integrations → API & Webhooks (or the API Keys section under your account settings).
- Create / copy an API key.
- Pass it as the
apiKeyinput. The tool sends it asAuthorization: Bearer <apiKey>— no OAuth dance is required for a single API key.
(OAuth 2.0 access tokens issued via
https://accounts.salesloft.com/oauth/token also work as bearer tokens
if you prefer the OAuth flow.)
Outputs
Every operation publishes:
status— the HTTP status code as a string (e.g."200").result— the Salesloft response body as a JSON string.
Examples
List the first 25 people matching a search:
operation = list_people
apiKey = <your-api-key>
query = acme
perPage = 25
Create a person:
operation = create_person
apiKey = <your-api-key>
emailAddress = [email protected]
firstName = Jane
lastName = Doe
List active cadences:
operation = list_cadences
apiKey = <your-api-key>
Log a connected call against a person:
operation = log_call
apiKey = <your-api-key>
personId = 123456
duration = 180
disposition = Connected
sentiment = Interested
notes = Discussed pricing; follow up next week.
Notes
- Non-2xx responses are returned (not raised): the
statusreflects the HTTP code andresultcarries Salesloft's error body so you can react to it. Only transport-level failures (DNS, refused, timeout) fail the step. - Response bodies are capped at ~5 MB.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
operation |
string | yes | — | One of: whoami, list_people, create_person, list_cadences, list_accounts, log_call |
query |
string | no | — | Search string for the list_* operations (maps to Salesloft 'search'). Ignored by whoami/create/log operations. |
perPage |
string | no | — | Max number of results per page for list_* operations (maps to per_page, default 25). |
emailAddress |
string | no | — | Email address for create_person. Either emailAddress, or both phone and lastName, must be provided. |
firstName |
string | no | — | First name for create_person. |
lastName |
string | no | — | Last name for create_person. Required (with phone) when emailAddress is omitted. |
phone |
string | no | — | Phone number for create_person. Required (with lastName) when emailAddress is omitted. |
personId |
string | no | — | Salesloft person id. Required for log_call. |
duration |
string | no | — | Call duration in seconds for log_call (integer). |
notes |
string | no | — | Call notes text for log_call. |
disposition |
string | no | — | Call disposition label for log_call (e.g. 'Connected', 'Left Voicemail'). |
sentiment |
string | no | — | Call sentiment label for log_call (e.g. 'Interested', 'Not Interested'). |