Overview
The Salesloft integration gives your agents your sales team’s engagement history. Agents can read people and accounts, see who is on which cadence and at which step, and review email and call activity, meetings, notes, and tasks. They can also read recorded conversations with Salesloft’s AI summaries and transcripts. A separate, gated tool lets approved agents create and update people and accounts, add people to cadences or remove them, and log notes, tasks, and calls. Your organization’s Salesloft API key is injected automatically into every tool call. Agents never see or handle the key.Prerequisites
- A Salesloft account with API access
- A Salesloft API key, created by the user whose visibility your agents should have
- An Aster admin to connect the integration. The connection is shared org-wide.
A Salesloft API key is not a team credential. It acts as the user who created it, with that user’s role and visibility. A rep’s key sees what that rep sees. For team-wide pipeline reporting, create the key as a Salesloft admin. Records your agents create (people, notes, tasks, cadence enrollments) are attributed to that user unless a tool call names another user.
Setup Guide
1
Create a Salesloft API key
In Salesloft, open Your Applications → API Keys (accounts.salesloft.com/oauth/applications) and click Create New.Select read scopes for the data your agents need:
- People and accounts:
people:read,accounts:read - Activity:
activities:read,emails:read,calls:read - Conversations:
conversations:read - Opportunities:
opportunities:read
email_contents:read if agents should see email subjects.Add write scopes (people:write, accounts:write, activities:write, calls:write) only if you will grant Salesloft Manage.2
Connect Salesloft in Aster Agents
Navigate to Control Hub → Integrations, locate the Salesloft card, click Connect, and paste the key. Aster validates it against Salesloft (
GET /v2/me) and records which Salesloft user it acts as. The key is redacted on read-back, so it is never shown again after you save it.3
Add the Salesloft tools to your agent
Edit your agent and enable only the tools it needs:
- Salesloft Query — for agents that only report on pipeline or watch activity. It is read-only.
- Salesloft Manage — add this only for agents allowed to act for your sales team. Adding someone to a cadence starts real outreach.
- Call Salesloft API — add this only when you need an endpoint the other two don’t cover.
Available Tools
The tools are split on the permission boundary: reads in one tool, writes in another. An agent with onlysalesloft_query cannot enroll anyone in a cadence.
- Salesloft Query (
salesloft_query) is read-only.resourceselects what to read:people,accounts,cadences,cadence_memberships,emails,calls,meetings,notes,tasks,successes,opportunities,conversations,users, and more.- The singular forms (
person,account,conversation, …) fetch one record byid. conversation_insightsreturns one conversation’s AI summary, action items, and key moments.transcriptreturns a transcription’s sentences.- The tool follows pages automatically and spills large results to sandbox files (JSON plus a CSV with custom fields as columns).
- Salesloft Manage (
salesloft_manage) is the gated write companion. Its actions arecreate_person,update_person,create_account,update_account,add_to_cadence,remove_from_cadence,create_note,create_task, andlog_call.add_to_cadencechecks whether the person is already active on the cadence and returns the existing membership instead of enrolling them twice.remove_from_cadenceacceptsperson_idandcadence_id, so agents don’t need the membership id.create_taskis idempotent per tool call, so a retried call doesn’t create a second task.- Deletes are not available here.
- Call Salesloft API (
salesloft_api_call) is an escape hatch to any v2 endpoint. It covers the long tail: upserts, webhook subscriptions, custom fields, stages, and deletes.
Working with Salesforce
Salesloft people and accounts carry the CRM record id ascrm_id. When an agent has both Salesforce and Salesloft tools, joining on crm_id is exact. Name matching misses on duplicates and renamed companies.
- To look up the Salesloft side of a Salesforce contact, pass
filters: {crm_id: "<Salesforce Id>"}onresource: "people". - For an account, do the same on
resource: "accounts".
Rate limits
Salesloft allows each team 600 cost units per minute, and that budget is shared by every integration on your Salesloft team, including your CRM sync.- Most requests cost 1.
- Pages past 100 cost 3 to 30 times as much.
salesloft_query:
- Stops paging when the team’s remaining budget for the minute runs low, and says so.
- Refuses to jump past page 100. It pages by time instead: pass
updated_since, and when more records remain the result includesnext_updated_sinceto continue from.
updated_since is also the efficient way for a scheduled agent to watch for changes. It isn’t available on tasks, users, steps, meetings, custom_fields, or person_stages, because Salesloft has no updated_at filter for them.
Known API behaviour
- Email bodies are not returned by the activity endpoints. Email subjects require the
email_contents:readscope on the key. - Account domains are unique on the team. Search
accountsbydomainbeforecreate_account.salesloft_managereduces a pasted URL (https://acme.com/about) to its host. do_not_contact: trueon a person or account removes it from every cadence it was on.- Visibility follows the key’s user. A record the user cannot see returns “not found”.