Skip to main content

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
Add 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 only salesloft_query cannot enroll anyone in a cadence.
  • Salesloft Query (salesloft_query) is read-only. resource selects 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 by id.
    • conversation_insights returns one conversation’s AI summary, action items, and key moments.
    • transcript returns 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 are create_person, update_person, create_account, update_account, add_to_cadence, remove_from_cadence, create_note, create_task, and log_call.
    • add_to_cadence checks whether the person is already active on the cadence and returns the existing membership instead of enrolling them twice.
    • remove_from_cadence accepts person_id and cadence_id, so agents don’t need the membership id.
    • create_task is 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 as crm_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>"} on resource: "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.
To avoid starving your other integrations, 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 includes next_updated_since to 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:read scope on the key.
  • Account domains are unique on the team. Search accounts by domain before create_account. salesloft_manage reduces a pasted URL (https://acme.com/about) to its host.
  • do_not_contact: true on 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”.