The Evertrace AI connector lets your AI agent act in each user's Evertrace AI account. Each user connects their own Evertrace AI access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 26 tools.
- Tools
- 26
- What they doRead · write · destructive
- 14 · 9 · 314 read9 write3 destructive
- Users sign in with
- Access token
What you can do
- Search talent signals: find people profiles by city, past companies, and schools, with experience and education details
- Manage saved searches: create, update, duplicate, share, and delete searches, and list the signals each one matches
- Organize lists: create, rename, share, and delete lists, and add or remove signals from them
- Track review status: mark signals as viewed, screen them out of default views, or bring them back
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Evertrace AI connection
In AgentKit > Connections, create an Evertrace AI connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'evertrace'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Evertrace AI:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'evertrace_cities_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "evertrace"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Evertrace AI:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="evertrace_cities_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Evertrace AI credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolevertrace_cities_listSearch available cities by name.Read-onlySearch Cities
Search available cities by name. Returns city name strings sorted by signal count. Use these values in signal filters for the city field.
Inputs
limitstring- Number of results per page.
pagestring- Page number for pagination.
searchstring- Case-insensitive partial match on city name (e.g. "san fran"). Omit to list all cities sorted by signal count.
evertrace_companies_listSearch companies by name or look up by specific IDs.Read-onlySearch Companies
Search companies by name or look up by specific IDs. Returns company entity IDs (exe_* format) needed for signal filtering by past_companies.
Inputs
idsarray- Look up specific companies by entity ID (exe_* format).
limitstring- Number of results per page.
pagestring- Page number for pagination.
searchstring- Case-insensitive partial match on company name (e.g. "google").
evertrace_educations_listSearch education institutions by name or look up by specific IDs.Read-onlySearch Education Institutions
Search education institutions by name or look up by specific IDs. Returns institution entity IDs (ede_* format) needed for signal filtering by past_education.
Inputs
idsarray- Look up specific institutions by entity ID (ede_* format).
limitstring- Number of results per page.
pagestring- Page number for pagination.
searchstring- Case-insensitive partial match on institution name (e.g. "stanford").
evertrace_list_entries_getGet a single list entry with its full signal profile.Read-onlyGet List Entry
Get a single list entry with its full signal profile.
Inputs
entry_idstringrequired- The entry ID.
list_idstringrequired- The list ID.
evertrace_list_entries_listList entries in a list with pagination, sorting, and filtering by screening/viewed status.Read-onlyList Entries
List entries in a list with pagination, sorting, and filtering by screening/viewed status.
Inputs
list_idstringrequired- The list ID.
limitstring- Number of results per page.
pagestring- Page number for pagination.
screened_byarray- Filter by screening status. Prefix with "-" to exclude (e.g. ["-me", "-others"]).
sort_bystring- Sort field: "entry_created_at" (when added to list) or "signal_discovered_at" (when signal was discovered).
sort_orderstring- Sort direction: "asc" (oldest first) or "desc" (newest first).
viewed_byarray- Filter by viewed status. Prefix with "-" to exclude (e.g. ["-me"]).
evertrace_lists_getGet a list by ID with its entries, accesses, and creator information.Read-onlyGet List
Get a list by ID with its entries, accesses, and creator information.
Inputs
idstringrequired- The list ID.
evertrace_lists_listList all lists the current user has access to in evertrace.ai.Read-onlyList Lists
List all lists the current user has access to in evertrace.ai.
Inputs
This tool takes no inputs.
evertrace_searches_getGet a saved search by ID with its filters and sharees.Read-onlyGet Saved Search
Get a saved search by ID with its filters and sharees.
Inputs
idstringrequired- The saved search ID.
evertrace_searches_listList all saved searches accessible to the current user in evertrace.ai.Read-onlyList Saved Searches
List all saved searches accessible to the current user in evertrace.ai.
Inputs
This tool takes no inputs.
evertrace_searches_signals_listList signals matching a saved search's filters with pagination.Read-onlyList Search Signals
List signals matching a saved search's filters with pagination.
Inputs
idstringrequired- The saved search ID.
limitstring- Number of results per page.
pagestring- Page number for pagination.
evertrace_signals_entriesGet all list entries for a signal.Read-onlyGet Signal List Entries
Get all list entries for a signal. Shows which lists this signal has been added to.
Inputs
idstringrequired- The signal ID.
evertrace_signals_getGet a single talent signal by ID with full profile details including experiences, educations, taggings, views, and screenings.Read-onlyGet Signal
Get a single talent signal by ID with full profile details including experiences, educations, taggings, views, and screenings.
Inputs
idstringrequired- The signal ID to retrieve.
evertrace_signals_listSearch and filter talent signals with pagination.Read-onlyList Signals
Search and filter talent signals with pagination. Returns full signal profiles including experiences, educations, taggings, views, and screenings.
Inputs
agearray- Filter by age range buckets. Valid values: "Below 25", "25 to 29", "30 to 34", "35 to 39", "40 to 44", "45 to 49", "Above 49".
cityarray- Filter by city name (e.g. ["San Francisco"]). Use evertrace_cities_list to search available cities. Prefix with "!" to exclude.
countryarray- Filter by country name (e.g. ["United States"]). Prefix with "!" to exclude.
created_afterstring- Epoch timestamp in milliseconds. Only returns signals discovered after this point.
customer_focusarray- Filter by target market. Valid values: "B2B", "B2C".
education_levelarray- Filter by highest education level. Valid values: "Bachelor", "Master", "PhD or Above", "MBA", "No university degree".
fullnamestring- Free-text search on person name (case-insensitive partial match).
genderarray- Filter by gender. Valid values: "man", "woman".
industryarray- Filter by industry vertical (e.g. ["Technology", "Healthcare"]). Prefix with "!" to exclude.
limitstring- Number of results per page.
originarray- Filter by nationality/origin country (e.g. ["India"]). Prefix with "!" to exclude.
pagestring- Page number for pagination.
past_companiesarray- Filter by past employer using company entity IDs in exe_* format. Use evertrace_companies_list to look up IDs.
past_educationarray- Filter by past education institution using IDs in ede_* format. Use evertrace_educations_list to look up IDs.
profile_tagsarray- Filter by profile background tags. Valid values: "Serial Founder", "VC Backed Founder", "VC Backed Operator", "VC Investor", "YC Alumni", "Big Tech experience", "Big 4 experience", "Banking experience", "Consulting experience".
regionarray- Filter by geographic region or US state (e.g. ["Europe", "California"]). Prefix with "!" to exclude.
scorestring- Minimum score threshold (1–10). Acts as a >= filter.
screened_byarray- Filter by screening status. Use "me", "others", or user IDs. Prefix with "-" to exclude.
sourcearray- Filter by data source name. Values are dynamic per workspace.
time_rangearray- Absolute date range as [from, to] in YYYY-MM-DD format (e.g. ["2026-01-01", "2026-03-01"]). Mutually exclusive with time_relative.
time_relativestring- Relative time window in days from today (e.g. "30", "60", "90") or epoch ms timestamp. Mutually exclusive with time_range.
typearray- Filter by signal type. Valid values: "New Company", "Stealth Position", "Left Position", "Investor Position", "Board Position", "New Position", "Promoted", "New Patent", "New Grant".
evertrace_signals_list_by_linkedin_idGet all signals representing the same person, matched by LinkedIn ID.Read-onlyGet Signals by LinkedIn ID
Get all signals representing the same person, matched by LinkedIn ID. Useful for finding duplicate or historical signals for the same individual.
Inputs
idstringrequired- The signal ID to match LinkedIn ID from.
evertrace_list_entries_createAdd a signal to a list.WriteAdd Signal to List
Add a signal to a list.
Inputs
list_idstringrequired- The list ID to add the signal to.
signal_idstringrequired- The signal ID to add.
evertrace_lists_createCreate a new list.WriteCreate List
Create a new list. Provide user IDs in accesses to share the list with teammates. The creator is automatically granted access.
Inputs
namestringrequired- Name of the new list.
accessesarray- Array of user IDs to share this list with. Pass an empty array for private list.
evertrace_lists_updateRename a list.WriteUpdate List
Rename a list.
- Idempotent
Inputs
idstringrequired- The list ID to update.
namestringrequired- New name for the list.
evertrace_searches_createCreate a new saved search with filters.WriteCreate Saved Search
Create a new saved search with filters. Each filter requires a key, operator, and value. Provide sharee user IDs to share the search with teammates.
Inputs
filtersarrayrequired- Array of filter objects. Each filter has: key (e.g. "country", "industry", "score"), operator (e.g. "in"), and value (e.g. "India").
shareesarrayrequired- Array of user IDs to share this search with.
titlestringrequired- Title of the saved search (max 50 characters).
visited_atnumberrequired- Epoch timestamp in milliseconds for when the search was last visited.
emojistring- Optional emoji for the saved search.
evertrace_searches_duplicateDuplicate a saved search, creating a copy with the same filters and settings.WriteDuplicate Saved Search
Duplicate a saved search, creating a copy with the same filters and settings.
Inputs
idstringrequired- The saved search ID to duplicate.
evertrace_searches_updateUpdate a saved search.WriteUpdate Saved Search
Update a saved search. All fields are optional — only provided fields are changed. If filters are provided, they replace all existing filters. If sharees are provided, they replace the full access list.
- Idempotent
Inputs
idstringrequired- The saved search ID to update.
emojistring- New emoji for the saved search.
filtersarray- Replaces all existing filters. Each filter has: key, operator, value.
shareesarray- Replaces the full sharee list with these user IDs.
titlestring- New title for the saved search (max 50 characters).
visited_atnumber- Epoch timestamp in milliseconds for when the search was last visited.
evertrace_signal_mark_viewedMark a signal as viewed by the current user.WriteMark Signal as Viewed
Mark a signal as viewed by the current user.
Inputs
signal_idstringrequired- The ID of the signal to mark as viewed.
evertrace_signal_screenScreen a signal, marking it as reviewed by the current user.WriteScreen Signal
Screen a signal, marking it as reviewed by the current user. Screened signals are hidden from default views.
Inputs
signal_idstringrequired- The ID of the signal to screen.
evertrace_signal_unscreenUnscreen a signal, making it visible again in default views.WriteUnscreen Signal
Unscreen a signal, making it visible again in default views.
Inputs
signal_idstringrequired- The ID of the signal to unscreen.
evertrace_list_entries_deleteRemove an entry from a list.DestructiveRemove Entry from List
Remove an entry from a list.
- Idempotent
Inputs
entry_idstringrequired- The entry ID to remove.
list_idstringrequired- The list ID.
evertrace_lists_deletePermanently delete a list and all its entries.DestructiveDelete List
Permanently delete a list and all its entries.
- Idempotent
Inputs
idstringrequired- The list ID to delete.
evertrace_searches_deletePermanently delete a saved search.DestructiveDelete Saved Search
Permanently delete a saved search.
- Idempotent
Inputs
idstringrequired- The saved search ID to delete.
No tools match.