Salesloft
Salesloft is a revenue workflow platform. This Willow connector lists team members (email, active status, role, and seat package) and deactivates a user so their license can be reused.
Authentication Types
Salesloft supports 2 authentication methods:
- OAuth — Register your own OAuth app. Preferred for partners; every connecting user authorizes the app.
- Pros: Refresh tokens, per-user audit trail, required for partner apps
- Cons: Needs an OAuth app (~5 min setup)
- API Key — A customer-issued key (
ak_...) sent asAuthorization: Bearer.- Pros: Fast setup for internal automations
- Cons: Acts as the issuing user; partners cannot use API keys
Both methods need team:read to list users and team:write to deactivate users.
Setting up OAuth
- Log in at accounts.salesloft.com.
- Go to Your Applications → OAuth Applications → Create New.
- Enter a name and description. Set Application Type to a private team application and Grant Type to Authorization Code.
- Paste the redirect URI shown in Willow under Redirect URI.
- Select
team:readandteam:write, then click Submit. - Copy the Application Id (Client ID) and Secret (Client Secret) into Willow and connect.
Access tokens expire after two hours. Salesloft rotates refresh tokens on every refresh — Willow stores the latest refresh token from the token response.
Setting up an API Key
- Log in at accounts.salesloft.com.
- Go to Your Applications → API Keys → Create New.
- Name the key, select
team:readandteam:write, and click Save. - Copy the key (
ak_followed by a 64-character hex string) into Willow.
Salesloft API keys are for customers. Partner applications must use OAuth.
Available Tools
- List Users —
GET /v2/users. Team admins see the whole team; non-admins may only see themselves depending on group visibility. Useactive=falsewhen you need deactivated accounts. Page withpageandper_page(max 100). - Deactivate User —
PUT /v2/users/{id}with{ "active": false }. The member can no longer sign in. Salesloft makes the license available for a new user after deactivation. There is no separate unlicense endpoint.
Troubleshooting
Empty or single-user results
Cause: The token belongs to a non-admin, or group visibility limits the list to the caller.
Solution: Connect with a Team Admin account (or an API key issued by one) and confirm team:read is granted.
403 on Deactivate User
Cause: The token is missing team:write, or the caller is not allowed to update that user.
Solution: Recreate the OAuth app or API key with team:write, and connect as a Team Admin.
invalid_grant during OAuth
Cause: The authorization code was reused, expired, or the redirect URI does not match.
Solution: Confirm the callback URL in the Salesloft app matches Willow exactly, and reconnect so a fresh code is issued. Token exchange uses JSON (Content-Type: application/json).