[Ids in: companyIds (optional): company id, from search_linkedin_companies → results[].id. Ids out: leads[].linkedinUrl: profile link; leads[].providerId: Sales Navigator id; leads[].salesNavLeadUrl: Sales Navigator lead link; leads[].publicIdentifier: public identifier.]
Pull LinkedIn people matching a filter set — each person returns name, current title & company, headline, location, industry, the LinkedIn profile URL, providerId (feed to get_recent_posts to personalize), salesNavLeadUrl (the InMail-ready URL — pass it, or {profileUrl, providerId}, to add message targets on an InMail campaign), openProfile (true = accepts InMail for free), connectionDegree, sharedConnectionsCount (warm-intro signal), tenureInRole/tenureInCompany (a SHORT tenure means newly in seat — a timing signal for outreach), and pendingInvitation (true = already invited, skip it). Feed the URLs to enrich linkedin urls / enrich profiles for verified emails, or create leads bulk to add them to a campaign. COSTS HeyReagent credits per person returned (0.02 each; counting is free). ALWAYS size first with count_people_sales_navigator, then call this with confirm:false to see the exact credit cost, get the user's yes, THEN confirm:true. Never pull more than the balance covers. Same filters as count_people_sales_navigator (including the company revenue band — check revenueScope.complete), plus limit (default 25, max 100). BUILD A BIG LIST: to go past 100, pass the returned nextCursor back in as `cursor` (same filters, confirm:true) to pull the next batch — repeat until hasMore is false. For a large list, set format:"csv" to get an export-ready CSV block. Present results as a compact table (name / title / company / location) and, when the set is large, offer to (a) keep paging, (b) export to CSV, or (c) pull direct dials + emails via enrich linkedin urls.